AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi n-Dame: Einzelschrittmodus & Pausen
Thema durchsuchen
Ansicht
Themen-Optionen

n-Dame: Einzelschrittmodus & Pausen

Ein Thema von muetzentraeger · begonnen am 24. Jan 2006 · letzter Beitrag vom 25. Jan 2006
Antwort Antwort
Benutzerbild von muetzentraeger
muetzentraeger

Registriert seit: 30. Jun 2005
18 Beiträge
 
#1

n-Dame: Einzelschrittmodus & Pausen

  Alt 24. Jan 2006, 13:43
Ich bin es mal wieder und das altbekannte Problem habe ich auch wieder mitgebracht .
Dies mal lässt es sich sogar zweiteilen :
PROBELM 1:
Und zwar würde ich jetzt gern in mein Programm noch einabuen, dass die Kernstelle (also das Lösen meines n-Dame Problems mit Hilfe von Backtracking), sozusagen im Einzelschritt Modus laufen kann.
Ich meine damit, dass das Programm jede Dame erst dann setzt wenn man zum Beispiel einmal auf einen Button klickt. z.B. auf Nächste.
PROBLEM 2:
Nun noch eine "Pausenlängenveränderung" .
Und zwar würde ich gerne die Pausenlänge auch während das Backtracking läuft ändern. Fals man mitbekommt, dass es einem zu lange dauert. Weil bis jetzt sind immer alle Button nicht "ansprechbar" bis es komplett durchgelaufen ist.

Also ich hoffe ihr könnt mir wieder helfen.
Angehängte Dateien
Dateityp: zip n-dame_146.zip (10,2 KB, 7x aufgerufen)
Thomas
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: n-Dame: Einzelschrittmodus & Pausen

  Alt 24. Jan 2006, 14:16
Hi,
versteh mich jetzt nicht falsch, aber es sind interessante Probleme. Aber könntest du etwas genauer werden wo dein Problem liegt? Was hast du für Ansätze/Ideen, was schon versucht, wo scheitert es?
Nur Lösung anfragen ist doch irgendwie langweilig, du würdest wenig lernen und gegen die Forenregeln verstossen. Zudem könnte das auch noch einen schlechten Eindruck hinterlassen (siehe verschiedene Threads à la Delphipraxis-Hausaufgabenerledigungsmaschine)

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Benutzerbild von muetzentraeger
muetzentraeger

Registriert seit: 30. Jun 2005
18 Beiträge
 
#3

Re: n-Dame: Einzelschrittmodus & Pausen

  Alt 24. Jan 2006, 15:26
Stimmt, das versteh ich, wenn ich mir das jetzt noch einmal durchlese wird es mir es bewusst. Aber das ich nicht selbst darüber nachdenke kann man nun wirklich nicht sagen. Ich hab jetzt schon mehrere erfolglose Versuche hinter mir. Die will ich lieber nicht alle schreiben, sonst lachen mich noch manche aus .

Aber die für mich am erfolgversprechensten waren:
PROBLEM 1:
-Ich wollte mit
exit; arbeiten, also wenn ich auf einen Button klicke das er abbricht.
--> scheiterte daran, dass der Button nicht reagiert hat bis es (der komplette Lösungsalgorithmus) einmal vollständig durchgelaufen war.
--> aber selbst wenn es geklappt hätte, wüsste ich nicht wie das Programm wieder an genau der Stelle an der es "ausgesetzt" hat wieder einsetzen sollte.
-eine andere Idee war (aus alte Turbo-Pascal-Zeiten )
Delphi-Quellcode:
repeat
until
keypress;
er sollte also an einer bestimmten Stelle warten bis ich etwas drücke.
-->das verlief im Sand weil ich diese Funktion nicht in Delphi gefunden hab , bzw. es war OnClick o.ä. aber das ist wieder Problem, dass ich nicht während des Ablaufes eingreifen kann
-->das wäre aber eigentlich genau was ich haben möchte, weil es dem entspricht was ich mir so Vorstelle

PROBLEM 2:
-hier habe ich es mit sleep({pause}); versucht
-->das klappt auch ohne größere Probleme, nur wie schon gesagt, wenn man dann feststellt, dass es einem zu lange dauert, kann man nichts mehr verändern, und muss abwarten bis er fertig ist

Tja ich hoffe das waren genug Ansätze die mir bei der Problemlösung nicht geholfen haben. Vielleicht helfen sie mir wenigstens meinen schlechten Ruf zu bereinigen
Thomas
  Mit Zitat antworten Zitat
Nicolai1234

Registriert seit: 21. Feb 2004
1.008 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: n-Dame: Einzelschrittmodus & Pausen

  Alt 24. Jan 2006, 16:06
Zitat von muetzentraeger:
PROBLEM 2:
-hier habe ich es mit sleep({pause}); versucht
-->das klappt auch ohne größere Probleme, nur wie schon gesagt, wenn man dann feststellt, dass es einem zu lange dauert, kann man nichts mehr verändern, und muss abwarten bis er fertig ist

Tja ich hoffe das waren genug Ansätze die mir bei der Problemlösung nicht geholfen haben. Vielleicht helfen sie mir wenigstens meinen schlechten Ruf zu bereinigen
In diesem Fall würde ich einen Schieberegler einbauen, an dem man die sleep-Zeit einstellen kann. Das sollte dann nur regelmäßig überprüft werden. Und statt sleep, würde ich delaydelay nehmen, da das Programm dann nicht einfriert.
  Mit Zitat antworten Zitat
Benutzerbild von muetzentraeger
muetzentraeger

Registriert seit: 30. Jun 2005
18 Beiträge
 
#5

Re: n-Dame: Einzelschrittmodus & Pausen

  Alt 25. Jan 2006, 18:19
Einen riesen dank. Das mit delay funktioniert einfach super. Ich hab jetzt auch schon fast alle meiner anderen Probleme beiseitigt. Ich glaube ich habe einfach einen Denkanstoß in diese Richtung gebraucht. Um meine eigene Frage zu beantworten:
Ich hab Trick 17 genutzt, und zwar hab ich eine Schleife eingebaut in der Nichts getan wird außer: repeat delay(1000); until CheckBox1.Checked=true; Und da man bei delay auf das Programm zugreifen kann hab ich einen Button gemacht der einen Haken in die CheckBox setzt.
Danke Danke
Danke Danke
Danke Danke
Thomas
  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 23:02 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