Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Delphi - PDFCreator - Ajustes (https://www.clubdelphi.com/foros/showthread.php?t=88768)

shoulder 28-07-2015 23:48:17

Delphi - PDFCreator - Ajustes
 
Por un error mio, entregue a una empresa un programa que funciona si el usuario de la pc es administrador porque setea el pdfcreator. El usuario no tiene permisos para entrar a la registry y cuando va a grabar pide nombre de archivo, lugar.. etc. Hay forma de setear el pdfcreator por codigo aunque sea que me lo grabe en un directorio predeterminado con un nombre generico y despues yo hago un copy o rename? sin pedir nada al usuario o forzar al prg a entrar como administrador sin saber el usuario del mismo.
Les dejo lo que habia hecho y funciona bien como administrador de la pc.

Código Delphi [-]

  Image.SaveToFile('c:\certificacion\'+edit1.text+'\scanner\'+trim(edit1.text)+cambiodia+'_'+inttostr(  cantidad)+'.bmp');



 PrinterIndex := Printer.Printers.IndexOf('PdfCreator');


    with TRegistry.Create do
  try
    NewPath := 'c:\\certificacion\\'+edit1.text+'\\scanner';
    RootKey := HKEY_CURRENT_USER;
    if OpenKey('\Software\PDFCreator.net\settings\ConversionProfiles\0', True) then
    begin
      WriteString('FileNameTemplate',edit1.Text+cambiodia+'_'+inttostr(cantidad));
      WriteString('OpenViewer','False');

    if OpenKey('\Software\PDFCreator.net\settings\ConversionProfiles\0\AutoSave', True) then
     begin
        WriteString('TargetDirectory', NewPath);
        WriteString('Enabled', 'True');
     end;
     CloseKey;
    end;
  finally
    Free;
  end;



     QuickReport1:=TQuickReport1.Create(self);

   quickReport1.Printersettings.printerindex :=  printer.printers.indexof('PDFcreator') ;
   quickreport1.QRImage1.Picture.LoadFromFile('c:\certificacion\'+edit1.text+'\scanner\'+edit1.Text+cam  biodia+'_'+inttostr(cantidad)+'.bmp');


    quickreport1.QRImage1.Repaint;
    quickreport1.print;

Neftali [Germán.Estévez] 29-07-2015 11:47:35

Por lo que yo miré en su día (a no ser que haya cambiado) la única forma era grabando cosas en el registro.
Pero sólo debes hacerlo una vez.

nlsgarcia 29-07-2015 16:03:30

shoulder,

Cita:

Empezado por shoulder
...entregue a una empresa un programa que funciona si el usuario de la pc es administrador...

:rolleyes:

Pregunto : ¿Has considerado que el programa se ejecute automáticamente en modo administrador sin afectar el resto de la sesión en Windows? :confused:

Revisa esta información:
Espero sea útil :)

Nelson.

shoulder 29-07-2015 16:34:46

Pdfcreator
 
Hola Nelson el tema es que un programa central llama a este subprograma que escanea por eso esta dentro del servidor y no como un icono que se vea en cada pc para ejecutar como administrador por eso no ve la Registry, lo resuelvo prefijando el Pdfcreator pero sino uso showmessage me pasa de largo los delete y copy.

nlsgarcia 29-07-2015 17:03:36

shoulder,

Cita:

Empezado por shoulder
...el tema es que un programa central llama a este subprograma que escanea por eso esta dentro del servidor y no como un icono que se vea en cada pc para ejecutar como administrador...

:rolleyes:

Te comento:

1- El código sugerido en el Msg #3, permite ejecutar un programa en modo administrador bajo Windows.

2- En caso de que consideres viable ejecutar dicho programa automáticamente en modo administrador sin afectar el resto de la sesión en Windows, te sugiero revisar dicha información.

3- El problema comentado sobre los ciclos de DeleteFile/CopyFile fue pasado al hilo : Problema con ciclo DeleFile/CopyFile en Delphi (Opción 12 de la Guía de Estilo Estándar)
.

Espero sea útil :)

Nelson.

shoulder 29-07-2015 18:33:27

Pdfcreator
 
Gracias a todos como Administrador funciona perfecto.


La franja horaria es GMT +2. Ahora son las 08:23:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi