Az alkalmazásának felfüggesztése a Delphi - verem túlcsordulás orosz

Hogyan lehet megállítani a program előrehaladását a Delphi, amíg a felhasználó megnyomja (például ilyen) anélkül, hogy további ablak?

Azaz, ha van 10 sornyi kódot. Kövesse az első 5 sorban, és a program várakozik a felhasználó intézkedéseket. A prések, például az Enter billentyűt. majd végre a maradék 5 sornyi kódot. Ó, igen, mindez nem a konzolos alkalmazás (és mit kell tenni a konzol, kivéve readln?).

Ui Sajnáljuk, ha nem pontosan fogalmazott, de a MessageBox és ShowMessage nem alkalmas.
Megállás rovására a tulajdonságok és módszerek formájában alkalmas csak, ha meg lehet csinálni dinamikusan. (Ebben a tekintetben, a másik kérdés: Munka TForm Delphi)

állítsa szeptember 5 '11 at 06:20

Van egy egyszerű és szép módon. Olyan eljárás, amelyben meg kell, hogy a „szünet”, két részre oszlik - előtt és után egy kis szünet (persze, ez nem mindig lehetséges, de sok esetben nagyon is lehetséges). Miután az első felében kerül végrehajtásra, ez hozza a zászlót, hogy tudna róla. Továbbá, a billentyűleütés feldolgozási eljárás vagy az egyik, hogy feldolgozza a felhasználó kérésére a folyamatos - elvégzi a második eljárást.

Ha paramétereket kell átadni egy csomó, csak teszi a szerkezet (rekord), amelyben van helyezve, és adja át az összes paraméter az egyes eljárás.

Válaszol szeptember 5 '11 at 09:05

Ez egyszerűen nem nagyon szép szempontjából a tervezési módszer. Mi van, ha van egy pár ilyen eljárások, amelyeket be kell törni? Mi van, ha van egy pár szünetek az eljárás? Mi van, ha a döntést, hogy szünet, hogy alapján néhány külső adatokat (pl terhelési ciklus egyes források mennyiségét és összetételét, amelyeket előzetesen nem ismert, és a szünet a hibás)? TC tűnik, hogy szeretne egy általános megoldás, amely bárhol használható tetszés szerint. - Nofate ♦ szeptember 5 '11 at 09:47

Várjunk, és a TC nem fog helytelen feltételezéseket. Ha több szünetek - és mi a probléma? Hogy több kezelések? De ha ijesztő, van egy csodálatos módja annak, testkezelések - egy nagy ügy. és egy globális változó (vagy osztálya a területen), amely tárolja az aktuális állapotot. - KoVadim szeptember 5 '11 at 09:51

Sajnos nem vettem észre, hogy van egy „második eljárást.” Itt van, amit állítólag Bíróság: # 47; # 47; Azt írja programmistN alkalmazás. # 47; # 47; valamit, hogy megjelenítse a MyClass.Stop; # 47; # 47; Ez okozza a stop a tárgy az én osztály, # 47; # 47; ezt az eljárást, hogy meg kell törni? - HankMoody szeptember 5 '11 at 16:58

Kapcsolódó cikkek