![]() |
Hilfe bei If then else
Ich habe folgendes Problem. Ich habe in einer schleife extra noch eine If then else abfrage drin. Nur komisch ist, wenn die Aussage unwahr ist macht er alles wie er sollte, aber im nächsten Loop ist die Aussage dann Wahr, aber trotzdem werden die Befehle von Else ausgeführt!
Habsch irgendwie ein Denkfehler?
Delphi-Quellcode:
[edit=mkinzler]Code-Tag durch Delphi-Tag ersetzt Mfg, mkinzler[/edit]
if RadioButton2.Checked then
begin for i := 1 to 2 do begin {anweisung} if xxx and xxy then begin if xxx = Text then begin {Anweisung} end else PostMessage(handle4, WM_KEYUP, Integer('P'), 0); {Selbe Anweisung wie bei wahr} end; end; end; [edit=mkinzler] Mfg, mkinzler[/edit] |
Re: Hilfe bei If then else
Zitat:
|
Re: Hilfe bei If then else
Da ich nich weiss, was genau gemacht wird, kann ich zum eigentlichen Problem nichts sagen aber schreibe besser
Delphi-Quellcode:
if xxx <> Text then
PostMessage(handle4, WM_KEYUP, Integer('P'), 0); {Anweisung} |
Re: Hilfe bei If then else
Dann hättest du die Abfrage lediglich negiert und müsstest dann deinen vorherigen Else-Block mit dem obigen vertauschen.
Edit: und wenn bei Wahr und Falsch jeweils selbiger Code steht, kannst du diesen auch aus den Blöcken der IF-Abfrage herausnehmen. |
Re: Hilfe bei If then else
Ok, dann geh ich mal näher ins Detail
Am Anfang werden handles und texte von einer Anwendung geholt Es wird geprüft ob eine Combobox ein bestimmten text hat Sollte der Text der Combobox eben grad xxx soll er eben seine anweisungen machen wenn nicht, kommt dann else ins spiel und drückt die taste P um das bestimmte wort zu bekommen und dann weiterzumachen. Am Anfang ist der Wert immer unwahr und er macht im ersten zug ihm eben war aber bei der wiederholung nutz er wieder else selbe ist wenn
Delphi-Quellcode:
drückt er jedesmal P obwohl der text eigentlich wahr ist!
if xxx and xxy then
begin if xxx = Text then begin {Anweisung} end if xxx <> Text then begin PostMessage(handle4, WM_KEYUP, Integer('P'), 0); {Anweisung} end; |
Re: Hilfe bei If then else
Gut dass du die Verbesserungsvorschläge ( auch wenn mehrmals der selbe komtt, einfach ignorierst).
Da wir nicht wissen, was der Code im Detail macht, wäre eine hilfreiche Antwort Zufall oder Glück |
Re: Hilfe bei If then else
lÖL hab doch gesagt das er am anfang eben Handles (combobox und textbox) von einer anwendung holt. wennn er diese Handles findet soll er eben Abgleichen ob der text von der bsp Combobox wahr ist. Wenn ja dann soll er eben sagen wir nun angeben. Wenn unwahr ist drückt er eben den Buchstaben P in der Combobox.
In der Combobox gibt es 2 wörter die mit P anfangen Private und Party am anfang steht meistens die Combobox auf normal, deshalb ist der erste was das prog macht P drücken und er kommt uff private (Else anweisung) im nächsten loop hingegen musste er ja feststellen das Combobox auf privat stehen und somit die Anweisung vor else ablaufen, das macht er aber nicht, er erkennt sie immer als unwahr an! |
Re: Hilfe bei If then else
Prüfe doch Deine Aussage ("im 2. Durchlauf ist das immer wahr") erst einmal nach, ich glaube das nämlich nicht.
|
Re: Hilfe bei If then else
Ich glaube du hast recht, da er ja vom ersten lauf den Getwintext noch im string selbst drin hat meinst du das damit?
|
Re: Hilfe bei If then else
Wahrscheinlich ein Problem mit case-sensitiv...rate ich mal so in den Raum rein
Delphi-Quellcode:
if SameText(ComboBox999.Text, meinVergleichstext) then
begin ... end else begin ... end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:45 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 by Thomas Breitkreuz