Fórum Substituir parte de um texto em um arquivo TXT #490710
30/08/2014
0
Amigos, Bom dia.
Tenho um arquivo TXT de uma Exportação onde o objetivo é substituir um quantidade exata de caracteres em uma posição exata do texto. Sempre na mesma posição em todas as linhas e sempre com o mesmo tamanho. O texto é esse:
000001PTESTE 001 000002.360000V000000000000000000000000000000000f16
000002PTESTE 002 000001.230000V000000000000000000000000000000000f13
000003PTESTE 003 000004.690000V000000000000000000000000000000000f22
Preciso substituir o trecho do texto onde tem os valores
000002.36
000001.23
000004.69
para, por exemplo:
000001.69
000002.69
000003.69
Como poderia fazer isso?
Tenho um arquivo TXT de uma Exportação onde o objetivo é substituir um quantidade exata de caracteres em uma posição exata do texto. Sempre na mesma posição em todas as linhas e sempre com o mesmo tamanho. O texto é esse:
000001PTESTE 001 000002.360000V000000000000000000000000000000000f16
000002PTESTE 002 000001.230000V000000000000000000000000000000000f13
000003PTESTE 003 000004.690000V000000000000000000000000000000000f22
Preciso substituir o trecho do texto onde tem os valores
000002.36
000001.23
000004.69
para, por exemplo:
000001.69
000002.69
000003.69
Como poderia fazer isso?
Lammer Ltda
Curtir tópico
+ 0
Responder
Posts
31/08/2014
Alisson Santos
Amigo olhe esse link.
https://www.devmedia.com.br/forum/substituir-palavra-de-um-arquivo-texto/220905
https://www.devmedia.com.br/forum/substituir-palavra-de-um-arquivo-texto/220905
Responder
Gostei + 0
01/09/2014
Lammer Ltda
Resolvi desta forma:
procedure TfrmPrincipal.btnSalvarTabelaClick(Sender: TObject);
var
i: Integer;
contVl2,fmtVL, vlconv, fmtvl2, fmtvl3, fmtvlf: string;
vlNpnt,contVl,vlOrig: Double;
cont: integer;
begin
dm.FDQuery1.ApplyUpdates(-1);
dm.FDQuery1.First;
cont:=dm.FDQuery1.RecordCount;
for i := 0 to cont do
begin
vlOrig:= dm.FDQuery1.FieldByName('precob').AsFloat;
vlNpnt:= (vlOrig * 100);
fmtVL:= FormatFloat('00000000', vlNpnt);
fmtVL2:= Copy(fmtVL,1,6);
fmtVL3:= Copy(fmtVL,7,2);
fmtVLF:= fmtVL2 + '.' + fmtVL3;
ShowMessage(fmtvlf);
end;
end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)