Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rodrigom

Configurar programa p/ trabalhar com 2 impressoras

Recommended Posts

Boa noite galera!Estou com um problemão.Estou desenvolvendo um programa que irá imprimir carteiras em pvc para meus clientes. Só que obviamente o sistema tb imprimi relatórios. Como eu poderia parametrizar as impressoras no meu sistema de tal forma que ao enviar uma impressão de carteirinha, o sistema já mande a impressão para a impressora própria de carteira, e quando for um relatório, o sistema já mande a impressão para uma jato de tinta ou laser???Eu já vi sistemas funcionando dessa forma porém ñ sei como fazer!!Desde já agradeço o help!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce poderia ter um arquivo de configuração no qual nele voce colocaria o caminho ou nome da impressora para cada situacao.

entao a funcao abaixo você pode selecionar pelo nome qual você deseja imprimir

 

espero ter ajudado

 

falow

 

//funcao

 

procedure SetDefaultPrinter(PrinterName: String);

var

I: Integer;

Device : PChar;

Driver : Pchar;

Port : Pchar;

HdeviceMode: Thandle;

aPrinter : TPrinter;

begin

Printer.PrinterIndex := -1;

getmem(Device, 255);

getmem(Driver, 255);

getmem(Port, 255);

aPrinter := TPrinter.create;

for I := 0 to Printer.printers.Count-1 do

begin

if Printer.printers = PrinterName then

begin

aprinter.printerindex := i;

aPrinter.getprinter

(device, driver, port, HdeviceMode);

StrCat(Device, ',');

StrCat(Device, Driver );

StrCat(Device, Port );

WriteProfileString('windows', 'device', Device);

StrCopy( Device, 'windows' );

SendMessage(HWND_BROADCAST, WM_WININICHANGE,

0, Longint(@Device));

end;

end;

Freemem(Device, 255);

Freemem(Driver, 255);

Freemem(Port, 255);

aPrinter.Free;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.