Selecionar impressora via comando tem como?

Delphi

17/12/2004

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

Curtidas 0

Respostas

Khundalini

Khundalini

17/12/2004

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


GOSTEI 0
Marcusbraga

Marcusbraga

17/12/2004

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;


GOSTEI 0
POSTAR