Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Suchfunktion (https://www.delphipraxis.net/25422-suchfunktion.html)

IOAH 6. Jul 2004 10:52


Suchfunktion
 
Hi Leute!

Ich habe da gerade ein Problem: Ich sitze schon seit 2 Tagen an einem Prog, das aus einem Text einen Suchbegriff raussucht, welches vorher in einem Edit-Feld eingegeben wird... Ich komm einffach nicht weiter... vielleicht könnt ihr mir helfen :-)

danke schonmal im voraus!

IOAH

Dax 6. Jul 2004 10:58

Re: Suchfunktion
 
Herzlich willkommen in der DP!

Es geht, mit Pos():

Delphi-Quellcode:
WortIndex := Pos(Edit1.Text, Memo1.Text);
wenn dein Suchbegriff in Edit1 steht und der Text in Memo1.

IOAH 6. Jul 2004 11:43

Re: Suchfunktion
 
Danke für die schnelle Antwort, doch eine Frage hätte ich da noch: Was ist in deinem Fall die Variable Wortindex?

IOAH

Dax 6. Jul 2004 11:45

Re: Suchfunktion
 
Die Position des ersten Buchstabens des Suchbegriffs im Text.

scp 6. Jul 2004 11:46

Re: Suchfunktion
 
Das ist die Position, an der der Suchbegriff das erste mal auftaucht.

Matze 6. Jul 2004 11:58

Re: Suchfunktion
 
Wenn du dann weitersuchen möchtest, dann verwende PosEx aus der Unit StrUtils (in die uses einbinden).

Stevie 6. Jul 2004 12:31

Re: Suchfunktion
 
Zitat:

Zitat von Matze
Wenn du dann weitersuchen möchtest, dann verwende PosEx aus der Unit StrUtils (in die uses einbinden).

Nö, die gibt's net!

Ich hab mal ne nette Procedure geschrieben, die den Suchtext in nem Memo anzeigt. (HideSelection muss auch False stehen)
Delphi-Quellcode:
procedure FindNext(Memo: TMemo; const Text: string);
var
  FirstIndex, StartPos: Integer;
  SearchText: string;
begin
  StartPos := Memo.SelStart;
  if Memo.SelLength > 0 then
    Inc(StartPos);
  SearchText := Copy(Memo.Text, Succ(StartPos), Length(Memo.Text) - StartPos);
  FirstIndex := Pos(Text, SearchText);
  if FirstIndex > 0 then
  begin
    Memo.SelStart := StartPos + Pred(FirstIndex);
    Memo.SelLength := Length(Text);
  end;
end;

scp 6. Jul 2004 12:38

Re: Suchfunktion
 
Zitat:

Zitat von Stevie
Zitat:

Zitat von Matze
Wenn du dann weitersuchen möchtest, dann verwende PosEx aus der Unit StrUtils (in die uses einbinden).

Nö, die gibt's net!

Was ist das denn für eine Aussage? PosEx gibt es seit D7, wenn du also tatsächlich D7 Pro verwendest und StrUtils in der uses hast, dann gibts die auch.

Christian Seehase 6. Jul 2004 12:38

Re: Suchfunktion
 
Moin IOAH,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Wenn Du statt TMemo auch TRichEdit nehmen kannst, könntest Du es auch mit der Methode FindText probieren.
Die Angabe Deiner Delphi Version im Profil kann übrigens u.U. helfen Tips zu geben.

@Stevie:
Zitat:

Zitat von Stevie
Zitat:

Zitat von Matze
Wenn du dann weitersuchen möchtest, dann verwende PosEx aus der Unit StrUtils (in die uses einbinden).

Nö, die gibt's net!

gemäss Profil hast Du D7 Pro.
In meiner D7 PE gibt's die ;-)
(in D6 hingegen noch nicht)

Stevie 6. Jul 2004 12:48

Re: Suchfunktion
 
Zitat:

Zitat von scp
Was ist das denn für eine Aussage? PosEx gibt es seit D7, wenn du also tatsächlich D7 Pro verwendest und StrUtils in der uses hast, dann gibts die auch.

Zitat:

Zitat von Christian Seehase
@Stevie: gemäss Profil hast Du D7 Pro. In meiner D7 PE gibt's die ;-) (in D6 hingegen noch nicht)

Autsch! :wall: Dumme Sache, dass ich gerade an der Arbeit bin, und dort D6 Pro verwende... :oops:

P.S.: Warum kann man im Profil nicht mehrere Delphi-Versionen angeben!? :gruebel: :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:55 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz