Fórum Impressão Matricial em Rede #290794

04/08/2005

0

Olá galera !!!!

Tenho uma aplicacao que imprime via rede em impressora matricial...

uso o seguinte comando


AssingFile(s,´Lpt1´);

Em painel de controle ( Impressora ) tenho que capturar a porta para funcionar, so que isto tem me causado serios problemas...

alguem tem alguma dica de como melhorar isso..

grato..

Robson.


Robsons

Robsons

Responder

Posts

04/08/2005

Cesarpir

Amigo eu faço assim:

1º) Compartilhe as impressoras que deseja, porém na hora de informar o nome do compartilhamento coloque nome com até 8 digitos;
2º) Acrescente a clausula Printers no Uses, e tb acrescente um combobox com o name de CImp no seu form de impressão declare uma procedure CarregaImpressoras, e codifique crie um procedimento assim:

procedure TForm1.CarregaImpressoras;
var I : Integer;
begin
CImp.Items.Clear;
CImp.Items.Add(´LPT1´);
for I:= 1 to Printer.Printers.Count do Begin
if Pos(´LPT´, printer.Printers.Strings[I-1]) > 0Then
CImp.Items.Add(´LPT1´)
else if Pos(´\´, printer.Printers.Strings[I-1]) > 0 Then
CImp.Items.Add(Copy(printer.Printers.Strings[I-1],
Pos(´\´, printer.Printers.Strings[I-1]),
length(printer.Printers.Strings[I-1]) -
Pos(´\´, printer.Printers.Strings[I-1]) + 1));
end;
CImp.ItemIndex := 0;
end;

3º) No evento onshow do seu form chame o procedimento:

CarregaImpressoras;

4º) No código de impressão fica assim:

AssignFile(F,cArq);
Rewrite(F);

Bom é só testar pelo menos comigo funciona, se existe uma forma mais simples admito que nunca procurei saber, ah não se esqueça de que o nome de compartilhamento e tb por desencargo de consciência após adicionar a impressora o nome tb ok, e não precisa capturar porta.
A intenção que no combobox liste todas as impressoras que estiverem compartilhadas no micro e LPT1 para a impressora local.

Espero que ajude

César


Responder

Gostei + 0

04/08/2005

Cesarpir

opa amigo o codigo de impressão fica assim:

AssignFile(F,cImp.text);
Rewrite(F);

Perdão :oops:

César


Responder

Gostei + 0

09/08/2005

Robsons

funcionou.....

obrigado...


Responder

Gostei + 0

09/08/2005

Guilherme

so que impressoras mapeadas nao vao funcionar !!!! tipo a impressora mapeada assim ´lpt´ nao imprime na propriedade ports tem ki tar o local da rede tipo ´\\servidor\epsonlx-´


Responder

Gostei + 0

09/08/2005

Cesarpir

Amigo desculpa num entendi, como assim impressoras mapeadas, eu utilizo assim a um bom tempo, eu adiciono LPT1 manualmente para o usuário imprimir na impressora local, e o for seleciona as impressora mapeadas inclusive com o caminho \\Servidor\Epson por exemplo, tive problemas quando o nome é maior que 8 caracteres, ai sim, se não funciona como então ? Se existe uma outra forma e que seja mais facil disponibiliza ai.

César


Responder

Gostei + 0

10/08/2005

Edilcimar

o problema que o gborges falou só é válido com o windows xp, se vc mapear a impressora via windows, na hora de imprimir de uma estação onde nao tem impressora, dá erro vc tem que mapear via DOS utilizando net print


Responder

Gostei + 0

10/08/2005

Cesarpir

Bom gente o fato que uso assim não tenho problemas nenhum, com certeza vcs sabem o que estão falando, mas eu particularmente nunca não vejo problemas, eu uso assim em clientes que tem xp, 98 e 2000 na mesma rede, uso o compartilhamento pelo assistente do windows, sem net use ou net print que edicilmar comentou, e tá funcionando a mais de 3 anos, tive problemas repito quando ao nome do compartilhamento passar de 8 caracteres, ai sim. Mas enfim contornei o problema.

Até mais

César


Responder

Gostei + 0

10/08/2005

Dopi

Acho que usando LPT1 vc não conseguirá imprimir em impressoras USB localmente, ou seja, na máquina que ela está instalada...


Responder

Gostei + 0

10/08/2005

Cesarpir

Veja bem Dopi, eu somente uso impressão diretamente para a impressora para notas fiscais, boletos, etc. Este tipo de relatório quando é para matriciais, agora se existe matricial usb, desculpe eu não conheço.
Quando tenho que fazer relatórios com gráficos, imagens, enfim mais complicados uso o fortes report e ai tudo bem.

César


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar