 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
Marcelosoft Mestre

Registrado: Domingo, 21 de Janeiro de 2007 Mensagens: 862
|
Enviada: Ter Mai 28, 2013 1:14 am Assunto: [RESOLVIDO] Problema na Impressão - Delphi 5 - Paradox |
|
|
Agradeço desde já a quem puder me ajudar !
Tenho este código abaixo, o mesmo se encontra correto só que o cliente está reclamando que está muito lento para imprimir e para no meio !
Gostaria de saber o que posso fazer para melhorar a velocidade ao imprimir pois estes codigos abaixo são para Imprimir a 2a. via.
Att,
Marcelo.
Código: | var
F : TextFile;
begin
if TerminalSel='01' then {Micro 01}
AssignFile(F,'COM1')
else if TerminalSel='02' then {Micro 02}
{AssignFile(F,'\\Balcao1\EpsonBalcao1')}
AssignFile(F,'\\Servidor\EPSONLXSERVIDOR');
ReWrite(F);
With DataModule1 Do
Begin
If TabMovBalEntrega.Active Then
TabMovBalEntrega.Close;
TabMovBalEntrega.IndexName:='PorNr_Pedido';
TabMovBalEntrega.Open;
TabMovBalEntrega.First;
Begin
WriteLn(F,#27#15+'MINA DAGUA - DISTRIBUIDORA DE AGUA MINERAL');
WriteLn(F,#27#15+'Rua:'+ ' '+ 'SILVA JARDIM, 261' + ' ' + 'SANTOS/SP');
WriteLn(F,#27#15+'Bairro:'+ ' ' + 'ESTUARIO');
WriteLn(F,#27#15+'Tel.: (013) 3232-5917 / 3222-3348');
WriteLn(F,#27#15+'Cnpj:' + ' ' + '58.216.201/0001-00');
WriteLn(F,'-------------------------------------------------');
WriteLn(F,'Cod. Produto');
WriteLn(F,'Descr. Produto');
WriteLn(F,' Valor Unit' + ' ' + 'Qtd' + ' ' + 'SubTotal');
WriteLn(F,'-------------------------------------------------');
If not TabMovBalEntrega.FindKey([NrVenda_2aVia.Text]) Then
Begin
ShowMessage('Nº de Venda Não Encontrada !');
NrVenda_2aVia.Clear;
NrVenda_2aVia.SetFocus;
Abort;
End
Else
If TabMovBalEntrega.FindKey([NrVenda_2aVia.Text]) Then
Begin
TabMovBalEntrega.Filtered := False;
TabMovBalEntrega.Filter := 'Nr_Pedido ='+QuotedStr(NrVenda_2aVia.Text);
TabMovBalEntrega.Filtered := True;
While not TabMovBalEntrega.Eof Do
Begin
WriteLn(F,TabMovBalEntrega.FieldByName('Cod_Prod').AsString);
WriteLn(F,TabMovBalEntrega.FieldByName('Descr_Produto1').AsString);
WriteLn(F,' ' + FormatFloat('###0.00',TabMovBalEntrega.FieldByName('Valor_Produto1').AsFloat) + ' ' + TabMovBalEntrega.FieldByName('Qtd1').AsString + ' ' + FormatFloat('###0.00',TabMovBalEntrega.FieldByName('Sub_Total').AsFloat));
Try
TabMovBalEntrega.Next;
Except
ShowMessage('Atenção !!!... Código nº 05 - Favor Entrar em Contato com a Marques e Ferreira !');
End;
End;
WriteLn(F,'--------------------------------------------------');
WriteLn(F,#27#15+' No. Venda:' + ' ' + TabMovBalEntrega.FieldByName('Nr_Pedido').AsString + ' ' + 'Data:' + ' ' + TabMovBalEntrega.FieldByName('Dt_Entr').AsString + ' ' + 'Hora:' + ' ' + TabMovBalEntrega.FieldByName('Hr_Entr').AsString);
WriteLn(F,'--------------------------------------------------');
WriteLn(F,'Tipo Pagto:' + ' ' + TabMovBalEntrega.FieldByName('Tipo_Pgto').AsString + ' ' + 'Vendedor:' + ' ' + TabMovBalEntrega.FieldByName('Func').AsString);
WriteLn(F,' Total :' + ' ' + Label2.Caption);
WriteLn(F,'--------------------------------------------------');
WriteLn(F,'Venc. Gl. P/ Entrega:' + ' ' + TabMovBalEntrega.FieldByName('Venc_Gl2010').AsString + ' ' + TabMovBalEntrega.FieldByName('Venc_Gl2011').AsString + ' ' + TabMovBalEntrega.FieldByName('Venc_Gl2012').AsString + ' ' + TabMovBalEntrega.FieldByName('Venc_Gl2013').AsString + ' ' + TabMovBalEntrega.FieldByName('Venc_Gl2014').AsString);
WriteLn(F,'--------------------------------------------------');
WriteLn(F,'Nome.......:' + ' ' + TabMovBalEntrega.FieldByName('Nome').AsString);
WriteLn(F,'End........:' + ' ' + TabMovBalEntrega.FieldByName('End').AsString);
WriteLn(F,'Tel........:' + ' ' + TabMovBalEntrega.FieldByName('Fone').AsString);
WriteLn(F,' Volte Sempre !');
WriteLn(F,' Grato pela Preferencia !');
WriteLn(F);
WriteLn(F);
WriteLn(F,'Obs:' + ' ' + TabMovBalEntrega.FieldByName('Obs_Movto').AsString);
WriteLn(F);
WriteLn(F);
WriteLn(F);
WriteLn(F);
WriteLn(F);
WriteLn(F);
WriteLn(F);
WriteLn(F);
WriteLn(F);
CloseFile(F);
End;
End;
TabMovBalEntrega.Filtered := False;
NrVenda_2aVia.Clear;
NrVenda_2aVia.SetFocus;
Label2.Caption:='0,00';
TabMovBalEntrega.Close;
End;
end;
[quote][/quote] |
Editado pela última vez por Marcelosoft em Sáb Jun 22, 2013 11:25 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
Caduzera Profissional

Registrado: Terça-Feira, 29 de Julho de 2008 Mensagens: 656
|
Enviada: Ter Mai 28, 2013 9:19 am Assunto: |
|
|
Amigo, aparentemente não tem motivos deste código ficar lento ....
Ele é bem simples e possui apenas um Loop ...
Você já testou a impressão em outras impressoras? Viu se o sistema não está gerando uma exceção durante a impressão? A aplicação trava ou o sistema apenas para de imprimir na metade?
Abs |
|
Voltar ao Topo |
|
 |
pepis Membro Junior


Registrado: Segunda-Feira, 16 de Outubro de 2006 Mensagens: 331 Localização: Ceará
|
Enviada: Ter Mai 28, 2013 9:52 am Assunto: |
|
|
Amigo esse TabMovBalEntrega acredito q seja uma Table, se o DataSource dessa tabela tiver ligado algum grid, vc pode fazer o seguinte: TabMovBalEntrega.DisableControls no inicio e TabMovBalEntrega.EnableControls no final, assim evita os registros passando no grid. No meu caso ganhei um pouco mais de desempenho. |
|
Voltar ao Topo |
|
 |
CENTURYINF Membro Junior

Registrado: Sexta-Feira, 19 de Fevereiro de 2010 Mensagens: 364
|
Enviada: Ter Mai 28, 2013 11:08 am Assunto: |
|
|
Ola amigo
Ja tive este problema de parada na impressao com om Winxp,
para impressoras matriciais...
não me lembro o comando que utilizei para resolver, verifique no manual
da epson, ao final da impressão, eu enviava um reset na impressora
e passou a funcionar...
espero que ajude |
|
Voltar ao Topo |
|
 |
Marcelosoft Mestre

Registrado: Domingo, 21 de Janeiro de 2007 Mensagens: 862
|
Enviada: Ter Mai 28, 2013 11:48 am Assunto: |
|
|
Pior que uso a DR700 da Daruma e é impressora térmica !
Não uso DBGrida neste caso que tiro a 2a. via !
Será que não é porque o banco de dados está grande ? Eu uso o Paradox !
Att.
Marcelo. |
|
Voltar ao Topo |
|
 |
CENTURYINF Membro Junior

Registrado: Sexta-Feira, 19 de Fevereiro de 2010 Mensagens: 364
|
Enviada: Ter Mai 28, 2013 11:59 am Assunto: |
|
|
Bom,
vai uma sugestão, depois vc analiza melhor
eu tenho um cliente com + ou - 20.0000 registros em uma tabela
para agilizar dou um findkey com o nr da parcela para localizar rapidamente
apos dar um click no grid, copio o registro para um arquivo temporario,
com a estrutura igual do arquivo principal, e faço a impressão a partir
deste arquivo temporario.
faço isso porque tenho varios PC,s imprimindo o recibo ao mesmo tempo,
em impressoras individuais nos terminais, portanto tenho um arquivo temporario em cada pc. |
|
Voltar ao Topo |
|
 |
Marcelosoft Mestre

Registrado: Domingo, 21 de Janeiro de 2007 Mensagens: 862
|
Enviada: Ter Mai 28, 2013 12:01 pm Assunto: |
|
|
Boa já tinha pensado nisso !
Pois faço isso nas vendas que as vendas imprimem rápido que o cliente fica surpreso !
Obrigado, vou fazer isso então !
Att,
Marcelo. |
|
Voltar ao Topo |
|
 |
Leandro_Cardoso Novato


Registrado: Segunda-Feira, 27 de Mai de 2013 Mensagens: 38 Localização: Porto Alegre
|
Enviada: Ter Mai 28, 2013 12:05 pm Assunto: |
|
|
Ja tive este tipo de problema também, e como um dos amigos comentou, o problema era na impressora mesmo, porém era conexão em porta paralela, e pelo que vi no seu caso é porta COM _________________ Leandro Cardoso
www.dsinf.com.br |
|
Voltar ao Topo |
|
 |
Marcelosoft Mestre

Registrado: Domingo, 21 de Janeiro de 2007 Mensagens: 862
|
Enviada: Ter Mai 28, 2013 12:58 pm Assunto: |
|
|
É uso porta COM !
Mas pq a USB é mais rápida ?
Ou depende do micro ou tem q fazer limpeza nele, se for limpeza já foi feita e continua a lentidão !
Sempre que der isso então é pq é porta COM1 ?
Att,
Marcelo. |
|
Voltar ao Topo |
|
 |
Marcelosoft Mestre

Registrado: Domingo, 21 de Janeiro de 2007 Mensagens: 862
|
Enviada: Ter Mai 28, 2013 1:09 pm Assunto: |
|
|
Começa a imprimir e qdo chega na Descrição do Produto para e qdo fecha o software começa a imprimir o restante !
Pq isso ?
Att,
Marcelo. |
|
Voltar ao Topo |
|
 |
Marcelosoft Mestre

Registrado: Domingo, 21 de Janeiro de 2007 Mensagens: 862
|
Enviada: Qui Mai 30, 2013 11:03 pm Assunto: |
|
|
Começa a imprimir e qdo chega na Descrição do Produto para e qdo fecha o software começa a imprimir o restante !
Pq isso ?
Att,
Marcelo. |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|