Fórum Selecionar impressora via comando tem como? #262533

17/12/2004

0

E ai amigos,
minha duvida é o seguinte, no meu aplicativo uso dois tipos de configuração de impressora uma pra cheques e outra pra relatórios ´tamanhos diferentes de papel´,
existe alguma forma de eu pré selecionar a impressora via comando sem o usuario ter que abrir a caixa de seleção?


delphi 7.0 e firebird

desde já agradeço...


Marcusbraga

Marcusbraga

Responder

Posts

18/12/2004

Khundalini

Companheiro, ñ existe isso que vc quer. O usuário tem que mesmo selecionar a impressora que tem que imprimir. Uma outra alternativa seria vc configurar em um .INI, ou dentro do registry do Windows, os caminhos default para as impressões diferencias que vc tem que fazer na sua aplicação.

[]s
Rubem Rocha
Manaus, AM


Responder

Gostei + 0

18/12/2004

Marcusbraga

Esse procedimento muda o a impressora padrao, sendo assim
toda vez que eu for imprimir um relatorio eu mudo antes a impressora
padrão fazendo com que fique pre selecionada a impressora que eu quero
apos a impressao eu volto a impressora padrao original...



procedure mudaimpressoraPadrao(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[i] = 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;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar