Boa Tarde Ricardo, faço tudo na mão, vou colar o código de como esta. procedure Tfrmcadordserv.BitBtn1Click(Sender: TObject); const CNegrito = #27#71; // Define Caracter Negrito; SNegrito = #27#72; // Define Caracter Não Negrito; CExpandido = #14; SExpandido = #20; var a: textfile; begin // Imprimindo Ordem de Serviço
assignfile(a,'c:\tmp\cupom.txt'); rewrite(A); writeln(A,'================================================================= =============='); writeln(A,' BRANCO AUTO MECANICA - ESPECIALIZADA EM INJECAO ELETRONICA '); writeln(A,' AV. MESSIAS GONCALVES, 1363 - (17) 3325-8055 '); writeln(A,'================================================================= =============='); write(A,CNegrito + CExpandido + format('%-29s',['ORDEM DE SERVICO N: ' + formatfloat('00000',strtoint(edit1.text))])); writeln(A,SNegrito + SExpandido + format('%10s',['DATA: '+frmordserv.qrordserv.fieldbyname('data').asstring])); writeln(A); write(A,format('%-57s',['NOME DO CLIENTE: '+ qrcli.fieldbyname('nome').value])); writeln(A,format('%-22s',['CELULAR: '+qrcli.fieldbyname('celular').value])); write(A,format('%-57s',['ENDERECO: '+ qrcli.fieldbyname('endereco').value])); writeln(A,format('%-22s',['BAIRRO : '+ qrcli.fieldbyname('bairro').value])); write(A,format('%-57s',['CIDADE: '+ qrcli.fieldbyname('cidade').value])); writeln(A,format('%-22s',['CEP.: '+ qrcli.fieldbyname('cep').value])); write(A,format('%-35s',['TELEFONE: '+ qrcli.fieldbyname('telefone').value])); write(A,format('%-22s',['CPF: '+ qrcli.fieldbyname('cpf').value])); writeln(A,format('%-22s',['RG: ' + qrcli.fieldbyname('rg').value])); writeln(A); write(A,format('%-57s',['MARCA: '+ frmordserv.qrordserv.fieldbyname('marca').value])); writeln(A,format('%-22s',['MODELO: '+ frmordserv.qrordserv.fieldbyname('modelo').value])); write(A,format('%-35s',['COR: '+ frmordserv.qrordserv.fieldbyname('cor').value])); write(A,format('%-22s',['PLACA: '+ frmordserv.qrordserv.fieldbyname('placa').value])); writeln(A,format('%-22s',['KM DO VEICULO: '+edit3.text])); writeln(A); writeln(A,format('%-20s',['FUNCIONARIO: '+ frmordserv.qrordserv.fieldbyname('funcionario').value])); writeln(A,'================================================================= =============='); write(A,format('%-40s',['DISCRIMANACAO'])); write(A,format('%-10s',['QTDE'])); write(A,format('%-18s',['PRECO UNITARIO'])); writeln(A,format('%-10s',['PRECO TOTAL'])); writeln(A,'================================================================= =============='); qrhistserv.first; while not qrhistserv.eof do begin write(A,format('%-40s',[qrhistserv.fieldbyname('servico').value])); write(A,format('%-10s',[qrhistserv.fieldbyname('qtde').value])); write(A,format('%-18s',[formatfloat('##0.00',qrhistserv.fieldbyname('precoun ').value)])); write(A,format('%-10s',[formatfloat('##0.00',qrhistserv.fieldbyname('total') .value)])); writeln(A); qrhistserv.next; end; writeln(A,'================================================================= =============='); write(A,CNegrito + CExpandido + 'TOTAL R$: '); writeln(A,format('%29.2f',[frmordserv.qrordserv.fieldbyname('total').asfloat ])); writeln(A,SNegrito + SExpandido + '=========================================================================== ===='); writeln(A); writeln(A); writeln(A); writeln(A); //writeln(A,'_______________________________'); writeln(A,' ASSINATURA DO CLIENTE'); closefile(A); Tiago de Assis Pimenta MSN: <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED] Skype: tiagopimenta_skype Gtalk: tiagopimenta _____ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Ricardo Berti Enviada em: terça-feira, 13 de fevereiro de 2007 09:14 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] [URGENTE] Formatação Impressão Matricial Como você faz pra imprimir? faz tudo na mão ou usa alguma rotina ou componente? Posta aí que agente te ajuda Bom Código Ricardo Berti ----- Original Message ----- From: Tiago de Assis Pimenta To: Grupo Delphi Sent: Monday, February 12, 2007 11:40 PM Subject: [delphi-br] [URGENTE] Formatação Impressão Matricial Galera, seguinte, preciso da seguinte informação. Tem como eu usar o write para fazer o seguinte. Na hora que chegar num determinado numero de caracter, ele pule para a proxima linha, mais ou menos no estilo das Celulas do Excel ??? Por ex.: Eu reservo um espaço de 50 caracteres para Descrição do Serviço na nota, se ele passar de 50, ele pula para a proxima linha, sem atrapalhar a coluna preço. Na nota ficaria assim DESCRIÇÃO | PREÇO TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE TESTE R$ 40,00 OUTRO TESTE R$ 20,00 Tem como ? Tiago de Assis Pimenta MSN: <mailto:tiagopimenta@ <mailto:tiagopimenta%40hotmail.com> hotmail.com> tiagopimenta@ <mailto:tiagopimenta%40hotmail.com> hotmail.com Skype: tiagopimenta_skype Gtalk: tiagopimenta [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]