Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Como setar outra impressora em runtime?


Question

Bom dia. Em VCL com essa rotina seta outra impressora passando o nome como parâmetros.

Printer.PrinterIndex := -1;
   For I := 0 to Printer.printers.Count-1 do begin
      If LowerCase(Printer.Printers[i]) = Lowercase(PrinterName) then begin
         //Altera a classe printer padrão
         if ( Printer.PrinterIndex <> i ) then begin
            Printer.PrinterIndex := i;
         end;

         //Altera a classe printer do FastReport
         frxPrinters.FillPrinters;
         frxPrinters.PrinterIndex := frxPrinters.Printers.IndexOf(PrinterName);

         exit;
      end;
   End;

Preciso fazer o mesma rotina só que em FMX. Algum exemplo de como fazer isso?

Fico no aguardo.

Obrigado. 

Link to post
Share on other sites

11 answers to this question

Recommended Posts

  • 0
15 minutos atrás, Jhonas disse:

Primeiramente obrigado pelo retorno.

Esse exemplo não serve pra mim.

Referente o fonte 

Printer.PrinterIndex := -1;
   For I := 0 to Printer.printers.Count-1 do begin
      If LowerCase(Printer.Printers[i]) = Lowercase(PrinterName) then begin
         //Altera a classe printer padrão
         if ( Printer.PrinterIndex <> i ) then begin
            Printer.PrinterIndex := i;
         end;

         //Altera a classe printer do FastReport
         frxPrinters.FillPrinters;
         frxPrinters.PrinterIndex := frxPrinters.Printers.IndexOf(PrinterName);

         exit;
      end;
   End;

eu preciso que funcione em FMX(Firemonkey).

 

A ideia é o seguinte. Na minha maquina possui varias impressoras instalada(IMP1,IMP2 e IMP3), Nessa procedure passo nome de qual impressora desejo imprimir...

No VCL esse fonte acima funciona normal mas em FMX(Firemonkey) não funciona, preciso "migrar para FMX".

Você tem alguma solução?

Fico no aguardo.

Obrigado.

Link to post
Share on other sites
  • 0
  • 0

Esse exemplo são uteis para quem precise trabalhar com fastReport. Mas no meu caso não deu certo ainda. 

Preciso Migrar de vcl para fmx o seguinte trecho
Printer.PrinterIndex := -1;
   For I := 0 to Printer.printers.Count-1 do begin
      If LowerCase(Printer.Printers[i]) = Lowercase(PrinterName) then begin
         //Altera a classe printer padrão
         if ( Printer.PrinterIndex <> i ) then begin
            Printer.PrinterIndex := i;
         end;

 

Link to post
Share on other sites
  • 0
2 horas atrás, Jhonas disse:

Esse exemplo são uteis para quem precise trabalhar com fastReport. Mas no meu caso não deu certo ainda. 

Preciso Migrar de vcl para fmx o seguinte trecho
Printer.PrinterIndex := -1;
   For I := 0 to Printer.printers.Count-1 do begin
      If LowerCase(Printer.Printers[i]) = Lowercase(PrinterName) then begin
         //Altera a classe printer padrão
         if ( Printer.PrinterIndex <> i ) then begin
            Printer.PrinterIndex := i;
         end;
Link to post
Share on other sites
  • 0

voce leu a nota ?

As a note: I'd remove the VCL prefix from your references; it means your code won't be available across platforms. If you just make sure that Printers is in your uses clause, you can use just Printers.Printer, and changing the target platform (VCL Win32/64, FMX 32/64, OSX) will adjust the uses clause for you based on the build configuration.

ou então veja no site da Embarcadero

http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Printer.Win.TPrinterWin.SetDefaultPrinter

abraço

Link to post
Share on other sites
  • 0
46 minutos atrás, Jhonas disse:

voce leu a nota ?

As a note: I'd remove the VCL prefix from your references; it means your code won't be available across platforms. If you just make sure that Printers is in your uses clause, you can use just Printers.Printer, and changing the target platform (VCL Win32/64, FMX 32/64, OSX) will adjust the uses clause for you based on the build configuration.

ou então veja no site da Embarcadero

http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Printer.Win.TPrinterWin.SetDefaultPrinter

abraço

Não estou conseguindo.

Estou usando:

Delphi berlin.

Projeto criado em "Multi-Device application".

(Se fosse em VCl os exemplo passado funciona normal, mas em Multi-Device application que estou tendo dificuldades).

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148861
    • Total Posts
      644858
×
×
  • Create New...