Ir para conteúdo

POWERED BY:

Arquivado

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

orc

Arquivo de Texto

Recommended Posts

Bom Dia , tenho um arquivo de texto o qual tem vários códigos ( um em cada linha ) EX :0000000001 000000000200000000030000000004e preciso fazer uma varredura neste arquivo selecionando um código e ao fim dessa linha onde esta o codigo adicionar outra string ja ´ré definica em um edit Ex : 0000000001 string0000000002 outra string0000000003 string0000000004 string

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aew ? beleza?

Uma idéia seria carregar o texto num StringList:

 

var  Arq: TStringList;  Texto: AnsiString;begin  Arq:= TStringList.Create;  Arq.LoadFromFile('C:\teste.txt');  Texto:= StringReplace(Arq.Text, '0000000003','0000000003 Alterado', [rfReplaceAll]);  Arq.Clear;  Arq.Text:= Texto;  Arq.SaveToFile('C:\teste.txt');end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

E aew ? beleza?Uma idéia seria carregar o texto num StringList:

var  Arq: TStringList;  Texto: AnsiString;begin  Arq:= TStringList.Create;  Arq.LoadFromFile('C:\teste.txt');  Texto:= StringReplace(Arq.Text, '0000000003','0000000003 Alterado', [rfReplaceAll]);  Arq.Clear;  Arq.Text:= Texto;  Arq.SaveToFile('C:\teste.txt');end;
Rodrigo infelizmente essa função de replace pra mim na serve pq a frente do codigo tb tem mais informações por isso gostaria de colocar no fim da string

Compartilhar este post


Link para o post
Compartilhar em outros sites

você testou o codigo q eu te passei ?Teste ai deve funcionar sim .... pois ele vai dar replace somente na string que for passada ....

é que num quero dar um replace quero adicionar um texto no fim da linha pq meu arquivo vem assim ó :000000001CAIXA ECONOMICA FEDERAL D.O. SÃO PAULO - JUDICIÁRIO I RECORTE AUTOMATICO 003815148405 000000002CAIXA ECONOMICA FEDERAL D.O. SÃO PAULO - JUDICIÁRIO I RECORTE AUTOMATICO 003815149107 000000003CAIXA ECONOMICA FEDERAL D.O. SÃO PAULO - JUDICIÁRIO I RECORTE AUTOMATICO 003815149201 ai no fim de cada linha adiciono uma string por isso não da pra dar o replace

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah! agora saquei ...

entao tente assim kra :

var  Arquivo: TStringList;  x: Integer;begin  Arquivo:= TStringList.Create;  Arquivo.LoadFromFile('C:\Teste.txt');  for x:= 0 to Arquivo.Count -1 do  begin	if (Pos('000000002', Arquivo.Strings[x]) > 0) then	begin	  Arquivo.Strings[x]:= Arquivo.Strings[x] + ' Alterado';	end;  end;  Arquivo.SaveToFile('C:\Teste.txt');

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não quer sobreescrever certo?

Então tenta isto:

 

vararquivo:Textfile;codigo:integer;begin   codigo:=StrToInt(Edit1.Text);   AssignFile(arquivo, 'C:\texto.txt');   Append(arquivo);   Writeln(arquivo,codigo);   Closefile(aqruivo);

 

Nisso ai você vai pegar o que está no edit1 e escrever no arquivo, da próxima vez que escrever ele irá escrever em uma outra linha.

O Append coloca seu ponteiro na ultima linha do arquivo ja.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah! agora saquei ...entao tente assim kra :

var  Arquivo: TStringList;  x: Integer;begin  Arquivo:= TStringList.Create;  Arquivo.LoadFromFile('C:\Teste.txt');  for x:= 0 to Arquivo.Count -1 do  begin	if (Pos('000000002', Arquivo.Strings[x]) > 0) then	begin	  Arquivo.Strings[x]:= Arquivo.Strings[x] + ' Alterado';	end;  end;  Arquivo.SaveToFile('C:\Teste.txt');
Rodrigo Essa rotina é abençoada hein valeu Fica Com Deus

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah! agora saquei ...entao tente assim kra :

var  Arquivo: TStringList;  x: Integer;begin  Arquivo:= TStringList.Create;  Arquivo.LoadFromFile('C:\Teste.txt');  for x:= 0 to Arquivo.Count -1 do  begin	if (Pos('000000002', Arquivo.Strings[x]) > 0) then	begin	  Arquivo.Strings[x]:= Arquivo.Strings[x] + ' Alterado';	end;  end;  Arquivo.SaveToFile('C:\Teste.txt');
Rodrigo preciso de mais uma força usando este mesmo código estou usando ele assim ó
procedure TFMontarInterface.BtAdicionarVaraClick(Sender: TObject);Var  CodIni, CodFim, x, I : Integer;  VCodigo : String;begin  CodIni := StrToInt( EdCodDe.Text  );  CodFim := StrToInt( EdCodAte.Text );  Arquivo := TStringList.Create;  Arquivo.LoadFromFile(EdCaminhoVara.Text);  for I := CodIni to CodFim do  begin     for x:= 0 to Arquivo.Count -1 do     begin         vCodigo := StrZeros( IntToStr( i ), 9 );        if (Pos(VCodigo, Arquivo.Strings[x]) > 0) then        begin          Arquivo.Strings[x]:= Arquivo.Strings[x] + PadR( EdVara.Text, 250, ' ' );        end;     end;  end;
onde eu faço essa busca linha por linha inserindo vários codigos diferentes deixando pra salvar o arquivo depois mais tem uma coisa ele só salva a ultima alteração e as restantes não aparecem gostaria que você me desse uma força pra poder salvar somente no fim que ele fizesse toda a busca e alterasse e adicionasse ao fim da linha de todos os códigos que busquei

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.