Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

sidneyps

Salvar alterações de um arquivo TXT

Recommended Posts

Pessoal, com o procedimento abaixo eu altero um arquivo txt, porém o meu problema não estou conseguindo salvar as alterações. Alguém pode me ajudar a implementar este procedimento?procedure TFormPrincipal.Button1Click(Sender: TObject);vars,linha:string;arq: TextFile;beginif BoxCemigwin.Checked thenbeginRZ.DatabaseName:='CEMIGWIN2';RZ.TableName:='RZ'+EditRz.Text+'99.dbf';RZ.Open;end;RZ.first;OpenDialog1.InitialDir:='C:\';OpenDialog1.Filename:='fdia61.*';if OpenDialog1.Execute thenAssignFile ( arq, OpenDialog1.FileName );Reset ( arq );while not RZ.eof dobeginIf (copy(RZOBSERV.value,1,1) = 'R') thenbeginif MessageDlg('Foi achado uma observação para ser retirada, deseja prosseguir?',mtConfirmation, [mbYes, mbNo], 0) = mrYes thenwhile not Eof(arq) dobeginReadln(arq,linha);Lblstatus.Caption:='Percorrendo os registros...';If AnsiCompareText(copy(linha,2,5), RZCONTA.Value) = 0 thenlinha:=Delete(linha,28,32);end;end;RZ.next;Application.ProcessMessages;end;RZ.Close;closefile(arq);ShowMessage('Procedimento concluído, arquivo salvo!');end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, num sei se entendi bem seu código, mas fiz algumas alterações, testa ae ve se vai funcionar.

 

procedure TForm1.Button1Click(Sender: TObject);var   s,linha:string;   arq: TextFile;   linha1 : array[0...1000] of string;   i, n : integer;begin   if BoxCemigwin.Checked then begin      RZ.DatabaseName:='CEMIGWIN2';      RZ.TableName:='RZ'+EditRz.Text+'99.dbf';      RZ.Open;   end;   RZ.first;   OpenDialog1.InitialDir:='C:\';   OpenDialog1.Filename:='fdia61.*';   if OpenDialog1.Execute then      AssignFile ( arq, OpenDialog1.FileName );   Reset ( arq );   i := 0;   while not RZ.eof do begin      If (copy(RZOBSERV.value,1,1) = 'R') then begin         if MessageDlg('Foi achado uma observação para ser retirada, deseja prosseguir?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then            while not Eof(arq) do begin               Readln(arq,linha);               Lblstatus.Caption:='Percorrendo os registros...';               If AnsiCompareText(copy(linha,2,5), RZCONTA.Value) = 0 then                  linha:=Delete(linha,28,32);               linha1[i] := linha;               i := i + 1;            end;      end;      RZ.next;      Application.ProcessMessages;   end;   RZ.Close;   closefile(arq);   AssignFile(arq, OpenDialog1.FileName);   Rewrite(arq);   for n := 0 to i do      Writeln( arq, Linha1[n]);   CloseFile(arq);   ShowMessage('Procedimento concluído, arquivo salvo!');end;

Abs. DelphiMania. B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.