![]() |
while and "funktioniert nicht"
Delphi-Quellcode:
Ich möchte folgendens; Wenn Spieler 1 und/oder Spieler 2 leer sind dann soll er eine showmessage anzeigen. Momentan sagt er Der operator ist auf diesen Operantentypen nicht anwendbar. Also 1 möchte ich wissen was ich falsch mache und wie ich Delphi und/oder sagen kann z.B. while Spieler1 and/or Spieler2 ='' do ..... :thumb:
label4.Caption:=edit1.Text;
label6.Caption:=edit2.Text; Spieler1:=edit1.Text; Spieler2:=edit2.Text; while Spieler1 and Spieler2 ='' do showmessage('Spieler1 und Spieler2 wollen einen Namen D:') ; Danke schonmal im Voraus! |
AW: while and "funktioniert nicht"
Delphi-Quellcode:
while (spieler1 = ´´) and (spieler2 = ´´) do ...
|
AW: while and "funktioniert nicht"
Delphi-Quellcode:
ist auch keine vollständige Bedingung müsste dann
Spieler1
Delphi-Quellcode:
heissen.
Spieler1 = ''
So wie Du es implementiert hast, ist es zudem eine Endlosschleife (wenn Bedingung erfüllt) Wenn die Namen leer sind, muss die Möglichkeit besteheh, etws einzugeben. Ich würde die Abfrage (ohne Schleife) im Exit-Event des Edits durchführen und wenn alles OK ist einen OK-Button freigeben ( enablen). |
AW: while and "funktioniert nicht"
Du hattest den gleichen logischen Fehler
![]() Bitte nicht einfach nur die Lösung in dein Programm kopieren, sondern auch aus (so grundlegenden) Fehlern lernen. :wink: |
AW: while and "funktioniert nicht"
Erstmal Danke für die ganzen hilfreichen Antworten ich würde gerne noch wissen wie man per befehl einen button auslöst. Also z.B
Delphi-Quellcode:
oder so ? bzw gibt es alternativen
If Zahl=0 then Button3 start
|
AW: while and "funktioniert nicht"
Was funktioniert:
Button3.Click; Aber! Es ist deutlich schöner die Funktionalität die im OnClick des Buttons steht in eine separate Methode auszulagern und diese dann von mehreren Stellen aufzurufen. Von daher tu dir den Gefallen und versuch es lieber so, statt mit der obigen Lösung. |
AW: while and "funktioniert nicht"
Delphi-Quellcode:
Aber ich frage mich, wie das in diesem Fll Helfen soll.
Button.Click;
|
AW: while and "funktioniert nicht"
Ich würde es wie schon mal geschrieben über die Aktivierung des Buttons machen.
Delphi-Quellcode:
Button.Enabled := False;
Delphi-Quellcode:
Diese Methode bei den Edits mit dem Exit-Event verbinden (onExit).
procedure TFormDings.EditExit(Sender: TObject);
begin Button.Enabled := ( edti1.Text <> '' ) and (edit2.Text <> ''); end; Wenn beide Edits nicht mehr leer sind, wird der Button anklickbar. |
AW: while and "funktioniert nicht"
Zitat:
Mal ganz davon abgesehen, dass OnExit nicht immer ausgelöst wird, hier ein kleines Beispiel, was auch dagegen spricht: Edit1 enthält Text. In Edit2 wird gerade was eingegeben. Der Button ist dann immer noch disabled. Wenn man es brauchbar machen will, empfehle ich die Nutzung von TActionList. Bei den Actions kann man dann im OnUpdate den Enabled-Status des Button vernünftig steuern. Aber ich weiß nicht, ob der TE damit vielleicht derzeit noch überfordert ist. |
AW: while and "funktioniert nicht"
Und wenn schon, dann würde ich das eher im OnChange der Buttons unterbringen.
Denn wer verlässt ein Edit bevor er auf einen Button klickt? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 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