Selecionar impressora via comando tem como?
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...
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
Curtidas 0
Respostas
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
[]s
Rubem Rocha
Manaus, AM
GOSTEI 0
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;
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