Porta da impressora
15/02/2006
0
Gostaria de saber como pegar a porta de uma impressora instalada.
Sei q para listar as impressoras instaladas faço o seguinte:
ListBox1.Items := Printer.Printers;
E para pegar a porta de cada uma??
Agradeço a ajuda de todos.
Abraços
Aloizio Castro
Posts
15/02/2006
Massuda
15/02/2006
Leonardobhbr
15/02/2006
Aloizio Castro
Tive soh um problema....
Eu usava o seguinte codigo
function TFMainView.GetPortToPrint(Prntr: TPrinter; Index: Integer): String; begin if Pos(´LPT´, printer.Printers.Strings[Index]) > 0 Then Result := ´LPT1´ else if Pos(´\\´, printer.Printers.Strings[Index]) > 0 Then Result := Copy(printer.Printers.Strings[Index], Pos(´\\´, printer.Printers.Strings[Index]), length(printer.Printers.Strings[Index]) - Pos(´\\´, printer.Printers.Strings[Index]) + 1); end;
E isto me retornava perfeitamente o caminho das impressoras de rede ([i:374c6d922d]como exemplo ´\\servidor\lx-300´[/i:374c6d922d]).
Mas isto acontecia pq eu pegava o nome da impressora atraves do metodo:
Printer.Printers.Strings[Index]
e isto me retornava somente o nome [b:374c6d922d]\\Servido\LX-300[/b:374c6d922d].
Agora com as funçoes indicadas, eu recebo o retorno [b:374c6d922d]\\Servido\LX-300 on LPT1[/b:374c6d922d].
Sei q posso dar prioridade a verificar primeiro se existe [b:374c6d922d]\\[/b:374c6d922d] no nome da impressora para verificar se ela estah na rede, e caso o contrario, eu verifico o q vem apos a string [b:374c6d922d]on[/b:374c6d922d].
Bem acho q isto resolverá o meu problema, mas gostaria de ter uma ultima opniao sua Massuda.
Seria possivel???
Desde jah sou muito grato...
Abraços
15/02/2006
Massuda
15/02/2006
Aloizio Castro
Vou dar o assunto por encerrado e agradecer a atenção recebida...
Qq problema, poh deixar q eu grito (^.^)
Abraços
Clique aqui para fazer login e interagir na Comunidade :)