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 

Imprimir em LPT1

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Automação Comercial
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
fabio.avila
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 11 de Junho de 2007
Mensagens: 292

MensagemEnviada: Qua Abr 16, 2008 4:54 pm    Assunto: Imprimir em LPT1 Responder com Citação

Estou fazendo teste em uma impressora da Bematech para imprimir em uma impressora da Bematech LPT1.
Estou tendo muitas dificuldades, principalmente para ajustar as strings como posso obter ajuda?

o código está assim:

if modeloimp = 'LPT1'then
begin
{POSICIONA O PONTEIRO DA TABELA DE CLIENTES,
EM RELAÇÃO À TABELA DE venda}
//DMTabelas.IBCliente.locate('Codigo',DMTabelas.vendaCODCLIENTE.Value,[]);
{Relaciona a variável impressora com a
lpt1: - Poderia ser LPT, COM1,// Servidor/impressora}
AssignFile(IMPRESSORA,'LPT1:');
{abre a porta da impressão }
Rewrite(IMPRESSORA);
{envia caractere de controle para comprimir a impressão}
Write(IMPRESSORA);
{ Imprime a string "", alinhado à esquerda"-" dentro de uma área de quarenta caracteres}
Write(Impressora,Format('%-40s',[DatetoStr(Date)+' '+TimetoStr(Time)]));
{ Salta uma linha}
Writeln(Impressora);
Write(Impressora,Format('%-40s',['** COMPROVANTE NAO FISCAL **']));
{ Salta uma linha}
Writeln(Impressora);
Write(Impressora,Format('%-40s',['NAO VALE COMO COMPROVANTE FISCAL']));
{ Salta uma linha}
Writeln(Impressora);
{ ---- Impressão dos Dados do Consumidor-----}
{ Imprime a Razão Social, alinhado à esquerda dentro de uma área de 90 caracteres}
//Write (Impressora,Format('%-90s', [ DMTabelas.ibClienteNomeCli.Value]));
{ Imprime Endereço,alinhado à esquerda"-" dentro de uma área de 70 carcateres}
//Write(Impressora,Format('%-70s',[dmdados.tbClientesCli_Endereco.Value]));

{Imprime Bairro, dentro de uma área de 35 carcateres}
//Write(Impressora,Format('%-35s',[dmdados.tbClientesCli_Bairro.Value]));
{ Imprime CEP, dentro de uma área de 15 carcateres}
//Write(Impressora,Format('%-15s', [dmdados.tbClientesCli_CEP.Value]));
{Imprime a Data de Saída, baseada na Hora Atual e Salta para próxima Linha}
//Writeln(Impressora,DatetoStr(Date));
{----- Fase de Emissão dos Itens da Nota -----}
{ Zero variáveis}
{ Move o ponteiro de registro da tabela de Itens para o primeiro}
DMTabelas.itemvenda.First;
{ Início do Laço}
While not (DMTabelas.itemvenda.Eof) do
Begin
//Locate na tabela produto
DMTabelas.ibproduto.Locate('CodProd',(DMTabelas.itemvendaCODProd.Value),[]);
{ Imprime Código produto}
Write(Impressora,Format('%-15s', [(DMTabelas.ibProdutoCODBarras.Value)]));
{ Imprime Descrição do produto}
Write(Impressora,Format('%-68s', [DMTabelas.ibProdutoNomeProdRes.value]));
{ Imprime Quantidade Comercializada}
Write(Impressora,Format('%-15s',[DMTabelas.ItemVendaQtd.value]));
{ Imprime Preço Unitário produto}
Write(Impressora,Format('%-68s',[DMTabelas.ItemVendaUnitario.value]));
{ Imprime o valor Total do Item e salta uma linha}
Writeln(Impressora,Format('%-68s', [DMTabelas.ItemVendaSubTotal.Value]));
{ Próximo Item}
DMTabelas.itemvenda.next;
end;
{ laço de Itens}
{ Salta o núemro de linhas necessárias para completar o espaço restante de itens}
//For Contador:= 1 to (20- dmdados.tbItens.recordCount)do
{ Imprime o valor total dos produtos e salta uma linha}
Writeln(Impressora,Format('%-40s',[floattostr(falta)]));
{ Salta uma linhas}
Writeln(Impressora);
{ Imprime o valor total da Nota e salta uma linha}
Writeln(Impressora,Format('%-40s',[floattostr(pago)]));
{ Salta uma linhas}
Writeln(Impressora);
{ Fecha a porta de impressão}
System.Close(Impressora);
end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
fabio.avila
Aprendiz
Aprendiz


Registrado: Segunda-Feira, 11 de Junho de 2007
Mensagens: 292

MensagemEnviada: Qua Abr 16, 2008 5:41 pm    Assunto: Responder com Citação

A dificuldade maior está sendo no posicionamento das strings
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Borland_Linuxer
Moderador
Moderador


Registrado: Terça-Feira, 11 de Outubro de 2005
Mensagens: 4252
Localização: Manaus - Am

MensagemEnviada: Seg Abr 21, 2008 4:13 pm    Assunto: Responder com Citação

De uma olha nessa minha dica para ver se te ajuda.

http://siaconsult.forumeiros.com/artigos-f6/relatorio-80-colunas-vdoprint-t12.htm

abraços
_________________
Abraços

Sérgio Guedes
www.lsisistemas.com.br
www.scvarejo.com.br - Projetos para parceiros e desenvolvedores
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail Visitar a homepage do Usuário MSN Messenger
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Automação Comercial 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