jo_user Postado Agosto 8, 2007 Denunciar Share Postado Agosto 8, 2007 Pessoal boa tarde, estou com uma dúvida no Quick Report, quando mando para a impressora ele automaticamente envia para LPT1: da minha máquina, é possível direcionar para qual impressora eu desejo enviar LPT2: ou USB? Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Agosto 8, 2007 Denunciar Share Postado Agosto 8, 2007 Pessoal boa tarde, estou com uma dúvida no Quick Report, quando mando para a impressora ele automaticamente envia para LPT1: da minha máquina, é possível direcionar para qual impressora eu desejo enviar LPT2: ou USB?jo_user, normalmente o quick utiliza a impressora padrão.No preview você pode alterar a impressora destino através do botão de configuração da impressão.Se for para alterar a impressora programaticamente, também dá. O que você quer realmente? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jo_user Postado Agosto 9, 2007 Autor Denunciar Share Postado Agosto 9, 2007 Bom dia, o que eu gostaria era que o programa direcionasse a impressora, porque senão o programa fica restrito a impressora padrão. Obrigado. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kartter Postado Agosto 9, 2007 Denunciar Share Postado Agosto 9, 2007 você pode aterar sua imp. padrão de acordo com a sua escolha.Utilize o seguinte código p/ alterá-la:procedure MudaImpressora(index: integer); var szPrinterName, szIniInfo, szSection: PChar; begin try GetMem(szPrinterName, SizeOf(Char) * 256); GetMem(szIniInfo, SizeOf(Char) * 256); GetMem(szSection, 10); if (Pos(' on ', Printer.Printers[index]) = 0) then StrPCopy(szPrinterName, Copy(Printer.Printers[index], 1, Length(Printer.Printers[index]))) else StrPCopy(szPrinterName, Copy(Printer.Printers[index], 1, Pos(' on ', Printer.Printers[index]) - 1 )); GetProfileString('DEVICES', szPrinterName, nil, szIniInfo, 254); if szIniInfo^ <> #0 then begin StrCat(szPrinterName, ','); StrCat(szPrinterName, szIniInfo); WriteProfileString('Windows', 'DEVICE', szPrinterName); StrCopy(szSection, 'Windows'); PostMessage(HWND_BROADCAST, WM_WININICHANGE, 0, LongInt(szSection)); end; FreeMem(szPrinterName, SizeOf(Char) * 256); FreeMem(szIniInfo, SizeOf(Char) * 256); FreeMem(szSection, 10); except on E: EOutOfMemory do ShowMessage(E.Message); on E: EInvalidPointer do ShowMessage(E.Message); end; end; O valor que é passado como parametro p/ o procedimento, se refere ao índice da impressora. você pode obter a lista de suas impressoras, c/ seu respectivo índice utilizando o código abaixo: function slListaImpressoras: TStringList; var i: Integer; slTmp: TStringList; begin slTmp := TStringList.Create; for i := 0 to Pred(Printer.Printers.Count) do slTmp.Add(Printer.Printers[i]); Result := slTmp; end;Falow!! Kartter Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jo_user Postado Agosto 9, 2007 Autor Denunciar Share Postado Agosto 9, 2007 Obrigado pela ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Micheus Postado Agosto 9, 2007 Denunciar Share Postado Agosto 9, 2007 kartter, parece-me que este procedimento altera a impressora padrão do Windows, ou seja, para todos os aplicativos.Se o jo_user, quiser mudar apenas a do QuickReport, o caminho é um pouco diferente. Para ele a "informação" está em QRPrinter (se não me engano)Abraços Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jo_user
Pessoal boa tarde, estou com uma dúvida no Quick Report, quando mando para a impressora ele automaticamente envia para LPT1: da minha máquina, é possível direcionar para qual impressora eu desejo enviar LPT2: ou USB?
Obrigado.
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.