Posições em impressão direta.
02/06/2008
0
Olá amigos do fórum Clube Delphi.
Estou fazendo uma ordem de orçamento com impressão direta numa LX-300+II via LPT1, tenho utilizados os codigos que são referentes a ela, porém na parte onde é descrito os itens a impressopra não colocando tudo na mesma linha como se faltasse espaço para impressão, mas tem espaço apenas acho que não estou fazendo a formatação correta, se alguém puder me ajudar ficarei muito grato, segue o codigo da minha procedure de impressão;
Estou fazendo uma ordem de orçamento com impressão direta numa LX-300+II via LPT1, tenho utilizados os codigos que são referentes a ela, porém na parte onde é descrito os itens a impressopra não colocando tudo na mesma linha como se faltasse espaço para impressão, mas tem espaço apenas acho que não estou fazendo a formatação correta, se alguém puder me ajudar ficarei muito grato, segue o codigo da minha procedure de impressão;
procedure ImprimeReciboVendas(); const //Valores constantes para formatacao do relatorio JustCentro = #27971; Padrao = 20; Condensado = 15; Expandido = 14; SemExpandido = 20; CNegrito = 2771; SNegrito = 2772; MEsquerda = 271081; JustEsquerda = 27972; Normal = 20; Draft = 271200; Tamanho1 = 2780; Tamanho2 = 2777; Tamanho3 = #27330; Tamanho4 = 27331; Imediato = 271051; JustDireita = 27970; var Recibo : TextFile; begin //Cabeçalho do Recibo de Compra AssignFile(Recibo,´LPT1´); Rewrite(Recibo); Writeln(Recibo, JustCentro + Expandido + CNegrito, Format(´¬5s´,[´A F P L A´])); Writeln(Recibo); Write(Recibo, JustEsquerda + SemExpandido + CNegrito, Format(´¬20s´,[´Nota de Orçamento N: ´ + IntToStr(FModuloDadosMOF.TQryMovVendasMsequencial.Value)])); Write(Recibo, JustEsquerda + SemExpandido + CNegrito, Format(´¬50s´,[´Data: ´ + DateToStr(FModuloDadosMOF.TQryMovVendasMdatavenda.Value)])); Writeln(Recibo); Writeln(Recibo); //Dados do Cliente Writeln(Recibo, JustDireita + SemExpandido + CNegrito, Format(´¬10s´,[´Codigo Cliente: ´ + IntToStr(FModuloDadosMOF.TQryMovVendasMcodigocliente.Value) + ´ Nome: ´ + FModuloDadosMOF.TQryMovVendasMDescricaoCliente.Value])); Writeln(Recibo); Writeln(Recibo); //Cabeçalho dos itens de venda Write(Recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬5s´,[´Cod. Prod.´])); Write(Recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬40s´,[´Quant.´])); Write(Recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬45s´,[´V. Unit.´])); Writeln(Recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬50s´,[´V. Total´])); //Itens da Venda FModuloDadosMOF.TQryMovVendasD.First; While not FModuloDadosMOF.TQryMovVendasD.Eof do begin Write(Recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬5s´ ,[FModuloDadosMOF.TQryMovVendasDcodigoproduto.AsString])); Write(recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬15s´,[FModuloDadosMOF.TQryMovVendasDDescricaoProduto.AsString])); Write(recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬40s´,[FModuloDadosMOF.TQryMovVendasDquantidade.AsString])); Write(recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬45s´,[FModuloDadosMOF.TQryMovVendasDvalorunitario.AsString])); Writeln(Recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬50s´,[FModuloDadosMOF.TQryMovVendasDvalortotal.AsString])); FModuloDadosMOF.TQryMovVendasD.Next; end; //Finaliza o recibo de venda Writeln(Recibo, JustDireita + Condensado + SemExpandido + CNegrito, Format(´¬50s´,[FModuloDadosMOF.TQryMovVendasMvalortotal.AsString])); CloseFile(Recibo); end;
Targinosilveira
Curtir tópico
+ 0
Responder
Posts
04/06/2008
Ffabiop
somando rapidamente, sua linha de itens tem 155 caracteres, na lx-300 imprimindo condensado pode colocar 132 caracteres para manter o padrão de listagem 80 em modo normal ou 132 condensado.
Responder
Clique aqui para fazer login e interagir na Comunidade :)