ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Selecionando Impressora via Código

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
fe_basso
Profissional
Profissional


Registrado: Segunda-Feira, 17 de Dezembro de 2007
Mensagens: 717

MensagemEnviada: Ter Ago 26, 2008 9:43 am    Assunto: Selecionando Impressora via Código Responder com Citação

Bom dia!!
é o seguinte
tenho duas impressoras em rede e qdo eu vou imprimir e exibo aquela janelinha de gerenciamento de impressoras (do próprio windows) a impressão vai para impressora selecionada certinho, mas qdo não exibo ela e tento selecionar a impressora via código..n funciona !! ela vai sempre para a impressora default.
já tentei estes dois códigos
Código:

Path_Impressora                        := '\\SERVIDOR\EPSONFX-1050'; //Caminho e Nome da Impressora
QR_PEDIDO.Printer.PrinterIndex := printer.Printers.IndexOf(Path_Impressora);


e este que eu peguei em um site
Código:

var Path_Impressora   : String;
     iOldPrinter            : integer;
     iPrinterIndex         : integer;
     FDevice                 : array[0..127] of char;
     FDriver                 : array[0..127] of char;
     FPort                    : array[0..127] of char;
     DeviceMode           : THandle;
begin
     Path_Impressora                        := '\\SERVIDOR\EPSONFX-1050'; //Caminho e Nome da Impressora

     if Path_Impressora = '' then Exit;

     iPrinterIndex := -1;

     for i := 0 to (Printer.Printers.Count - 1) do
          begin
               Printer.PrinterIndex := i;
               Printer.GetPrinter(FDevice, FDriver, FPort, DeviceMode);

               if (UpperCase(Path_Impressora) = UpperCase(StrPas(FDevice))) then
                   begin
                         iPrinterIndex := i; // impressora encontrada
                         Break;
                   end;
          end;


Mas nenhum dos dois funcionou como comentei...sempre envia para impressora que está padrão
Preciso fazer isto via código pois dependendo da situação eu preciso habilitar a janelinha de gerenciamento de impressoras e dependendo não habilita e sim envia direto para impressora X...que obtenho seu diretório e nome via bd
_________________
"Sempre coloque [RESOLVIDO]" nos seus posts

Agradeça a quem lhê ajudou

E faça sempre pelo outros o que você gostaria que fizessem por você
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Ter Ago 26, 2008 10:24 am    Assunto: Responder com Citação

só para testar!!!!


QR_PEDIDO.Printer.PrinterIndex := 1;
compile e teste.

dps tb

QR_PEDIDO.Printer.PrinterIndex := 2;
compile e teste.


veja se muda a impressora.

vc vai dizer: mas assim nao pode ficar!
mas estamos tentando desvendar a falha
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fe_basso
Profissional
Profissional


Registrado: Segunda-Feira, 17 de Dezembro de 2007
Mensagens: 717

MensagemEnviada: Ter Ago 26, 2008 10:36 am    Assunto: Responder com Citação

Amigo obrigado pela ajuda
mas....

Tentei assim
Código:

QR_PEDIDO.Printer.PrinterIndex := 1; // antes de mover 1 para o index...o mesmo estava = 3 .... 3 é a Default.
QR_PEDIDO.PRINT;


e imprimiu na default

dai tentei

Código:

QR_PEDIDO.Printer.PrinterIndex := 2;
QR_PEDIDO.PRINT;


n adiantou nda...imprimiu na default.

dai tentei
Código:

Printer.PrinterIndex                   := 2;
QR_PEDIDO.Printer.PrinterIndex := 2;
QR_PEDIDO.PRINT;


e imprimiu na default !!!!
se continuar assim...vou acabar ficando louco....hahaha impressora of hell hahaha
_________________
"Sempre coloque [RESOLVIDO]" nos seus posts

Agradeça a quem lhê ajudou

E faça sempre pelo outros o que você gostaria que fizessem por você
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
gilsonnrodrigues
Moderador
Moderador


Registrado: Quinta-Feira, 14 de Abril de 2005
Mensagens: 9009
Localização: Governador Valadares-MG

MensagemEnviada: Ter Ago 26, 2008 11:16 am    Assunto: Responder com Citação

estranho cara!!!

eu ja usei isso e funcionou
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fe_basso
Profissional
Profissional


Registrado: Segunda-Feira, 17 de Dezembro de 2007
Mensagens: 717

MensagemEnviada: Ter Ago 26, 2008 11:28 am    Assunto: Responder com Citação

pois é amigo....eu tb nunca vi isso não
A impressora padrão atualmente é um PDFCreator, e msm tentando mover 1,2,3 para o index....ele sempre envia o documento para o pdf

ja nem sei mais o que fazer..
detalhe !!! qdo exibo a janela de gerenciamento das impressoras do windows...ele envia o documento para impressora setada...certinho
será q falta passar algum parametro ainda?
_________________
"Sempre coloque [RESOLVIDO]" nos seus posts

Agradeça a quem lhê ajudou

E faça sempre pelo outros o que você gostaria que fizessem por você
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
fe_basso
Profissional
Profissional


Registrado: Segunda-Feira, 17 de Dezembro de 2007
Mensagens: 717

MensagemEnviada: Qui Ago 28, 2008 2:42 pm    Assunto: Responder com Citação

UP
_________________
"Sempre coloque [RESOLVIDO]" nos seus posts

Agradeça a quem lhê ajudou

E faça sempre pelo outros o que você gostaria que fizessem por você
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB