rodrigom 0 Denunciar post Postado Junho 14, 2005 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
thalesoli 0 Denunciar post Postado Junho 16, 2005 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