Fórum Impressão direto na porta muito lenta! #277157
14/04/2005
0
Estou usando a rotina para impressão direto na porta (porta LPT1, assignfile, writeln e etc...), para uma impressora matricial da Bematech, e no Win98 a rotina fica lenta demais! Já no Win2K e no WinXP ela imprime normalmente...
Alguém sabe o que pode estar acontecendo?
Kenji_rh
Curtir tópico
+ 0Posts
14/04/2005
Edilcimar
Gostei + 0
14/04/2005
Cabelo
Eu resolví da seguinte maneira..
Como vc utiliza direto na porta, ele possui um buffer de armazenamento, então eu pego toda a string do relatório e divido ela em partes de 255 caracteres cada, e para cada uma dessas partes, faço um for enviando byte a byte os dados para a porta, e por fim dou um comendo para impressão, com um relatório muito pesado e cheio de dados, esta impressão demora menos de 1s. :D
Acredito que deve acontecer com vc tb.
Gostei + 0
14/04/2005
Kenji_rh
A impressora está no mesmo computador onde imprimo!
Gostei + 0
14/04/2005
Edilcimar
Gostei + 0
14/04/2005
Kenji_rh
:oops:
Desculpe a minha ignorância, mas como mandarei a string byte a byte? Algo como usar o write(f,String[i])?
Gostei + 0
14/04/2005
Cabelo
Colega...
Pode ser assim..
mas não precisa chamar nenhuma função, pois a string é tb um ponteiro do tipo char, pode usar assim
for v_i := 0 to length(string) - 1 do
begin
porta := string[v_i];
end;
espero ter ajudado.
Gostei + 0
14/04/2005
Massuda
Gostei + 0
14/04/2005
Cabelo
Massuda..
Não foi o que nosso amigo nos informou....
´Estou usando a rotina para impressão direto na porta ´
Gostei + 0
14/04/2005
Massuda
Desculpe-me se eu estiver enganado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)