Ola... Estou tentando modificar um arquivo txt. Eu preciso verificar quando o arquivo txt de uma determinada posição até outra for em branco (143,150) então deve ser colocado uma mensagem "bla bla bla bla bla". consegui achar aonde ta em branco, mais não consigo fazer ele colocar uma mensagem e voltar no txt ou em outro txt. DEF VAR c-linha AS CHAR FORMAT "x(350)" NO-UNDO. DEF VAR i-linha AS CHAR FORMAT "x(30)" NO-UNDO. ASSIGN i-linha = "Teste Miguel". INPUT FROM VALUE("P:\Miguel\arquivo.txt"). REPEAT: ASSIGN c-linha = "". IMPORT UNFORMATTED c-linha. IF SUBSTRING(c-linha,143,150) = "" THEN DO: /** procura campo em branco **/ ASSIGN SUBSTRING(c-linha,143,20) = i-linha. /** transforma posição em valor **/ DISP SUBSTRING(c-linha,1,220) WITH WIDTH 600. /** Mostra campo alterado **/ /*** Ja tentei usa output, só que não aparece nada, somente em branco **/ END. END.
Pra quem quisé o código como sou uma alma caridoza Código: /** Altera‡Æo de arquivos txt por posi‡Æo **/ DEF VAR c-linha AS CHAR FORMAT "x(350)" NO-UNDO. DEF VAR i-linha AS CHAR NO-UNDO. ASSIGN i-linha = "Contabilizacao de fretes 04/2007". /** Frase a ser inserida no arquivo **/ INPUT FROM VALUE("P:\Miguel\C¢pia de CO042007.txt"). /** Caminho do arquivo a ser alterado **/ OUTPUT TO "p:\miguel\CO042007 - ALTERADO.txt". /** Caminho de gera‡Æo do arquivo **/ REPEAT: ASSIGN c-linha = "". IMPORT UNFORMATTED c-linha. IF SUBSTRING(c-linha,143,150) = "" THEN DO: /** c-linha,xx(posi‡Æo),xx(Quantidade de caracteres) no .txt e informa‡Æo do campo **/ ASSIGN SUBSTRING(c-linha,143,150) = i-linha. /** c-linha,xx(posi‡Æo),xx(Quantidade de caracteres) que vai ser colocado a frase do i-linha **/ END. PUT UNFORMATTED SKIP SUBSTRING(c-linha,1,292) FORMAT "x(292)". /** Importa‡Æo por put unformatted para arquivos que precisam de espa‡amento correto no final do arquivo **/ END. OUTPUT CLOSE.