AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi auf button click warten (kein Application.ProcessMessages!)
Thema durchsuchen
Ansicht
Themen-Optionen

auf button click warten (kein Application.ProcessMessages!)

Ein Thema von soup · begonnen am 25. Mär 2005 · letzter Beitrag vom 25. Mär 2005
 
Benutzerbild von soup
soup

Registriert seit: 5. Feb 2005
9 Beiträge
 
Delphi 7 Personal
 
#1

auf button click warten (kein Application.ProcessMessages!)

  Alt 25. Mär 2005, 17:08
mache ein Schachspiel.
wie ihr vielleicht wisst darf man beim Schach seinen Bauern gegen eine andere Figur tauschen wenn man die letzte Reihe erreicht.
In meinem Spiel soll das so gehen:

erreicht ein spieler mit einem bauern die (für ihn) hinterste reihe - was ich problemlos abfragen kann - wird eine Prozedur aufgerufen:

Delphi-Quellcode:
procedure TForm1.VerwandleBauer;
begin
  DButton.Visible := true;
  LButton.Visible := true;
  SButton.Visible := true;
  TButton.Visible := true;

  repeat { Application.ProcessMessages - blöd weil weiterspieln möglich} until UnitType > 1;
  {UnitType 1 ist der Bauer, beim Button-Click wird der Unittype 2,3,4 oder 5}

  DButton.Visible := false;
  LButton.Visible := false;
  SButton.Visible := false;
  TButton.Visible := false;

end;
unten am spielfeldrand erscheinen 4 Buttons für die 4 möglichen Verwandlungen des Bauern (Dame, Turm ...)

in der Prozedur soll so lange 'verharrt' werden bis einer der Buttons geklickt wurde. Das ist nötig, denn sonst könnte man einfach weiterspielen und die Buttons würden bleiben
--> Application.ProcessMessages geht hier also nicht.

aber ohne das schmiert das prog ab.

[weniger wichtig]Beim Klick auf irgendeinen der Buttons wird in der OnClick-Prozedur eine entsprechende Variable (unitType) geändert - ein Integer, der vom Spiel dann nach der Prozedur in ein Array kopiert wird. [/weniger wichtig]

Gibt es eine möglichkeit
die Buttons anzuzeigen zu lassen
darauf zu warten das einer geklickt wird und dannin der prozedur weiterzumachen?

Danke im Vorraus!
  Mit Zitat antworten Zitat
 


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