PDA

View Full Version : سوال: چطور يك تابع بازگشتي را متوقف كنيم.



xxxxx_xxxxx
سه شنبه 07 خرداد 1387, 18:41 عصر
دوستان دقت كنيد كه ما نمي خواهيم از تابع خارج شويم (Exit Function) بلكه مي خواهيم عمليات تابع به طور موقت Pause شود و بعد از مدتي دوباره تابع ادامه يابد.

نكته: همانطور كه مي دانيد تابع بازگشتي از يك Stack براي بازگشت استفاده مي كند و با استفاده از دستور Exit Function آن Stack موردنظر خالي مي شود.

vbhamed
سه شنبه 07 خرداد 1387, 19:55 عصر
سلام

1 - يك متغير عمومي تعريف كنيد فرض كنيد به اسم Pause از نوع Boolean
2 - هر موقع خواستيد تابع رو متوقف كنيد Pause = True كنيد
3 - يك جا يا چند جا تو تابع بازگشتي دستورات زير رو بنويسيد


Do
DoEvents
Loop While Pause


4 - هر موقع خواستيد تابع ادامه پيدا كنه Pause = False كنيد

ali_habibi1384
پنج شنبه 09 خرداد 1387, 07:25 صبح
البته جای شک نیست که روش vbhamed درسته اما شما برای اطمینان از عملکرد برنامه و داشتن مقادیر قبلی پارامترها باید به ازای هر پارامتر متغیرهای دیگری رو هم درست کنید تا یک کپی از اون پارامترها رو داشته باشید تا هر وقت که به فرمان pause رسیدید از آنها کپی بگیرید و در زمان اجرای مجدد کپی اونها رو به پارامترها پاس دهید تا ادامه کار صورت گیرد.