我有一個算法。我想暫停它,然後一旦用戶按下按鈕繼續。我怎麼做?我瀏覽過文檔,並搜索了互聯網,但沒有運氣。如何暫停程序執行,直到按下按鈕?
這裏有一個相關的代碼剪斷:
if A[i]>A[i+1]
then
begin
Zameni(i,i+1);
done:=true;
sleep(pauza);
br:=br+1;
end;
現在,我使用的睡眠(pauza僅僅是一個常量,意味着塞爾維亞暫停)。理想情況下,我想用一段時間睡眠的程序替換該行,或者等待基於配置設置的按鈕按下。編輯1:啊,是的,如果它不是明顯的 - 這是一個圖形應用程序,而不是控制檯,所以掌握一個「readln」不會工作(可悲)。
是的,但這只是for循環的內部部分 - 如果這會更有幫助,我可以發佈整個函數。 – VPeric 2009-04-20 17:00:15
聽起來像您可能需要重新考慮您的設計 - 事件驅動(即GUI)代碼中的大循環是一個壞主意,除非它們在單獨的線程中。 – 2009-04-20 17:08:05
嗯,我不想讓主要問題出軌,但我正在製作一個程序來說明各種排序算法是如何工作的(通過對各種彩色圖形進行洗牌 - 請參閱QuickSort上的Wikipedia頁面以獲取靈感),因此循環是需要。這個想法是讓用戶逐步完成整理過程,以便他們能夠按自己的步調理解它。 – VPeric 2009-04-20 17:36:11