Free Pascal programmieren lernen.

Aktuelles

Herzlich willkommen auf freepascal.de


Free Pascal programmieren lernen.

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-01 Software Stingsuche

Abb. 1-01 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.02 Software Sting Suche wird ausgefuehrt

Abb 1.02 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 Herunterladen – Wordsuche im String


Free Pascal programmieren lernen.

Länge eines Strings

Ein String ist eine Zeichenkette um heraus zu finden, wie lang dieser String ist gibt es die Funktion length().

Nachfolgend zwei Beispiele:

Beispiel 01: Ein einfaches Programm (Konsolenprogramm) Länge eines Strings messen:

01: program awstringlength;
02: var
03: deinText : string;
04: begin
05: writeln('Bitte gebe deinen Text ein!');
06: // Eingabe
07: readln(deinText);
08: writeln('Dein Text ist ', length(deinText),' Zeichen lang.');
09: readln;
10: .end

Zeile 01 ist der Programmname unter dem ich diese kleine Anwendung abgespeichert habe. In Zeile 02 leite ich mit var die Variablendeklaration ein. In Zeile 03 wird die Variable deinText als String festgesetzt. In Zeile 04 wird mit dem Begin der Anweisungsteil eingeleitet. Zeile 05 gibt den Text in den Einfachen Anführungszeichen aus. In Zeile 06 steht ein Kommentar das nun die Eingabe kommt. In Zeile 07 lesen wir einen Text und damit unseren String ein, den wir messen wollen. Jetzt in Zeile 08 geben wir dein Text Dein Text ist X Zeichen lang aus. Beim X wird unsere Variable deinText gemessen und als Integer Wert ausgegeben. Dies ist an dieser Stelle sehr wichtig den im zweiten Beispiel werden wir eine kleine Anwendung schreiben in der Wir die Ausgabe in einem Editfeld darstellen wollen. Dabei müssen wir den Integer Wert erst einmal erst in einem String umwandeln. Das readln in Zeile 09 hält das Programm noch einmal an so, dass wir die Ausgabe in der Konsole sehen können. In Zeile 10 wird das Programm beendet.

Abb. 1.01 Sting messen Anwendung

Abb. 1.01 Sting messen Anwendung

Du siehst hier links in Abbildung 1.00 die Anwendung für die Messung des Strings. Der Text in der Caption lautet „Bitte gebe deinen Text ein.“ der Name des TLabel lautet: LblTextEingabe. Das Editfeld Trägt den Name EdtTextEingabe. Der Button ist mit der Caption String messen beschriftet und trägt den Name BtnStringMessen. Das zweite Edittfeld trägt den Name EdtStringZeichenZahl. Ich werde die das gesamte Programm unter dem Namen awstringlength.lpi und awstringlengthu1.pas abspeichern und dir zum Download zur Verfügung stellen.
Jetzt klicke auf den Button dann gehst du im Objektinspektor auf Ereignisse und erstelltest für den Button ein OnClick Ereignis.


Free Pascal programmieren lernen.

Konstanten

  1. Was sind Konstanten
  2. Wo können Konstanten im Quellcode deklariert werden?

Konstanten sind feste Zahlenwerte, wie in der Mathematik die Zahl Pi. Diese Könnten wir in abgekürzter Form als Konstante darstellen.

Abb. 1.01 Konstanten Deklaration

Abb. 1.01 Konstanten Deklaration

Konstanten werden im Quelltext als const eingeleitet. In Abbildung 1.00 siehst du das die Variablen PI mit dem Wert 3.14 und die Konstante Version 1.01 festgelegt wurden. Wenn du nun ein Programm in Lazarus schreibst kannst du diese verwendenden. Als Regel gilt das Konstanten in der Programmiersprache immer großgeschrieben werden.


Free Pascal programmieren lernen.

Variablen, Zeichen und Zeichenketten

5.1 Variablen mit ganzen Zahlen

Es gibt verschiedene ganzzahlige Datentypen diese wurden während der Anfangsphase der Programmiersprachen entwickelt um Speicherplatz zu sparen. Es gibt die Nachfolgenden Datentypen: Hier mal ein Link aller Datentypen.
Wir werden uns der Einfachheit halber nur mit dem Integer (LongInt) beschäftigen.
Eine Integer Variable kann innerhalb eures Quelltextes angelegt werden. Dies nennt man die Variablendeklaration.

Var
deineGanzzahl : integer;

5.2 Variablen mit Komma (Fliesskommazahlen)

Variablen mit Komma oder Fliesskommazahlen ist nicht ganz richtig in der Programmiersprache Pascal schreibt man eine Variable nicht mit Komma, sondern mit einem Punkt. Unter dem oben genannten Link findest du alle Datentypen. Wir werden für diesen Grundlagen Kurs nur die Variable Real verwenden.

Var
deineKommaZahl : real;

5.3 Variablen mit einem Zeichen

Variablen mit einem Zeichen ist die Char Variable. Diese benötigen wir um nur ein Zeichen darzustellen. Ganz am Anfang dieses Kurses bei der Darstellung der Eingabe und Ausgabe in der Konsole haben wir bereits einen Charwert verwendet um ein Sonderzeichen das Ü darstellen zu können. Mit dem Char lassen sich im ASCI2 Code eine Menge Sonderzeichen fehlerfrei darstellen, ausgeben und übergeben.

Var
deinZeichen : char;

5.4 Variablen mit Text

Für jeden Programmierer die berühmtesten Zeichen ist wohl das >>Hello World<<. Mit dem Hallo Welt Beispiel fängt man in den meisten Fällen an zu programmieren. Genau dieses Hallo Welt ist eine Zeichenkette, die dazu passende Variable heißt String.

Var
deinText : string;

Da wir viel mit Benutzeroberflächen arbeiten werden ein kurzer Hinweis:
Die meisten Komponenten die Editfelder (TEdit) oder auch Textfelder (TMemo), stellen alle Darstellungen als Text dar. Denn auch eine Zahl kann in Pascal ein Text sein.
Weisen wir einem Text eine Zahl zu müssen wir diese mit der Funktion IntToStr() für Integer und für Real FloatToStr() umformen. Möchten wir aus einem Text eine Zahl in einen Integer Datentyp oder Real Datentyp umwandeln müssen wir hier für den Integer die Funktion StrToInt() nutzen und für den Real Datentyp die Funktion StrToFloat(). Damit Ihr immer auf den aktuellen Stand seid, könnt ihr euch passend zu der Entwicklung des Kurses die Lazarus und Free Pascal Short Code Referenz herunterladen. Dies ist eine kurze Zusammenfassung ohne Beschreibung der Programmiersprache Free Pascal. Mehr dazu gibt es hier [Lazarus und Free Pascal Short Code Referenz]


Free Pascal programmieren lernen.

Die Lazarus IDE Komponenten Bibliothek

Bei der Lazarus IDE Komponenten Bibliothek geht es um die Standard Komponenten der Entwicklungsumgebung Lazarus. Die Komponenten von Lazarus findest du im Hauptfenster siehe Abb. 1.00.

Abb. 1.01 Lazarus Header

Abb. 1.01 Lazarus Header

In der Komponenten Bibliothek stelle ich jede einzelne Komponente vor und beschreibe diese. Zu alle Beschreibungen gibt es eine textuelle Beschreibung und eine Video Beschreibung. Die Textbeschreibungen erscheinen immer etwas eher als die Videos.

Für die Lazarus Version 1.64 gibt es bereits eine Komponenten Bibliothek auf meinem YouTube Channel.

In der Navigation rechts könnt ihr die Komponenten Bibliothek sehen.


1 7 8 9 10 11 15