 |
ActiveDelphi .: O site do programador Delphi! :.
|
| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
mfrigerio Novato

Registrado: Quinta-Feira, 3 de Setembro de 2015 Mensagens: 19
|
Enviada: Ter Nov 22, 2022 3:20 pm Assunto: Substituir várias palavras de um arquivo .txt |
|
|
Boa tarde !!!
Meu cenário é o seguinte , tenho um txt (em formato exportado para ser utilizado na impressora zebra)
e tem alguns caracteres especiais dentro dele ... e por isso não carrega total , .
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 .
| Código: |
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 componente Tmemo.
não aquei onde colocar esse arquivo txt em anexo aqui ... mas vou colocar ele abaixo.
[url]
https://drive.google.com/file/d/1y92DynhiEGG-KdoXhK8z1ve9IQr4Tbl9/view?usp=share_link
[/url]
se puderem me ajudar , eu antecipo cordial agradecimento. |
|
| Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Qua Nov 23, 2022 10:41 am Assunto: |
|
|
tenta com TextFile, ou com TFileStream _________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
| Voltar ao Topo |
|
 |
mfrigerio Novato

Registrado: Quinta-Feira, 3 de Setembro de 2015 Mensagens: 19
|
Enviada: Qua Nov 23, 2022 11:13 am Assunto: |
|
|
| joemil escreveu: | | tenta com TextFile, ou com TFileStream |
Olá amigo Joemil.
Muito obrigado por responder ....
Mas sou iniciante em estudo de delphi, esse ai acima , tentei adaptar de outros artigos que lí na internet ....
seria possivel me passar um exemplo por favor.
antecipo cordial agradecimento. |
|
| Voltar ao Topo |
|
 |
joemil Moderador

Registrado: Quinta-Feira, 25 de Março de 2004 Mensagens: 9100 Localização: Sinop-MT
|
Enviada: Sex Nov 25, 2022 8:44 am Assunto: |
|
|
faz um teste:
| Código: | procedure TForm1.Button1Click(Sender: TObject);
var
Arq1, Arq2: TextFile;
t: String;
const
ARQUIVO = 'C:\TEMP\00000-FF_Etiqueta_Resfriada.PRN';
ARQDEST = 'C:\TEMP\PRINT.PRN';
begin
Assign(Arq1, Arquivo);
Reset(Arq1);
Assign(Arq2, ArqDest);
Rewrite(Arq2);
repeat
ReadLn(t, Arq1);
t := StringReplace(t, '[VAR_DESCRICAO_PRODUTO]','"PEIXE RESFRIADO - FILÉ DE TILAPIA SEM PELE"', [rfreplaceAll]);
t := StringReplace(t,'[VAR_PESO_LIQUIDO]','"15,000"', [rfreplaceAll]);
...
WriteLn(Arq2, t);
until Eof(Arq1);
CloseFile(Arq1);
CloseFile(Arq2);
end; |
_________________ <b>SEMPRE COLOQUE [RESOLVIDO] NO SEU POST</b>
Enviar imagens: http://tinypic.com/ |
|
| Voltar ao Topo |
|
 |
mfrigerio Novato

Registrado: Quinta-Feira, 3 de Setembro de 2015 Mensagens: 19
|
Enviada: Sex Dez 02, 2022 7:23 am Assunto: [RESOLVIDO] Substituir várias palavras de um arquivo .txt |
|
|
Bom Dia ... Excelente Joemil ...
Fiz aqui e adaptei .. deu certo ...
Agradeço grandemente pela disposição e ajuda prestada ...
Abraços. |
|
| Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|