Procura em *.txt

22/05/2003

1

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.

O que seria de nós se tivessemos apenas Cobol e Clipper ?



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.
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;
Abstraia o exemplo e modifique para sua situação.

Bom trabalho. 8)


Responder