GARANTIR DESCONTO

Fórum Como buscar Strings em arquivos do Tipo TXT com várias linha #267699

07/02/2005

0

Gostaria de Saber como posso implementar uma busca em um arquivo TXT, é mais ou menos como aquele LOCALIZAR do Windows. Eu insiro uma sequência de Strings e o Programa vai varrendo vários arquivos e buscando dentro desses arquivos a sequencia de String. Estou utilizando a função POS, mas acho q não deu certo, pois há strings e ele não acha, algumas são achadas e outras não. Desde já agradeço. Obg Galera !
Eu estou usando o STRingList do Delphi. Crio uma lista com os arquivos a serem Pesquisados, depois crio outra lista com os arquivos a serem encontrados nos arquivos FDR.
Só q acho q o delphi não carrega a linha toda do arquivo, não sei pq?
Segue o código q faz a busca e um tipo de arquivo q é utilizado para ser pesquisado.

Procedure Tform1.BuscaMSGemFDR;
Var
Arq:TextFile;
Buffer:string; //Buffer q armazenará as linhas dos Arquivos
I,c:integer;
Achou:Boolean; //Flag de Controle
Begin
Achou:=False;
For I:=0 to ListaMSG.Count-1 do
Begin
For C:=0 to ListaArqsFDR.Count-1 do
Begin
If Achou=false then
Begin
AssignFile(Arq,ListaArqsFDR[C]);//abrindo arquivos da lista FDR
reset(Arq);
While not EOF(Arq) do //Nesse loop pesquiso as varias linhas do arq
begin
readln(Arq,Buffer);
If Pos(AnsiLowerCase(ListaMSG[I]),AnsiLowerCase(Buffer)) <> 0 then //Se encontrar paro o loop e passo para outro arq a ser pesq
begin
Achou:=True;
Break;
end;
End;//Final do While q busca a ocorrencia no arquivo.
CloseFile(Arq);
End
Else
Begin
break;
End;
End;//Final do FOR q controla O teste de arquivos FDR a serem abertos
if Achou = false then
Begin
//Memo1.Lines.Add(Listamsg[I]);
Achou:=False;
End
ELSE
Begin
Achou:=False;
End;
If Achou=False then
Begin
Achou:=False;
End;
End; Final do Repita q controla as buscas de MSG´s a serem testadas

================
Arquivo q está as strings a serem pesquisadas...

[b:7eb1a4b50a]110F0913[/b:7eb1a4b50a]
Cabal

Cabal

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar