PDA

View Full Version : عدم اجرای فایل فلش یا Progress Bar هنگام اجرای برنامه



navaroo
جمعه 11 مهر 1393, 10:47 صبح
سلام بر دوستان
برنامه ای نوشتم نسبتا سنگین . در این برنامه که جاهایی محاسباتی نیز هست میخواهم در زمان محاسبه به اپراتور با مثلا ساعت شنی یا Progress Bar اعلام صبر کردن دهد ولی هنگام کلیک روی Button برنامه اجرا شده پس از اتمام محاسبه برنامه ساعت شنی هویدا میشود . همه کار کردم به نتیجه نرسیدم . لطفا کمک کنید علت این امر چیست ؟ چرا هنگام کلیک روی برنامه فایل فلش فعال نشده و نمایش داده نمیشود و پس از اتمام کار برنامه نمایش داده میشود.
سپاس

vbhamed
جمعه 11 مهر 1393, 22:11 عصر
سلام
اگر Progress Bar تون كامپوننت هست كه بايد در حين پروسس بهش مقدار بدين، مثلا اگر حلقه اي داريد كه 100 بار اجرا ميشه درون حلقه بايد Progress Bar مقداردهي بشه و البته بعدش معمولا يك دستور DoEvents هم جهت منعكس كردن تغييرات روي صفحه لازمه

اما اگر Progress Bar فايل فلش هست به اين راحتي ها نميشه ازش استفاده كرد و براي همچين كاري به دردسرش نمي‌ارزه

navaroo
یک شنبه 13 مهر 1393, 12:02 عصر
سلام حامد جان سپاس از پاسخت . امکانش هست یه نمونه برام بزاری .راستش تموم اینکارارو کردم ولی جواب نگرفتم . دقیقا تو یه حلقه Do قرارداره و هنگامیکه حلقه تموم میشه ‍progress نمایان میشه . درضمن متوجه اون دستور
DoEvents نشدم خواهشا بیشتر توضیح دهید.
در ضمن اگه امکان داره سری به این پست بزن
http://barnamenevis.org/showthread.php?434505-تغییر-انداره-برنامه-به-اندازه-مانیتور-در-سیستم-های-مختلف؟
آخر پست اونجایی که آقای اندیشه میگه ؛
اینو تو یه ماژول بنویس بعدش فرم رو به او پاس بده
؛ منظورش چیه من نتونستم اجراش کنم . اگه امکان داره یه توضیحی بهم بده
ممنون

vbhamed
یک شنبه 13 مهر 1393, 14:38 عصر
سلام
DoEvents خودش يك دستور ويژوال بيسيك هستش
اين دستور رو درست بعد از مقدار دهي به ProgressBar بنويسيد
كارش هم اينه كه تغييراتي كه بايد منعكس بشه رو انجام ميده و روي مانيتور مي‌بينيد چون در حالت عادي ويژوال بيسيك براي اينكه دستورات سريعتر اجرا بشن تغييرات رو در انتهاي كار نشون ميده

در مورد اون تاپيك هم بايد همونجا سؤال رو بپرسيد ولي منظورش اينه كه از منوي Project گزينه Add Module رو بزنيد و وقتي يك ماژول اضافه شد اون كدها رو درون ماژول كپي كنيد بعد تابع UserForm_Activate رو درون برنامتون فراخواني كنيد و به عنوان پارامتر اسم فرمتون رو بهش بديد

navaroo
یک شنبه 13 مهر 1393, 19:10 عصر
درود بر شما
باز سپاس از جوابتون
دستورDoEvents را تا به حال باش کار نکردم . تو برنامم هم جواب نداد . نمیدونم ایراد کار از کجاست . اگه امکان داره طی یه پروژه کوچیک تعریف کنید تا بفهمم ایرادم کجاست . ممنون میشم اگه اینکارو برام انجام بدی. درضمن تایپیک مورد سئوالم رو نیر ازش پرسیدم جواب نداد . اونم جواب نمیده یا حداقل من بلد نیستم.


سپاس