![]() |
Vergleich funktioniert nicht
Hallo, ich hab folgendes Problem:
Ich will ein Programm in Delphi schreiben, was ein Textfeld namens "TextInput" hat. Und da ist ein Button namens "Check". Wenn man den Button drückt, soll (nur als Beispiel) geprüft werden, ob da "Hallo" im Textfeld steht. Wenn ja, soll eine Meldung mit "Dir auch" angezeigt werden. Hier ist der Code:
Delphi-Quellcode:
Aber wenn ich kompiliere und auf den Button klicke, dann passiert nichts!!!
procedure TMainWindow.CheckClick(Sender: TObject);
begin if TextInput.text = 'Hallo' then begin ShowMessage ('Dir auch!'); end; end; end. Kann mir jemand helfen? Viele Grüße programmer021 |
AW: Vergleich funktioniert nicht
Schau mal in den OI und prüfe die OnClick Eigenschaft des Buttons, dort müsste ein Eintrag mit CheckClick stehen.
|
AW: Vergleich funktioniert nicht
Hallo und willkommen hier... :dp:
Wenn du einen Breakpoint in die "if" Zeile setzt hällt das Programm an ? Wie ist der Wert "Text" des Edits ? |
AW: Vergleich funktioniert nicht
Hallo, erstmal danke für die Antworten!
Zu Sir Rufo: Ja, da steht CheckClick. Zu haentschman: Wie macht man in Lazarus einen Breakpoint? Zu Allen: Vielleicht hilft es ja, wenn ich euch den tatsächlichen Code zeige, der ist nämlich vieel kompilizierter: :roll:
Delphi-Quellcode:
Es ist nämlich ein CrackMe, wo man die richtige Serial eingeben muss. (In diesem Fall XYZ)
procedure TMainWindow.CheckClick(Sender: TObject);
begin if TextInput.text <> 'XYZ' then begin ShowMessage ('Invalid serial entered!!!'); if TextInput.text = 'XYZ' then begin ShowMessage ('True serial entered!!! You are very good!!!'); end; end; end; end. EDIT: Beim tippen ist mir grade selber aufgefallen, woran es liegt. Wen XYZ eingegeben wird, wird ja beim ersten if schon abgebrochen... :oops: Aber kann mir jemand sagen, wie man das lösen kann? Viele Grüße programmer021 |
AW: Vergleich funktioniert nicht
Hallo...
Auch wenn die Logik noch falsch ist mal deinen Quelltext formatiert. Schau dir das mal an ob du den Logikfehler siehst. Tipp: dein Programm kommt niemals zu dem Vergleich auf " = 'XYZ' " zu True
Delphi-Quellcode:
procedure TMainWindow.CheckClick(Sender: TObject);
begin if TextInput.text <> 'XYZ' then begin ShowMessage ('Invalid serial entered!!!'); if TextInput.text = 'XYZ' then begin ShowMessage ('True serial entered!!! You are very good!!!'); end; end; end; end. |
AW: Vergleich funktioniert nicht
Hallo,
warum nicht so:
Delphi-Quellcode:
procedure TMainWindow.CheckClick(Sender: TObject);
begin if TextInput.text = 'XYZ' then begin ShowMessage ('True serial entered!!! You are very good!!!'); end else begin ShowMessage ('Invalid serial entered!!!'); end; end; |
AW: Vergleich funktioniert nicht
Zitat:
@programmer021: Solche und ähnliche Logikfehler lassen sich mit einer optimaleren Formatierung des Quelltextes verhindern. Ich empfehle Dir daher, auch dieses Thema in die Ausbildung mit einfliessen zu lassen. |
AW: Vergleich funktioniert nicht
Zitat:
|
AW: Vergleich funktioniert nicht
Danke, Leute!!!!!
Mit dem Source von Helmi hat es jetzt funktioniert. Zu haentschman: Ich habe doch eben schon gesagt, woran das Problem liegt, oder??!:?: Wenn XYZ eingegeben wurde, dann wird doch bei der Stelle
Delphi-Quellcode:
schon abgebrochen, weil die Serial ja nicht ungleich XYZ ist und somit wird die Stelle
begin
if TextInput.text <> 'XYZ' then begin
Delphi-Quellcode:
niemals aufgerufen.
if TextInput.text = 'XYZ' then
begin ShowMessage ('True serial entered!!! You are very good!!!'); end; Und zu blawen: Auch wenn ich mir Delphi selbst beigringe und keine Ausbildung mache, werde ich in Zukunft mehr auf sowas achten. Viele Grüße programmer021 |
AW: Vergleich funktioniert nicht
Zitat:
An die Anderen: Sorry daß mir mal die Hutschnur platzt. Ich mache mir jetzt ein Fläschchen Roten auf und beruhige mich wieder. :hi: |
AW: Vergleich funktioniert nicht
Zitat:
Das hast du mit dem Tipp nochmal verstärkt. Der sollte offensichtlich einen Denkanstoß zur Lösung des Problems geben. programmer021 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:10 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz