![]() |
n-Dame: Einzelschrittmodus & Pausen
Liste der Anhänge anzeigen (Anzahl: 1)
Ich bin es mal wieder und das altbekannte Problem habe ich auch wieder mitgebracht :wink: .
Dies mal lässt es sich sogar zweiteilen :-D: 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. |
Re: n-Dame: Einzelschrittmodus & Pausen
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 ![]() Gruß Der Unwissende |
Re: n-Dame: Einzelschrittmodus & Pausen
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
Delphi-Quellcode:
arbeiten, also wenn ich auf einen Button klicke das er abbricht.
exit;
--> 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:
er sollte also an einer bestimmten Stelle warten bis ich etwas drücke.
repeat
until keypress; -->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
Delphi-Quellcode:
versucht
sleep({pause});
-->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 ;) |
Re: n-Dame: Einzelschrittmodus & Pausen
Zitat:
![]() |
Re: n-Dame: Einzelschrittmodus & Pausen
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:
Delphi-Quellcode:
Und da man bei delay auf das Programm zugreifen kann hab ich einen Button gemacht der einen Haken in die CheckBox setzt.
repeat delay(1000); until CheckBox1.Checked=true;
Danke Danke Danke Danke Danke Danke |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 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 by Thomas Breitkreuz