sidneyps 0 Denunciar post Postado Março 28, 2005 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
DelphiMania 0 Denunciar post Postado Março 29, 2005 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