AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Vergleich funktioniert nicht
Thema durchsuchen
Ansicht
Themen-Optionen

Vergleich funktioniert nicht

Ein Thema von programmer021 · begonnen am 15. Jul 2012 · letzter Beitrag vom 15. Jul 2012
Antwort Antwort
Seite 1 von 2  1 2      
programmer021

Registriert seit: 15. Jul 2012
7 Beiträge
 
Delphi XE Architect
 
#1

Vergleich funktioniert nicht

  Alt 15. Jul 2012, 16:25
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:
procedure TMainWindow.CheckClick(Sender: TObject);
begin
    if TextInput.text = 'Hallothen
  begin
         ShowMessage ('Dir auch!');
end;
end;
end.
Aber wenn ich kompiliere und auf den Button klicke, dann passiert nichts!!!


Kann mir jemand helfen?


Viele Grüße
programmer021
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 16:29
Schau mal in den OI und prüfe die OnClick Eigenschaft des Buttons, dort müsste ein Eintrag mit CheckClick stehen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#3

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 16:31
Hallo und willkommen hier...

Wenn du einen Breakpoint in die "if" Zeile setzt hällt das Programm an ? Wie ist der Wert "Text" des Edits ?
  Mit Zitat antworten Zitat
programmer021

Registriert seit: 15. Jul 2012
7 Beiträge
 
Delphi XE Architect
 
#4

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 17:52
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:
Delphi-Quellcode:
procedure TMainWindow.CheckClick(Sender: TObject);
    
  begin
         if TextInput.text <> 'XYZthen
  begin
        ShowMessage ('Invalid serial entered!!!');
        if TextInput.text = 'XYZthen
        begin
               ShowMessage ('True serial entered!!! You are very good!!!');
              end;
        end;
  
  end;
  end.
Es ist nämlich ein CrackMe, wo man die richtige Serial eingeben muss. (In diesem Fall XYZ)
EDIT: Beim tippen ist mir grade selber aufgefallen, woran es liegt. Wen XYZ eingegeben wird, wird ja beim
ersten if schon abgebrochen...
Aber kann mir jemand sagen, wie man das lösen kann?

Viele Grüße
programmer021
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 18:08
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 <> 'XYZthen
  begin
    ShowMessage ('Invalid serial entered!!!');
    if TextInput.text = 'XYZthen
    begin
      ShowMessage ('True serial entered!!! You are very good!!!');
    end;
  end;
end;




end.

Geändert von haentschman (15. Jul 2012 um 18:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 18:11
Hallo,

warum nicht so:

Delphi-Quellcode:
procedure TMainWindow.CheckClick(Sender: TObject);
begin
  if TextInput.text = 'XYZthen
    begin
      ShowMessage ('True serial entered!!! You are very good!!!');
    end
  else
    begin
      ShowMessage ('Invalid serial entered!!!');
    end;
end;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von blawen
blawen

Registriert seit: 1. Dez 2003
Ort: Luterbach (CH)
677 Beiträge
 
Delphi 12 Athens
 
#7

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 19:18
warum nicht so:
Du bist ja schon fast gemein

@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.
Roland
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 19:22
warum nicht so:
Du bist ja schon fast gemein
Grundsätzlich unschuldig
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
programmer021

Registriert seit: 15. Jul 2012
7 Beiträge
 
Delphi XE Architect
 
#9

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 20:06
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:
begin
         if TextInput.text <> 'XYZthen
  begin
schon abgebrochen, weil die Serial ja nicht ungleich XYZ ist und somit wird die Stelle
Delphi-Quellcode:
if TextInput.text = 'XYZthen
    begin
      ShowMessage ('True serial entered!!! You are very good!!!');
    end;
niemals aufgerufen.

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
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#10

AW: Vergleich funktioniert nicht

  Alt 15. Jul 2012, 20:49
Zitat:
Zu haentschman: Ich habe doch eben schon gesagt, woran das Problem liegt, oder??!
Was das Problem ist war klar. Du solltest von selbst darauf kommen mit dem neu formatierten Quelltext. Das wäre auch nicht schwer gewesen. Selbst denken ist einfach zu unbequem... Das nächste mal schmeiße ich dir den korrekten Quelltext vor die Füße und pfeife auf die Hilfe zur Selbsthilfe. Ob du es verstehst oder nicht ist mir dann wurscht !

An die Anderen: Sorry daß mir mal die Hutschnur platzt. Ich mache mir jetzt ein Fläschchen Roten auf und beruhige mich wieder.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:39 Uhr.
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