Jak wyszukać słowo w tekście? (delphi)

2011-10-03 16:13
rotua
0

Mam tekst w memo1 (delphi)

Ala ma kota.

Jak wyszukać słowo "ma" i skopiować do memo2?

Pozostało 580 znaków

2011-10-03 16:28
0
procedure TForm1.FDFind(Sender: TObject);
var
  sText: string;
  StartFrom, FoundPos: integer;

tekst : string;

begin

  if PreviousFoundPos = 0 then

    FD.Options := FD.Options - [frFindNext];

  if not (frFindNext in FD.Options) then begin 
    sText := RE.Text;
    StartFrom := 1;
  end
  else begin 

    StartFrom := PreviousFoundPos + Length(FD.Findtext);

    sText := Copy(RE.Text, StartFrom, Length(RE.Text) - StartFrom + 1);
  end;

  if frMatchCase in FD.Options then 

    FoundPos := Pos(FD.FindText, sText)
  else

    FoundPos := Pos(UpperCase(FD.FindText), UpperCase(sText));

  if FoundPos > 0 then begin

    PreviousFoundPos := FoundPos + StartFrom - 1;

    RE.SelStart := PreviousFoundPos - 1;
    RE.SelLength := Length(FD.FindText);
    RE.SetFocus;
 tekst:=FD.FindText;
memo2.Lines.Add(tekst);
  end
  else
    ShowMessage('Nie Odnaleziono "' + FD.FindText + '"');

end;
edytowany 2x, ostatnio: eloszek, 2011-10-03 16:30

Pozostało 580 znaków

2011-10-03 16:30
0

Eloszek mnie ubiegł, ale jest prostszy sposób, jeżeli chodzi tylko o skopiowanie konkretnego słowa i nie trzeba do tego "zatrudniać" komponentu TFindDiaog.

const
  FindWhat = 'ma';
var
  S : string;
  X : integer;
begin
  S := Memo1.Text;
  X := Pos(FindWhat, S);
  if X > 0 then
    Memo2.Text := Copy(S, X, Length(FindWhat));
end;

I szczerze polecam zapoznanie się również z jakimiś kursami Delphi czy kompendium na tej stronie, by nie pytać o banalne podstawy.


olesio ja jestem GostekPro ... dalej widzisz we mnie totalnego laika ? - eloszek 2011-10-03 16:31
Kod i tak jest pewnie wygooglowany, ale to nic złego, czasami ja też posiłkuję się googlami, bo po to są żeby jak istnieje gotowy kod to go zaadoptować do swoich potrzeb. Co do Ciebie, to w innych swoich postach pod poprzednim nickiem pokazałeś poziom posiadanej wiedzy ;/ - olesio 2011-10-03 16:41
popatrz na var w tym kodzie to dopisane jest przezemnie popatrz na linijke przed end else to tez moje , umiem poslugiwac sie zmiennymi , wszystkimi ale nie bede tutaj Ci gadal o mojej wiedzy - eloszek 2011-10-03 16:44
ja cież kur nie pier - nie no pro pełną gębą... Gdzie się można po autograf zgłosić? - Misiekd 2011-10-03 16:59
No ok, Twoje wiedze jest "jakaś', ale jest bardzo "wybiórcza", ponieważ jednym razem wiesz jak wyszukać tekst w Memo przy użyciu FindDialogu, a innym nie umiesz zainstalowac SynEdit albo użyć innego komponentu w sposób dynamiczny, co według mnie mieści się może nie w banalnych, ale pewnych podstawach, których przyswoić czytając informacje dostępne w google. Ja też wielu rzeczy nie wiem, ale nie będę samozwańczym bardzo dobrym znawcą Delphi ;/ Ale dalszą dykusje uważam ze bezcelową, bo temat nie tego dotyczył. - olesio 2011-10-03 16:59
"jestem GostekPro ... dalej widzisz we mnie totalnego laika ?" - to żart, tak? - ŁF 2011-10-03 17:15

Pozostało 580 znaków

Liczba odpowiedzi na stronę

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