Wyszukiwanie slowa

0

Mam problem. Na pewnoe takie pytanie padlo juz kilka razy ale naprawde szukałem i nie mogłem znaleŹć.
A problem wygląda tak:

Potrzebuje żeby wyszukiwał mi słowa w całych ciągach zdań. naprzykałd z użyciem MEMO czyli, mam jakiś tekst w memo i wpisuje jakieś słowo w okienku edycyjnym a program znajdwał by to słowo a najlepiej żeby jeszcze wypisywał gdzieś w której to linii.

0

Obadaj funkcje Pos i PosEx.

0

juz na to patrzyłem (wiem, że jest HELP :P ) ale jakoś nie wiem do końca jak to użyć...

0

No jak to nie wiesz... ;( . Jeżeli wyszukujesz jakiś wyraz to możesz pobrać jego długość [Length()], potem funkcją Pos() znajdujesz w szukanym tekscie pozycję tego wyrazu, używasz funkcji Copy() której podajesz własnie ta pozycję i ilośc znaków do skopiowania - czyli długość. Wyszukanie nastepnego wyrazu bedzie tak samo, z ta róznica że uzywasz fukcji PosEx której podajesz od którego miejsca ma zacząć szukanie (bo inaczej znowu znajdzie ci pierwszy wyraz).

0

Uznasz mnie za tempaka strasznego ale jakos mi to nie wychodzi. Probuje to napisac z pos i posEx ale i tak nie wychodzi coś. Jakbyś mogl kawalek kody napisac byl bym Ci po stokroć wdzięczny...

0

Przypuszczalnie za dużo nakombinowałem ale działa :d

var
  Text : String;
  I, Offset, Count : Integer;
begin
  Text := 'test';
  for I := 0 to Memo1.Lines.Count - 1 do
  begin
    Offset :=  - Length(Text);
    Count := -1;
    repeat
      Offset := PosEx(Text,Memo1.Lines[I], Offset + Length(text));
      Inc(Count);
    until Offset = 0;
    Memo2.Lines.Add('Linia ' + IntToStr(I) + ' : ' + IntToStr(Count) + ' wystąpień słowa "' + Text + '"');
  end;
end;
0

No nie do końca :) Przy kompilacji wyskakuje mi bład: Undeclared identifier PosEx...

0

Dobra już dziła. Nie dodałem StrUtils do uses

0

Dzieki Ci wielkie. Zmodyfikowałem to sobie na własny użytek i działa bardzo dobrze. Tylko że teraz pojawia mi sie drugie pytanie:

Ten kod rozróżnie duże i małe litey więc jak szukam np. "Lalka" to nie znajdzie mi słowa "lalka" bo jest z małej litery. A jak zrobić by nie rozróżniał dużych i małych liter...?

0

lowercase (zamienia na małe) lub uppercase (zamienia na duże)

1 użytkowników online, w tym zalogowanych: 0, gości: 1