AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

while and "funktioniert nicht"

Ein Thema von Versus · begonnen am 3. Sep 2018 · letzter Beitrag vom 5. Sep 2018
Antwort Antwort
Seite 1 von 2  1 2   
Versus

Registriert seit: 9. Aug 2018
15 Beiträge
 
#1

while and "funktioniert nicht"

  Alt 3. Sep 2018, 21:10
Delphi-Quellcode:
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:') ;
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 .....

Danke schonmal im Voraus!

Geändert von TBx ( 4. Sep 2018 um 06:34 Uhr) Grund: Druckfehler gemopst
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: while and "funktioniert nicht"

  Alt 3. Sep 2018, 21:21
while (spieler1 = ´´) and (spieler2 = ´´) do ...
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: while and "funktioniert nicht"

  Alt 3. Sep 2018, 21:25
Spieler1 ist auch keine vollständige Bedingung müsste dann Spieler1 = '' heissen.

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).
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.337 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: while and "funktioniert nicht"

  Alt 4. Sep 2018, 06:05
Du hattest den gleichen logischen Fehler hier schonmal.
Bitte nicht einfach nur die Lösung in dein Programm kopieren, sondern auch aus (so grundlegenden) Fehlern lernen.
Peter

Geändert von Jasocul ( 4. Sep 2018 um 06:13 Uhr)
  Mit Zitat antworten Zitat
Versus

Registriert seit: 9. Aug 2018
15 Beiträge
 
#5

AW: while and "funktioniert nicht"

  Alt 4. Sep 2018, 15:40
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

If Zahl=0 then Button3 start oder so ? bzw gibt es alternativen
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#6

AW: while and "funktioniert nicht"

  Alt 4. Sep 2018, 15:44
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.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: while and "funktioniert nicht"

  Alt 4. Sep 2018, 15:45
Button.Click; Aber ich frage mich, wie das in diesem Fll Helfen soll.
Markus Kinzler
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: while and "funktioniert nicht"

  Alt 4. Sep 2018, 15:52
Ich würde es wie schon mal geschrieben über die Aktivierung des Buttons machen.

Button.Enabled := False;
Delphi-Quellcode:
procedure TFormDings.EditExit(Sender: TObject);
begin
    Button.Enabled := ( edti1.Text <> '' ) and (edit2.Text <> '');
end;
Diese Methode bei den Edits mit dem Exit-Event verbinden (onExit).

Wenn beide Edits nicht mehr leer sind, wird der Button anklickbar.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.337 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: while and "funktioniert nicht"

  Alt 5. Sep 2018, 07:35
Wenn beide Edits nicht mehr leer sind, wird der Button anklickbar.
Im OnExit?
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.
Peter
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
930 Beiträge
 
#10

AW: while and "funktioniert nicht"

  Alt 5. Sep 2018, 09:51
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?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 21:00 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