Fórum Pesquisar em arquivo .txt #327165
10/08/2006
0
Exemplo:
Arquivo.txt
0000001-83A016205605112326304047556370
0000002-48A019729609121719293352556269
0000003-88A006998610122026323852565864
0000004-42A007622606071922313346486869
0000005-82A011084902042227354043516668
0000006-47A014906004141819363950536163
0000007-87A015688903071823313352556364
0000008-41A006227205091522324151555970
0000009-81A013270207122427384145506265
0000010-41A014250311141523353745545962
Quero pesquisar 0000007-87 e copiar a linha onde ele se encontra para outro arquivo .txt
0000001-83A016205605112326304047556370
0000002-48A019729609121719293352556269
0000003-88A006998610122026323852565864
0000004-42A007622606071922313346486869
0000005-82A011084902042227354043516668
0000006-47A014906004141819363950536163
[b:1c9e6f8d07]0000007-87A015688903071823313352556364[/b:1c9e6f8d07] Copiar esta linha
0000008-41A006227205091522324151555970
0000009-81A013270207122427384145506265
0000010-41A014250311141523353745545962
No outro arquivo .txt (Arquivo1.txt) ficara assim:
Arquivo1.txt
0000007-87A015688903071823313352556364
Grato.
Viggianojr
Curtir tópico
+ 0Posts
10/08/2006
Rjun
var Origem, Destino: TStringList; i: integer; begin Origem := TStringList.Create; Destino := TStringList.Create; try Origem.LoadFromFile(´ARQUIVO1.TXT´); for i := 0 to Origem.Count - 1 do if ( Pos(´Texto´, Origem.Strings[i]) <> 0 ) then Destino.Add(Origem.Strings[i]); if (Destino.Count > 0) Destino.SaveToFile(´NomeDoArquivo.Txt´); finally FreeAndNil(Origem); FreeAndNil(Destino); end; end;
Gostei + 0
10/08/2006
Viggianojr
Está acontercendo o seguinte erro:
[Error] Unit1.pas(40): ´THEN´ expected but identifier ´Destino´ found
[Error] Unit1.pas(48): Statement expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit ´Unit1.pas´
Grato
Viggiano
Gostei + 0
11/08/2006
Rjun
if (Destino.Count > 0) then Destino.SaveToFile(´NomeDoArquivo.Txt´);
Gostei + 0
11/08/2006
Viggianojr
Estou capturando de um Edit o texto a ser procurado. Só que preciso pesquisar o arquivo de origem(cartelas.002) o capturado no edit e gravá-lo no arquivo destino(cartelas.001) cada pesquisa encontrada(um em cada linha) e voltar para digitar outro. Tipo bd em txt.
Ele esta assim ate agora:
procedure TForm1.Button1Click(Sender: TObject);
var
texto : string[10];
Origem, Destino: TStringList;
i: integer;
begin
texto := Edit1.Text;
Origem := TStringList.Create;
Destino := TStringList.Create;
try
Origem.LoadFromFile(´cartelas.002´);
for i := 0 to Origem.Count - 1 do
if ( Pos(texto, Origem.Strings[i]) <> 0 ) then
Destino.add(Origem.Strings[i]);
if (Destino.Count > 0) then
Destino.SaveToFile(´cartelas.001´);
finally
FreeAndNil(Origem);
FreeAndNil(Destino);
end;
end;
Arquivo origem é: cartelas.002
0000001-83A016205605112326304047556370
0000002-48A019729609121719293352556269
0000003-88A006998610122026323852565864
0000004-42A007622606071922313346486869
0000005-82A011084902042227354043516668
0000006-47A014906004141819363950536163
0000007-87A015688903071823313352556364
0000008-41A006227205091522324151555970
0000009-81A013270207122427384145506265
0000010-41A014250311141523353745545962
0000011-81A011548804112123374244555864
0000012-44A015799107101618354249566566
0000013-84A018820003132426364246565860
0000014-49A006277508141621293648516162
0000015-89A018760903061526293548566769
0000016-43A002170106082027314153565864
0000017-83A006579810111720293543456669
0000018-48A000747001061524404152545869
0000019-88A004380804062126293344466164
0000020-46A006011004082226313653566268
0000021-86A009665907141824293747496465
0000022-40A013346906141527303454556265
0000023-80A016116001021528373946546270
0000024-45A007177302091721293643505962
0000025-85A013775202102628323947565859
0000026-41A016945304071921304245565765
0000027-81A012369908121922294148566063
0000028-44A001536508101723404150566269
0000029-84A017920203071621333748526365
0000030-42A010923006111825303550515965
0000031-82A016370303061921303443495759
0000032-47A019263113141625293347506669
0000033-87A015906311131925314147525870
0000034-41A002985902051627364047555970
0000035-81A017082406071823304148526068
0000036-46A016740307111923303245496667
0000037-86A009944302041619373944525865
0000038-40A007369605112226323945496269
0000039-80A006421003082426293746505960
0000040-49A000111106071820294050546669
0000041-89A015687702141726313548495870
0000042-43A003344803102021354243546567
0000043-83A010799301102427293753555765
0000044-48A014369908112728343952536068
0000045-88A016881507131720394245526266
0000046-42A016219103111920384050535863
0000047-82A017103003041819313651556670
0000048-47A004560408121525334050566670
0000049-87A019663304071526383952556070
0000050-45A008760902061520343552555864
Grato.
Viggiano
Gostei + 0
14/08/2006
Rjun
Gostei + 0
15/08/2006
Viggianojr
Thanks.
Viggiano
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)