AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Prozess anhalten (Prozedure unterbrechen)
Thema durchsuchen
Ansicht
Themen-Optionen

Prozess anhalten (Prozedure unterbrechen)

Ein Thema von nowmaxx · begonnen am 15. Jan 2006 · letzter Beitrag vom 15. Jan 2006
Antwort Antwort
nowmaxx

Registriert seit: 10. Jan 2006
13 Beiträge
 
#1

Prozess anhalten (Prozedure unterbrechen)

  Alt 15. Jan 2006, 15:37
Hi!
Ich habe in einer Prozedur eine if_Schleife. Verschieden Anweisungen werden ausgeführt, wenn eine bestimmte Bedingung erfüllt ist. Fortlaufend habe ich einen Befehl drin, der das Formular schließt, falls eine bestimmte, andere Bedingung erfüllt ist. Nun kann es passieren, dass das Formular geschlossen wird, obwohl noch nicht alle Anweisungen der if-Schleife erfüllt worden sind. Wenn ich nun (immer noch im Programm) das Formular erneut öffne, werden erst die alten, noch offenen Anweisungen ausgeführt. Das möchte ich vermeiden. Gibt es einen Befehl, der die if-Schleife zum Erliegen bringt?
Nico
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Prozess anhalten (Prozedure unterbrechen)

  Alt 15. Jan 2006, 15:55
arbeitest du mit Threads oder wie kann es sein das während befehle abgearbeitet werden von anderer Seite auch Befehle kommen. Und was meinst du mit if-Schleife, was ist das?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von ManuMF
ManuMF

Registriert seit: 11. Jul 2005
1.016 Beiträge
 
Delphi 6 Personal
 
#3

Re: Prozess anhalten (Prozedure unterbrechen)

  Alt 15. Jan 2006, 16:21
Hallo,

vewendest du eine IF-Abfrage oder wirklich eine Schleife?
In einer Scheife sollte dir Delphi-Referenz durchsuchenbreak bzw. für eine ganze Prozedur Delphi-Referenz durchsuchenexit helfen.

Gruß,
ManuMF
Gruß,
ManuMF

Endlich hab ich was Positives an Vista entdeckt: Das mitgelieferte Mahjongg
  Mit Zitat antworten Zitat
nowmaxx

Registriert seit: 10. Jan 2006
13 Beiträge
 
#4

Re: Prozess anhalten (Prozedure unterbrechen)

  Alt 15. Jan 2006, 16:30
Zitat:
Und was meinst du mit if-Schleife, was ist das?
Zitat:
Verschieden Anweisungen werden ausgeführt, wenn eine bestimmte Bedingung erfüllt ist.
Eine If-Anweisung eben.
Nein ich arbeite nicht mit Threads.
Man muss sich das ganze so vorstellen:
Zwei Kreaturen haben einen bestimmten Integerwert als Lebenspunkte. Wenn diese leer sind, ist das Monster tot und es wird das Hauptformular angezeigt. Um diese Lebenspunkte zu verringern, kann die jeweils gegnerische Kreatur Attacken wählen, mit der Schaden zugefügt (Lebenspunkte abgezogen) werden. Um das ganze dem Spieler verständlich zu machen, schreibt das Programm die Attacken in ein Panel. Damit das gut lesbar ist, pausiert die Prozedur, um dem Spieler das Lesen überhaupt zu ermöglichen. Wenn der Spieler eine Attacke ausführt, wird als Antwort darauf gleich eine Attacke des Gegners gestartet, um den Kampf auch gerecht von Statten gehen zu lassen. Genau zwischen den Attacken pausiert die Prozedur. Nun kann es passieren, dass der Gegner tot ist, bevor er seine Attacke ausführen konnte. Wenn ich dann zurück in das Kampfformular wechsle (zum nächsten Kampf), führt er diese dann trotzdem aus. Das ist natürlich nicht logisch und muss unterbunden werden. Nun meine Frage: mit welchem Befehl geht das?

Der Quelltext eignet sich nicht gerade, um hier rein zu posten. Falls es dennoch jemanden interessiert, kann man ihn sich hier downloaden.
Nico
  Mit Zitat antworten Zitat
nowmaxx

Registriert seit: 10. Jan 2006
13 Beiträge
 
#5

Re: Prozess anhalten (Prozedure unterbrechen)

  Alt 15. Jan 2006, 16:36
Zitat:
für eine ganze Prozedur exit helfen.
Vielen Dank! Exit ist genau das Richtige!
Nico
  Mit Zitat antworten Zitat
Antwort Antwort


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 08:22 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