Procura em *.txt
22/05/2003
0
tenho um arquivo txt com várias palavras. Exemplo
uma
duas três
quatro
seilah
outra
preciso saber como localizar as palavras. Tipo:
se na primeira linha a palavra for ‘uma’, então faz tal coisa. Se for ‘duas’, faz outra coisa. Valew pessoal, isso parece ser fácil, más eu não consegui.
uma
duas três
quatro
seilah
outra
preciso saber como localizar as palavras. Tipo:
se na primeira linha a palavra for ‘uma’, então faz tal coisa. Se for ‘duas’, faz outra coisa. Valew pessoal, isso parece ser fácil, más eu não consegui.
O que seria de nós se tivessemos apenas Cobol e Clipper ?
Overflow
Curtir tópico
+ 0
Responder
Posts
22/05/2003
Ildefonso
Olá, OverFlow.
Se seu arquivo txt não for grande (e com ´grande´ eu não sei de que tamanho estou falando... nunca testei com arquivos acima de 40K), você pode carregar seu conteúdo para um TString e manipular cada linha comum uma string comum.
O código a seguir presume que você tem um formulário Form1 e um botão Button1, além de um arquivo a ser pesquisado com o nome de ´Comandos.txt´. Nas ocorrências das palavras chaves, você será informado com uma mensagem típica.
Abstraia o exemplo e modifique para sua situação.
Bom trabalho. 8)
Se seu arquivo txt não for grande (e com ´grande´ eu não sei de que tamanho estou falando... nunca testei com arquivos acima de 40K), você pode carregar seu conteúdo para um TString e manipular cada linha comum uma string comum.
O código a seguir presume que você tem um formulário Form1 e um botão Button1, além de um arquivo a ser pesquisado com o nome de ´Comandos.txt´. Nas ocorrências das palavras chaves, você será informado com uma mensagem típica.
procedure TForm1.Button1Click(Sender: TObject); var strs: TStrings; line: String; ii, kk: Integer; begin strs := TStringList.Create; strs.LoadFromFile(´Comandos.txt´); for ii := 0 to strs.Count-1 do begin line := strs[ii]; kk := Pos(´uma´, line); if (kk > 0) then Application.MessageBox(PChar(´Achada a palavra "uma"´ + ´ na linha ´ + IntToStr(ii+1) + ´ e coluna ´ + IntToStr(kk)), ´Atenção´); kk := Pos(´duas´, line); if (kk > 0) then Application.MessageBox(PChar(´Achada a palavra "duas"´ + ´ na linha ´ + IntToStr(ii+1) + ´ e coluna ´ + IntToStr(kk)), ´Atenção´); end; strs.Free; end;
Bom trabalho. 8)
Responder
Clique aqui para fazer login e interagir na Comunidade :)