Fórum Substituir palavra de um arquivo texto #220905
18/03/2004
0
Tatuweb
Curtir tópico
+ 0Posts
18/03/2004
Nerdex
procedure percorreArquivoTexto ( nomeDoArquivo: String );
var arq: TextFile;
linha: String;
begin
AssignFile ( arq, nomeDoArquivo );
Reset ( arq );
ReadLn ( arq, linha );
while not Eof ( arq ) do
begin
{ Processe a linha lida aqui. }
{ Para particionar a linha lida em pedaços, use a funçăo Copy. }
ReadLn ( arq, linha );
end;
CloseFile ( arq );
end;
Gostei + 0
18/03/2004
Henry
Procedure TForm1.Button1Click (Sender: TObject);
Begin
FindReplace(Edit1.Text,Edit2.Text, Memo1);
end;
Procedure FindReplace (const Enc, subs: String; Var Texto: TMemo);
Var
i, Posicao: Integer;
Linha: string;
Begin
For i:= 0 to Texto.Lines.count - 1 do
begin
Linha := Texto. Lines[i];
Repeat
Posicao:=Pos(Enc,Linha);
If Posicao > 0 then
Begin
Delete(Linha,Posicao,Length(Enc));
Insert(Subs,Linha,Posicao);
Texto.Lines[i]:=Linha;
end;
until Posicao = 0;
end;
end;
Um abraço, Henry.
Gostei + 0
28/10/2022
Mauricio Gabriel
Procedure TForm1.Button1Click (Sender: TObject);
Begin
FindReplace(Edit1.Text,Edit2.Text, Memo1);
end;
Procedure FindReplace (const Enc, subs: String; Var Texto: TMemo);
Var
i, Posicao: Integer;
Linha: string;
Begin
For i:= 0 to Texto.Lines.count - 1 do
begin
Linha := Texto. Lines[i];
Repeat
Posicao:=Pos(Enc,Linha);
If Posicao > 0 then
Begin
Delete(Linha,Posicao,Length(Enc));
Insert(Subs,Linha,Posicao);
Texto.Lines[i]:=Linha;
end;
until Posicao = 0;
end;
end;
Um abraço, Henry.
OLÁ Henry, gostei bastante de sua soluçăo .
porém estou com um problema similar.
Seria possível me ajudar
meu cenário é o seguinte , tenho um txt (em formato exportado pela impressora zebra)
e tem alguns caracteres especiais dentro dele ... e por isso năo carrega no memo.
Teria como fazer uma rotina assim.
1) abrir arquivo txt Origem
2) substituir varias palavras dentro desse txt
3) Salvar esse arquivo com outro nome.
segue o que estou tentando fazer .
//// Delphi
procedure TForm1.Button1Click(Sender: TObject);
var
Arq : TStringList ;
const
ARQUIVO = 'C:\\TEMP\\00000-FF_Etiqueta_Resfriada.PRN';
ARQDEST = 'C:\\TEMP\\PRINT.PRN';
begin
Arq := TStringList.Create;
try
Arq.LoadFromFile(ARQUIVO);
Arq.Text := StringReplace(Arq.Text,'[VAR_DESCRICAO_PRODUTO]','"PEIXE RESFRIADO - FILÉ DE TILAPIA SEM PELE"', [rfreplaceAll]);
Arq.Text := StringReplace(Arq.Text,'[VAR_PESO_LIQUIDO]','"15,000"', [rfreplaceAll]);
Arq.Text := StringReplace(Arq.Text,'[VAR_PESO_BRUTO]','"15,060"', [rfreplaceAll]);
Arq.Text := StringReplace(Arq.Text,'[VAR_DT_FABRICACAO]','"24/10/2022"', [rfreplaceAll]);
Arq.Text := StringReplace(Arq.Text,'[VAR_NUM_LOTE]','"000164"', [rfreplaceAll]);
Arq.Text := StringReplace(Arq.Text,'[VAR_DT_VALIDADE]','"10/10/2025"', [rfreplaceAll]);
Arq.Text := StringReplace(Arq.Text,'[VAR_SISP]','"1694/00101"', [rfreplaceAll]);
Arq.Text := StringReplace(Arq.Text,'[VAR_CODIGO_PRODUTO]','"123456789147852369"', [rfreplaceAll]);
finally
Arq.SaveToFile(ARQDEST);
Arq.Free;
end;
close;
end;
porém também năo esta dando certo, porque na propriedade Arq.Text , ele năo carrega tudo , apenas parte do txt , igualzinho ocorreco com o memo.
veja o conteúdo do arquivo txt
I8,A,001
Q799,024
q831
rN
S3
D5
ZT
JF
OD
R16,0
f100
N
GW42,645,42,128,˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ăüŕ˙ř?Áţđüŕř
ele só carrega isso acima ... năo carrega mais.
queria upar o arquivo aqui ... mas năo encontrei como ... se puder me ajudar passando seu e-mail eu lhe envio ...
antecipo cordial agradecimento.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)