Fehlermeldung in Lazarus erstellen?
Hi Ich habe ein Frage bezüglich einer aufgabe in einer Informatik Aufgabe:
Bei der Eingabe des Schlüssels durch den Benutzer können natürlich Eingabefehler auftreten,
z.B. ein
Buchstabe taucht mehrfach auf oder die Länge passt nicht. Daher empfiehlt es sich, dem
Benutzer
die
Möglichkeit zu geben, seinen Schlüssel prüfen zu lassen. Genau das sollst du nun angehen! Auf der nächsten Seite findest du eine Abbildung, die ein entsprechendes Fenster (Formular) darstellt.
Durch Betätigen der Schaltfläche ‚Prüfen‘ wird der Schlüssel auf Korrektheit geprüft und in jedem Fall eine Information ausgegeben. Erweitere dein Formular zunächst um die neuen Komponenten (ein Button und ein Panel). Wie muss die zugehörige Ereignisbehandlungsroutine im Quelltext nun aufgebaut sein?
Schreibe sie anhand der folgenden
Anleitung und teste dein erweitertes
Programm....
kann mir da irgendjemand unter die Arme greifen?
Lg Roman
.
.
1 Antwort
1) Überlege dir zuerst, welche grafischen Komponenten dein Programm/Formular braucht und bau ausgerüstet mit diesem Wissen die Oberfläche zusammen. Da sich das alles mit Drag & Drop lösen lässt, sollte es da keine Probleme geben.
2) Wenn du deinen Button selektierst und in den Objektinspektor schaust, wirst du einen Tab Ereignisse finden. Dort sind alle Ereignisse aufgelistet, auf die die Komponente reagieren kann. Via Doppelklick in die jeweils (leere) rechte Spalte (je Ereignis) kannst du einen Ereignisbehandler erstellen lassen. Das übernimmt Lazarus für dich automatisch. Das Fenster mit der entsprechenden Codestelle wird sogar direkt geöffnet.
Im Code kannst du auf Komponenten des Formulars zugreifen. Lazarus generiert je Komponente eine Variable (die den Namen trägt, der im Objektinspektor für die jeweilige Komponete hinterlegt ist).
3) Die Aufgabe wird dir genaue Vorgaben machen, wie ein valider Schlüssel aussieht. Ein Satz deutet sogar daraufhin, dass du eigentlich schon eine genaue Anleitung dafür hast.
Schreibe sie anhand der folgenden Anleitung (...)
Generell dürften dir String-Funktionen beim Prüfen helfen.
- String handling
- String functions
- Falls du über den String iterieren möchtest: String loop
Noch geeigneter (aber vielleicht schwieriger) wäre sicherlich ein regulärer Ausdruck (TRegExpr; lies auch hier). Kurz erklärt handelt es sich hierbei um ein Muster, auf welches ein String geprüft wird. Wenn das Muster im String gefunden werden kann, war die Prüfung erfolgreich.
Beispiel:
Regex: "Ste(f|ph)an"
Eingaben:
Stefan => valid
Stephan => valid
Sophie => invalid