برگزیده های پرشین تولز

عدم اجرای دستورات در هنگام اجرای حلقه فور

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
یه مشکلی که احتمالا شما هم مثل من دارید عدم تغییر لیبل ها هنگام عملیات هست
مثلا من قبل از حلقه فور یه لیبل میزنم که"شروع عملیات" بعد از حلقه فور هم یه لیبل"پایان عملیات" اما برنامه با شروع حلقه لیبل اول رو انجام نمیده و بعد از پایان حلقه لیبل دوم رو نشون میده یا اصلا
کلید کنسل میخوام یه کلید بزارم که حلقه رو کنسل کنه اما با شروع حلقه اصلا برنامه دیگه به دستورات ماوس یا صفحه کلید گوش نمی کنه
میخواستم ببینم برای این مشکل کسی راهی سراغ داره
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
دو راه داری باری اینکار
راه اول (ساده)
باید برنامه رو وادار کنی که به پیغام های رسیده از ویندوز پاسخ بده
این کار با اضافه کردن این خط درون حلقه for انجام می شه
application.processmessage;

راه دوم
این راه کمی مشکل تره و نیاز کمی تبحر داره
باید یه برنامه چندر ریسمانی بنویسید و حلقه رو با یک ریسمان غیر از ریسمان اصلی اجرا کنید
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
یعنی این دو راه فرقی با هم ندارن از نظر نتیجه
ریسمان دیگه چیه چرا من تا حالا راجع بهش چیزی نشنیدم؟میشه بیشتر توضیح بدی
شرمنده ها
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
از نظر نتیجه خیر هر دو یکسان نتیجه می ده
ریسمان تر جمه فارسیه thread هست (مثل اینکه زیادی فارسی حرف زدم!!!)
هر پروسه در ویندوز یا لینوکس یک یا چند ریسمان داره که دستورات هر ریسمان در صف اجرای جداگانه قرار می گرن
از اونجایی که دلفی ساخته شده تا برنامه ها سریع ساخته بشن برای کار با ریسمان های کلاسی در کتابخانه RTL وجود داره برای استفاده از این امکان به منو فایل و گزینه نیو و other را امتخاب کنید در برگه نیو thread object رو انتخاب کنید دلفی براتون یه کلاس می سازه هر ابجکتی از این کلاس یه ریسمان هست که می تونه یه سری دستورات رو که در متد execute هست رو اجرا کنه
 

Arash_j13

Registered User
تاریخ عضویت
18 فوریه 2005
نوشته‌ها
778
لایک‌ها
2
محل سکونت
مشهد
از نظر نتیجه خیر هر دو یکسان نتیجه می ده
ریسمان تر جمه فارسیه thread هست (مثل اینکه زیادی فارسی حرف زدم!!!)
هر پروسه در ویندوز یا لینوکس یک یا چند ریسمان داره که دستورات هر ریسمان در صف اجرای جداگانه قرار می گرن
از اونجایی که دلفی ساخته شده تا برنامه ها سریع ساخته بشن برای کار با ریسمان های کلاسی در کتابخانه RTL وجود داره برای استفاده از این امکان به منو فایل و گزینه نیو و other را امتخاب کنید در برگه نیو thread object رو انتخاب کنید دلفی براتون یه کلاس می سازه هر ابجکتی از این کلاس یه ریسمان هست که می تونه یه سری دستورات رو که در متد execute هست رو اجرا کنه
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
خیلی ممنون ولی اون راه اول بهتره
حالا تو هر حلقه فوری که مینویسم یدونه از اون دستور رو هم قرار میدم
 
بالا