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...
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
Curtir tópico
+ 0
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
[]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;
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
Clique aqui para fazer login e interagir na Comunidade :)