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 

problema ao imprimir em 40 colunas

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


Registrado: Terça-Feira, 25 de Mai de 2004
Mensagens: 578

MensagemEnviada: Qua Set 12, 2012 2:57 pm    Assunto: problema ao imprimir em 40 colunas Responder com Citação

meu problema e o seguinte :
tenho um cliente q usa uma impressora daruma dr700 (nao fiscal) e nela sao impressas as vendas da seguinte forma :
Código:
////onde local de impressao e ='\\servidor\daruma'
/// e no pc esta devidamente configurado o nome da impressora como daruma no compartilhamento e o nome do pc como servidor.
/// outro detalhe e que nao esta em rede , ou seja o computador de nome servidor e onde esta a impressora
//IMPRESSAO///////////////////////////////////////////////////////////
AssignFile(IMPRESSORA,localimpressao);
Rewrite(IMPRESSORA);
Write(IMPRESSORA);
Writeln(impressora);
Write(impressora,#27#70+#27#20);
Write(impressora,#27#70+#27#15);
write(impressora,#27#70+#27#15);
Writeln(Impressora,#27#14+'        '+mnome);
Write(impressora,#27#70+#27#20);
Write(impressora,#27#70+#27#20);
Write(impressora,#27#70+#27#15);

Writeln(Impressora,'         '+mendereco);
Writeln(impressora,mcidade+'  Telefone  : '+mtelefone);
Write(impressora,'Data : ');
Write(impressora,alinhadireita(DatetoStr(Date),10));
Write(impressora,alinhadireita('Hora :',31));
Writeln(impressora,alinhadireita(timetoStr(time),12));
Writeln(impressora,'------------------------------------------------------------');
Write(impressora,AlinhaEsquerda('Cliente  :',11)+' '+ Alinhaesquerda(formrelorca.simpledataset1.fieldbyname('cliente').asstring, 32));
Writeln(impressora,AlinhaEsquerda('Codigo :',10)+' '+ Alinhaesquerda(inttostr(formrelorca.simpledataset1.fieldbyname('codigo').asinteger), 5));
Write(impressora,alinhaesquerda('Vendedor :',11)+' '+ Alinhaesquerda(formrelorca.simpledataset1.fieldbyname('vendedor').asstring, 30));
Writeln(impressora,alinhadireita('Venda  :',10)+' '+ Alinhaesquerda(inttostr(formrelorca.simpledataset1.fieldbyname('num_resumo').asinteger), 5));
Writeln(impressora,'------------------------------------------------------------');
Writeln(impressora,'Codigo    Descricao                    Numero/Quant.   Valor' );
Writeln(impressora,'------------------------------------------------------------');
Formrelorca.simpledataset2.first;
 WHILE NOT Formrelorca.simpledataset2.EOF DO BEGIN
Write(impressora,alinhaesquerda(INTTOSTR(FORMRELorca.simpledataset2.fieldbyname('codigo').AsINTEGER),10));
Write(impressora,alinhaesquerda(FORMRELorca.simpledataset2.fieldbyname('nome').Asstring,34));
Write(impressora,alinhaesquerda(FORMRELorca.simpledataset2.fieldbyname('cabecario').Asstring,3));
Write(impressora,alinhaESQUERDA(INTTOSTR(FORMRELorca.simpledataset2.fieldbyname('quantidade').AsINTEGER),3));
if FORMRELorca.simpledataset2.fieldbyname('promocao').Asfloat>0 then begin
WRITEln(impressora,AlinhaDireita(FormatFloat('#,##0.00',FORMRELorca.simpledataset2.fieldbyname('promocao').Asfloat),8));
end else
WRITEln(impressora,AlinhaDireita(FormatFloat('#,##0.00',FORMRELorca.simpledataset2.fieldbyname('pvenda').Asfloat),8));
FORMRELorca.simpledataset2.NEXT;
END;
Writeln(impressora,AlinhaDireita('--------------------', 60));
Write(impressora,#27#70+#27#18);
Write(impressora,#27#70+#27#14);
//Writeln(impressora,alinhadireita('Descto:',20)+' '+AlinhaDireita(FormatFloat('#,##0.00', formrelorca.simpledataset1.fieldbyname('total_descto').asfloat), 9));
Write(impressora,#27#70+#27#14);
Writeln(impressora,alinhadireita('Total :',20)+' '+AlinhaDireita(FormatFloat('#,##0.00', formrelorca.simpledataset1.fieldbyname('total_VENDAS').asfloat), 9));
Writeln(impressora,'------------------------------------------------------------');
Formrelorca.simpledataset3.first;

WHILE NOT Formrelorca.simpledataset3.EOF DO BEGIN
Write(impressora,alinhaesquerda('P.:',4)+''+alinhaesquerda(FORMRELorca.simpledataset3.fieldbyname('parcela').Asstring,5));
Write(impressora,alinhaesquerda('Venc.:',7)+''+alinhaesquerda(datetostr(FORMRELorca.simpledataset3.fieldbyname('vencimento').Asdatetime),10));
WRITEln(impressora,alinhadireita('Valor :',10)+''+AlinhaDireita(FormatFloat('#,##0.00',FORMRELorca.simpledataset3.fieldbyname('valor').Asfloat),12));
FORMRELorca.simpledataset3.NEXT;
END;
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora,'               -------------------------------');
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
formrelorca.simpledataset4.Active:=false;
formrelorca.simpledataset3.Active:=false;
formrelorca.simpledataset2.Active:=False;
formrelorca.simpledataset1.Active:=False;
formrelorca.release;
System.Close(Impressora);
showmessage('Impressao terminada');
////FIM DA IMPRESSAO



a impressao sai normalmente na impressora , so que depois de algumas impressoes para de imprimir e fica dando erro de I/O e tenho q reiniciar o pc para voltar a imprimir. me parece que o arquivo usado para imprimir fica em uso por algum motivo o qual nao consegui resolver. o estranho e q uso a mesma rotina em outros clientes com impressora identica e funciona sem problema.

desde ja agradeço a quem poder me ajudar
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
UhuckHai
Aprendiz
Aprendiz


Registrado: Sexta-Feira, 29 de Abril de 2011
Mensagens: 214
Localização: Marília - SP

MensagemEnviada: Qua Set 12, 2012 3:02 pm    Assunto: Re: problema ao imprimir em 40 colunas Responder com Citação

marciobatista escreveu:
meu problema e o seguinte :
tenho um cliente q usa uma impressora daruma dr700 (nao fiscal) e nela sao impressas as vendas da seguinte forma :
////onde local de impressao e ='\\servidor\daruma'
/// e no pc esta devidamente configurado o nome da impressora como daruma no compartilhamento e o nome do pc como servidor.
/// outro detalhe e que nao esta em rede , ou seja o computador de nome servidor e onde esta a impressora
//IMPRESSAO///////////////////////////////////////////////////////////
AssignFile(IMPRESSORA,localimpressao);
Rewrite(IMPRESSORA);
Write(IMPRESSORA);
Writeln(impressora);
Write(impressora,#27#70+#27#20);
Write(impressora,#27#70+#27#15);
write(impressora,#27#70+#27#15);
Writeln(Impressora,#27#14+' '+mnome);
Write(impressora,#27#70+#27#20);
Write(impressora,#27#70+#27#20);
Write(impressora,#27#70+#27#15);

Writeln(Impressora,' '+mendereco);
Writeln(impressora,mcidade+' Telefone : '+mtelefone);
Write(impressora,'Data : ');
Write(impressora,alinhadireita(DatetoStr(Date),10));
Write(impressora,alinhadireita('Hora :',31));
Writeln(impressora,alinhadireita(timetoStr(time),12));
Writeln(impressora,'------------------------------------------------------------');
Write(impressora,AlinhaEsquerda('Cliente :',11)+' '+ Alinhaesquerda(formrelorca.simpledataset1.fieldbyname('cliente').asstring, 32));
Writeln(impressora,AlinhaEsquerda('Codigo :',10)+' '+ Alinhaesquerda(inttostr(formrelorca.simpledataset1.fieldbyname('codigo').asinteger), 5));
Write(impressora,alinhaesquerda('Vendedor :',11)+' '+ Alinhaesquerda(formrelorca.simpledataset1.fieldbyname('vendedor').asstring, 30));
Writeln(impressora,alinhadireita('Venda :',10)+' '+ Alinhaesquerda(inttostr(formrelorca.simpledataset1.fieldbyname('num_resumo').asinteger), 5));
Writeln(impressora,'------------------------------------------------------------');
Writeln(impressora,'Codigo Descricao Numero/Quant. Valor' );
Writeln(impressora,'------------------------------------------------------------');
Formrelorca.simpledataset2.first;
WHILE NOT Formrelorca.simpledataset2.EOF DO BEGIN
Write(impressora,alinhaesquerda(INTTOSTR(FORMRELorca.simpledataset2.fieldbyname('codigo').AsINTEGER),10));
Write(impressora,alinhaesquerda(FORMRELorca.simpledataset2.fieldbyname('nome').Asstring,34));
Write(impressora,alinhaesquerda(FORMRELorca.simpledataset2.fieldbyname('cabecario').Asstring,3));
Write(impressora,alinhaESQUERDA(INTTOSTR(FORMRELorca.simpledataset2.fieldbyname('quantidade').AsINTEGER),3));
if FORMRELorca.simpledataset2.fieldbyname('promocao').Asfloat>0 then begin
WRITEln(impressora,AlinhaDireita(FormatFloat('#,##0.00',FORMRELorca.simpledataset2.fieldbyname('promocao').Asfloat),Cool);
end else
WRITEln(impressora,AlinhaDireita(FormatFloat('#,##0.00',FORMRELorca.simpledataset2.fieldbyname('pvenda').Asfloat),Cool);
FORMRELorca.simpledataset2.NEXT;
END;
Writeln(impressora,AlinhaDireita('--------------------', 60));
Write(impressora,#27#70+#27#1Cool;
Write(impressora,#27#70+#27#14);
//Writeln(impressora,alinhadireita('Descto:',20)+' '+AlinhaDireita(FormatFloat('#,##0.00', formrelorca.simpledataset1.fieldbyname('total_descto').asfloat), 9));
Write(impressora,#27#70+#27#14);
Writeln(impressora,alinhadireita('Total :',20)+' '+AlinhaDireita(FormatFloat('#,##0.00', formrelorca.simpledataset1.fieldbyname('total_VENDAS').asfloat), 9));
Writeln(impressora,'------------------------------------------------------------');
Formrelorca.simpledataset3.first;

WHILE NOT Formrelorca.simpledataset3.EOF DO BEGIN
Write(impressora,alinhaesquerda('P.:',4)+''+alinhaesquerda(FORMRELorca.simpledataset3.fieldbyname('parcela').Asstring,5));
Write(impressora,alinhaesquerda('Venc.:',7)+''+alinhaesquerda(datetostr(FORMRELorca.simpledataset3.fieldbyname('vencimento').Asdatetime),10));
WRITEln(impressora,alinhadireita('Valor :',10)+''+AlinhaDireita(FormatFloat('#,##0.00',FORMRELorca.simpledataset3.fieldbyname('valor').Asfloat),12));
FORMRELorca.simpledataset3.NEXT;
END;
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora,' -------------------------------');
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
Writeln(impressora);
formrelorca.simpledataset4.Active:=false;
formrelorca.simpledataset3.Active:=false;
formrelorca.simpledataset2.Active:=False;
formrelorca.simpledataset1.Active:=False;
formrelorca.release;
System.Close(Impressora);
showmessage('Impressao terminada');
////FIM DA IMPRESSAO


a impressao sai normalmente na impressora , so que depois de algumas impressoes para de imprimir e fica dando erro de I/O e tenho q reiniciar o pc para voltar a imprimir. me parece que o arquivo usado para imprimir fica em uso por algum motivo o qual nao consegui resolver. o estranho e q uso a mesma rotina em outros clientes com impressora identica e funciona sem problema.

desde ja agradeço a quem poder me ajudar


.-. ja tive esse problema ai, arrumei trocando de impressora. não tinha tempo pra ficar martelando muito.
_________________
_________________
if Post.State = psResolvido then
Post.Caption := Post.Caption + ' [RESOLVIDO]';
_________________

NERD POWER
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Batera
Colaborador
Colaborador


Registrado: Quarta-Feira, 23 de Julho de 2008
Mensagens: 4899
Localização: Maringá

MensagemEnviada: Qua Set 12, 2012 8:39 pm    Assunto: Responder com Citação

Márcio, experimente adicionar essa linha no final da impressão:
Código:
CloseFile(Impressora);
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Visitar a homepage do Usuário
darumadeveloper
Novato
Novato


Registrado: Sexta-Feira, 26 de Agosto de 2011
Mensagens: 69

MensagemEnviada: Seg Set 17, 2012 2:26 pm    Assunto: Responder com Citação

Boa Tarde Márcio,

Pode ser algo relacionado a permissão.

Voce pode me mandar um telefone para contato por email para poder te ajudar?

Segue meu email :

daruma.desenvolvedores@daruma.com.br

Aguardo retorno.
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
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