Ola a todos,
Como meu primeiro post aqui, gostaria de lhes apresentar uma classe criada para facilitar nosso trabalho quando precisamos exportar dados para arquivos *.txt (tamanho fixo).
Esta classe trabalha como um buffer, armazenando as informações em seu objeto, construindo todo e texto e inserindo-o no arquivo de uma unica vez.
Existem outras funcionalidades dentro da classe, mas acredito que a mesma esteja bem documentada.
Segue um exemplo da classe em uso:
static void ExportInvoices_JAN(Args _args) { #File CustInvoiceJour custInvoiceJour; CustTable custTable; StringBuilder strBuilder = new StringBuilder(); TextIO textIO = new TextIO("C:\\Teste_StringBuild.txt",#io_write); Counter counterLine = 1; ; while select custInvoiceJour index InvoiceNumIdx where custInvoiceJour.InvoiceDate == mkdate(1,1,2011) && custInvoiceJour.InvoiceDate == mkdate(31,1,2011) join custTable where custTable.AccountNum == custInvoiceJour.InvoiceAccount { strBuilder.insertField(custTable.AccountNum,counterLine,1,20); strBuilder.insertField(custTable.Name,counterLine,21,60); strBuilder.insertField(custInvoiceJour.InvoiceId,counterLine,81,20); strBuilder.insertField(custInvoiceJour.InvoiceDate,counterLine,101,10); strBuilder.insertField(custInvoiceJour.LedgerVoucher,counterLine,111,20); counterLine++; } textIO.write(strBuilder.getText()); } |
A classe se encontra aqui.
Espero que tenham gostado.
Abs,
Anderson Joyle
One Response
Daniel Landi
29|Apr|2011 1Muito interessante sua classe. Boa iniciativa. Parabéns!
Leave a reply