Fórum Impressora Padrão #220386
16/03/2004
0
Estou querendo escolher a impressora que será impresso o relatório do RAVE.
Já tentei indexar o Printer, mas não deu certo, o relatório persiste em imprimir no driver principal da impressora.
fiz o seguinte código para listar dentro de um combobox , todas as impressoras instaladas na máquina, escolhe a impressora , só que na hora de imprimir ela enviar para impressora definida como padrão.
este código é para carregar as impressoras no combobox.
for I := 0 to Printer.printers.Count-1 do ComboBox1.Items.Add(Printer.Printers[I]);
ComboBox1.ItemIndex:=printer.PrinterIndex;
e depois indexei mas constinua a imprimir os relatórios na impressora padrão!
Printer.PrinterIndex:=ComboBox1.ItemIndex;
dm.Rave.ProjectFile:=´relatorio´;
dm.RaveSys.SystemSetups:=[];
dm.Rave.ExecuteReport(´Report1´);
Carlosceuma
Curtir tópico
+ 0Posts
16/03/2004
Vinicius2k
É necessário forcar a instância de TPrinter a receber a impressora selecionada, veja o código...
[coide]procedure SetarImpressora;
var Device, Driver, Port : array[0..255] of char;
hDMode : THandle;
begin
try
Printer.GetPrinter(Device, Driver, Port, hDMode);
finally
GlobalUnlock(hDMode);
end;
end;
acredito que a chamada a esta procedure após a atribuição do índice irá resolver seu problema... eu trabalho desta forma diretamente com o TPrinter, chamo este código após o retorno true do método Execute do TPrintDialog, mas acredito que funcione da mesma forma...
espero ter ajudado...
Gostei + 0
16/03/2004
Carlosceuma
Valeu pela dica, servirá quando elaborar relatório simple e direto a impressora, mas por enquanto, estou utilizando o RAVE Report e já encontrei a solução. Utilizei o Componente RvNDRWriter1 que tem
como propriedade PrinterIndex.
Ficou ótimo:
a linha que utilizei foi esta:
RvNDRWriter1.PrinterIndex:=ComboBox1.ItemIndex;
após ter listados no combobox as impressoras disponíveis.
Ainda sim, agradeço de montão a sua ajuda, assim espero ajuda-lo.
Antonio Carlos
acf.slz@globo.com
Gostei + 0
16/03/2004
Vinicius2k
fica valendo como conhecimento adicional...
T+
Gostei + 0
25/05/2004
Emir Neto
Gostei + 0
25/05/2004
Fabio.hc
declara a unit:
uses Printers
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)