Winkelmann Software Blog

Wortsuche im String

Bei Lazarus und Free Pascal kann man ein Wort in einem String mit der Funktion pos(wort, String); suchen. Nachfolgend möchte ich dir das mit einem kleinen Programm zeigen.

Abb. 1-00 Software Stingsuche

Abb. 1-00 Software Stingsuche

Die Benutzeroberfläche sieht wie folgt aus siehe Abbildung 1.00. Die Editfelder tragen in meiner Software von oben nach unten die folgenden Namen. Den Namen kannst du über den Objektinspektor ändern. Das Editfeld unter dem Label >String eingeben< trägt den Namen: EdtStringEingabe. Das Editfeld unter dem String >Wortsuche< trägt den Namen: EdtWortSuche. Das Editfeld unter dem Label mit der Caption >String Zeichen< trägt den Namen: EdtStringZeichenZahl.
Der Button trägt den Namen: BtnWortsuche. Das unterste Editfeld trägt den Namen: EdtErgebnis.
Nachfolgend der habe ich für den Button BtnWortsuche ein OnClick() Ereignis eingefügt. Nachfolgend der Quelltext der Prozedure.

Quelltext:

01: procedure TForm1.BtnWortsucheClick(Sender: TObject);
02: var
03: word, myString : string;
04: begin
05: word := EdtWortSuche.Text;
06: myString := EdtStringEingabe.Text;
07: EdtErgebnis.Text := IntToStr(Pos(word, myString));
08: end;

In Zeile 01 siehst du den Kopf der Prozedure. Anhand des Namen sehen wir das die Prozedure im Pascal Quelltext des Form1 steht und den Namen BtnWortsucheClick() trägt. Übergeben wird hier ein Objekt. Was Objekte sind besprechen wir zu einem späteren Zeitpunkt. Da dieser Teil der Prozedure automatisch angelegt wird, sehen wir darüber weg.
In Zeile 02 das var sagt aus das ich erst noch ein paar Variablen deklarieren möchte.
In Zeile 03 lege ich die beiden String Variablen word (englisch) und myString fest.
In Zeile 04 leite ich mit dem Wort begin den Anweisungsteil innerhalb der Prozedure ein.
Zeile 05: hier kopiere ich den Textinhalt vom Editfeld EdtWortSuche in die String Variable word.
Zeile 06 Hier kopiere ich den Textinhalt vom Editfeld EdtStringEingabe in die String Variable myString.
Zeile 07: Hier schreibe ich das Ergebnis Textinhalt der Funktion IntToStr() und Pos(word, myString) in das Editfeld EdtErgebnis. Mit der Funktion Pos() erhalte ich einen Integer Wert diesen wandele ich mit der Funktion IntToStr in einem String um. Für die Zuweisung eines Editfeldes müssen bei Seiten der Zuweisung den gleichen variablen Typ haben. Bei Editfeldern ist das die Variable String.
Als kleine Spielerei habe ich vom letzten Artikel die Zeichenanzahl mit in das Programm hineingebracht. Hier nur noch einmal kurz der Quelltext. Das Ereignis ist ein Change Ereignis des Edtfeldes EdtStringEingabe. Das bedeutet bei der Eingabe des String in dem wir ein Wort suchen möchten ändern sich der Counter bei der Eingabe des Textes.

Abb 1.01 Software Sting Suche wird ausgefuehrt

Abb 1.01 Software Sting Suche wird ausgefuehrt

Quelltext der Prozdeure: EdtStringEingabeChange
procedure TForm1.EdtStringEingabeChange(Sender: TObject);
begin
EdtStringZeichenZahl.Text := IntToStr(length(EdtStringEingabe.Text));
end;
Im Anhang gibt dann noch das kleine Programm zum Download.

Anhang:

Software Download: Wortsuche im String


Beitrag kommentieren

Bitte verfasse einen Kommentar.

Dein Kommentar wird vor der Freischaltung von einem Admin moderiert.