PDA

View Full Version : سوال: لودینگ کند برنامه



mlf_mlv
شنبه 07 شهریور 1388, 16:17 عصر
سلام
برنامه ای که من نوشتم خیلی سنگینه می خواستم یه لوگ این براش طراحی کنم.میشه کمکم کنید؟

mlf_mlv
شنبه 07 شهریور 1388, 17:02 عصر
ببخشید یه اشتباه تایپی بود!لودینگ رو نوشتم لوگ این!! متاسفم.
اگه می شه کمکم کنید

Hossis
شنبه 07 شهریور 1388, 17:40 عصر
باید از فرم اسپلش استفاده کنید, با این کار تا زمانی که فرم اصلی کاملا لود نشده, اسپلش, کاربر رو سرگرم می کنه
در کادر خصوصیات پروژه , در پایین صفحه یک جائی هست که اسپلش رو باید اونجا انتخاب کنید
البته بعد از این که فرم اسپلش رو به فرم اضافه کرده باشید

mlf_mlv
شنبه 07 شهریور 1388, 17:52 عصر
باید از فرم اسپلش استفاده کنید, با این کار تا زمانی که فرم اصلی کاملا لود نشده, اسپلش, کاربر رو سرگرم می کنه
در کادر خصوصیات پروژه , در پایین صفحه یک جائی هست که اسپلش رو باید اونجا انتخاب کنید
البته بعد از این که فرم اسپلش رو به فرم اضافه کرده باشید
خیلی ممنون از پاسختون خیلی بهم کمک کرد ولی یه مشکلی هنوز هست...
من میخوام progress bar توی این فرم اسپلشم به کار رفته باشه. می شه کمکم کنید؟

Hossis
شنبه 07 شهریور 1388, 19:27 عصر
فکر نکنم جواب بده

viper2009
یک شنبه 08 شهریور 1388, 02:19 صبح
چرا جواب می ده خودم هم دنبالشم
البته بهتره فرم Splash خودمون بسازیم و از یک تایمر استفاده کنیم.

toopak
یک شنبه 08 شهریور 1388, 04:31 صبح
البته با توجه به اینکه شما میخوایید از progress bar استفاده کنید
به نظرم بهتره یه فرم دستی بسازید (البته فرمتون باید شکیل و زیبا باشه) بعد با استفاده از تایمر چند ثانیه اون فرم رو نمایش بدید و همزمان فرم اصلیتون رو باز کنید
بعد که مثلا چند ثانیه فرمی که progress bar داره اجرا شده،بسته بشه و فرم اصلیتون visible بشه

Navid Asadi
یک شنبه 08 شهریور 1388, 11:01 صبح
بهتر اینه که خاصیت progress bar Style تون رو عوض کنید...

Hossis
یک شنبه 08 شهریور 1388, 11:24 صبح
اگه هدف از نمایش نوار پیشرفت اینه که درصد رو نشون بده،‌ باید نوار رو در اسپلش گذاشته و در صدها رو در فرم اصلی محاسبه کنید
و اگر برای نمایش این است که برنامه مشغول است ،‌ باید خاصیت استایل آن را روی CONTINUE تنظیم کنید

viper2009
یک شنبه 08 شهریور 1388, 16:36 عصر
یک جوون پیدا نمی شه کدهاشو بنویسه؟

mlf_mlv
یک شنبه 08 شهریور 1388, 19:15 عصر
البته با توجه به اینکه شما میخوایید از progress bar استفاده کنید
به نظرم بهتره یه فرم دستی بسازید (البته فرمتون باید شکیل و زیبا باشه) بعد با استفاده از تایمر چند ثانیه اون فرم رو نمایش بدید و همزمان فرم اصلیتون رو باز کنید
بعد که مثلا چند ثانیه فرمی که progress bar داره اجرا شده،بسته بشه و فرم اصلیتون visible بشه

ببخشید ولی اونوقت تایمر تیکمون چند ثانیه باشه؟
راستی مگه کدی هست که بگه یه فرم رو تاکامل لود نشده نشون نده؟

toopak
یک شنبه 08 شهریور 1388, 21:04 عصر
تایمرتون رو هر چقدر که فک میکنید بسه بزارید
مثلا بزارید 4ثانیه ای پروسس بار رو پر کنه:چشمک:
بعدش هم کد خاصی لازم نداره
شما فرم اصلی رو باز کن ولی visibleرو false کن و به موازاتش اون فرم splashدستی که درست کردی رو showکن
بعد که پروسس بار 100% شد فرم اصلیت رو که قبلا مخفی بود،خاصیت visibleش رو true کن

mlf_mlv
یک شنبه 08 شهریور 1388, 23:08 عصر
تایمرتون رو هر چقدر که فک میکنید بسه بزارید
مثلا بزارید 4ثانیه ای پروسس بار رو پر کنه:چشمک:
بعدش هم کد خاصی لازم نداره
شما فرم اصلی رو باز کن ولی visibleرو false کن و به موازاتش اون فرم splashدستی که درست کردی رو showکن
بعد که پروسس بار 100% شد فرم اصلیت رو که قبلا مخفی بود،خاصیت visibleش رو true کن
اومدیم و این برنامه رو یه کامپیوتر داغون نصب شده باشه 1 سال طول بکشه!!
این روشی که شما میگید فقط برای کلاسه برنامست که بگیم برناممون لودینگ داره!!

toopak
یک شنبه 08 شهریور 1388, 23:30 عصر
اول اینکه کل کاری که ما میکنیم برای کلاسه،وگرنه اگر برای کلاسش نبود میزاشتیم خود برنامه لود بشه
بعدش هم شما باید در نظر بگیری کاربران نرم افزارتون تو چه رده ای هستن و نسبت به اون زمان بدید
بازم اگر فک میکنید این کار جالب نیست همون splash استفاده کنید و بی خیال progress بار شین:چشمک:

mlf_mlv
دوشنبه 09 شهریور 1388, 17:31 عصر
اول اینکه کل کاری که ما میکنیم برای کلاسه،وگرنه اگر برای کلاسش نبود میزاشتیم خود برنامه لود بشه
بعدش هم شما باید در نظر بگیری کاربران نرم افزارتون تو چه رده ای هستن و نسبت به اون زمان بدید
بازم اگر فک میکنید این کار جالب نیست همون splash استفاده کنید و بی خیال progress بار شین:چشمک:

لودینگ هم برای کلاسه کاره هم برای اینه که کامپیوتر هنگ نکنه. چون بعضی کاربرها خیلی عجولند هنوز فرم بالا نیومده هی کلیک می کنند تا آخرش هنگ می کنه می گن برنامت بدرد نمی خوره!!
من بی خیال نمی شم چون این همه برنامه هستن که این امکانات رو دارن اونا چطوری ای کار رو کردن؟

toopak
دوشنبه 09 شهریور 1388, 17:52 عصر
یعنی انقدر برنامه شما سنگین شده که تا بخواد کامل لود بشه، ممکنه کاربر نهایی با کلیک روی بقیه گزینه ها باعث خراب شدنش بشه؟
به نظر من شما به جای اینکه خودتون رو درگیر این کنید که برای splash لودینگ بزارید بهتره که یک انیمیشن پخش کنید تو splash
مثلا میتونید از اون دایره اینترنت اکسپلورر یا فایرفاکس که مدام میچرخه تا یک صفحه لود بشه استفاده کنید

alimanam
دوشنبه 09 شهریور 1388, 18:40 عصر
با سلام

اول یک سخن دوستانه با اون دسته از دوستانی که این عمل رو کلاس !!! دونستن دارم :

دوستان عزیز کلاس این نیست که ما کار حرفه ایی انجام بدیم اگه برنامه ایی به هر دلیلی لودینگش وقتگیره ( مثل Photoshop یا چرا راه دور بریم همین VS ) حتماً حتماً باید براش فرم Splash مناسبی که مراحل لود شدن نیازمندیهای برنامه رو به ترتیب نشون بده رو تدارک ببینیم ( البته اگه بخوایم قواعد بازی رو درست انجام داده باشیم ( قواعد بازی برنامه نویسی رو میگم )) پس بهتره کلاس رو رعایت کنیم !!!

و شما دوست عزیز ( mlf_mlv ) برای اینکه دوستان از جمله خودم بتونیم بهتر راهنمائیت کنیم :

1- مشخص کن که چرا برنامه ات سنگینه ؟ ( آیا به خاطر لود شدن حجم عظیمی از داده هاست ؟ آیا از منابع سیستم داره برای کارهای مشخصی استفاده می کنه و و و )

2- اگه جواب سوال 1 ( True باشه ) راحت می تونی با مثال هایی که در همین سایت هم موجوده اون کار مشخصی که باعث کندی برنامه ات میشه رو درون Backgroundworker بریزی تا با استفاده از رویداد ProgressChanged خودش یه پروگرس برای فرم Splash خودت طراحی کنی . ( با این کار هم برنامه ات هنگ نمی کنه هم یه Splash حرفه ایی می تونی بسازی )

من در زمینه کار با کنترل Backgroundworker سر رشته ایی ندارم ولی مطمئنم که با اون می تونی حرفه ایی ترین کارو رو در این زمینه ایی که می خواستی انجام بدی .

یا علی

Navid Asadi
دوشنبه 09 شهریور 1388, 19:59 عصر
من هم راه حل ساده ای ارئه میدم
فرض کنید من تو فرمم قرار 100 عکس سنگین لود بشه...
خوب تو فرمم به ازای هر کدوم که لود شد یک درصد به progress bar اضافه میکنم و درصد صدم رو هم در نهایت مینویسم...

mlf_mlv
دوشنبه 09 شهریور 1388, 20:27 عصر
با سلام

اول یک سخن دوستانه با اون دسته از دوستانی که این عمل رو کلاس !!! دونستن دارم :

دوستان عزیز کلاس این نیست که ما کار حرفه ایی انجام بدیم اگه برنامه ایی به هر دلیلی لودینگش وقتگیره ( مثل Photoshop یا چرا راه دور بریم همین VS ) حتماً حتماً باید براش فرم Splash مناسبی که مراحل لود شدن نیازمندیهای برنامه رو به ترتیب نشون بده رو تدارک ببینیم ( البته اگه بخوایم قواعد بازی رو درست انجام داده باشیم ( قواعد بازی برنامه نویسی رو میگم )) پس بهتره کلاس رو رعایت کنیم !!!

و شما دوست عزیز ( mlf_mlv ) برای اینکه دوستان از جمله خودم بتونیم بهتر راهنمائیت کنیم :

1- مشخص کن که چرا برنامه ات سنگینه ؟ ( آیا به خاطر لود شدن حجم عظیمی از داده هاست ؟ آیا از منابع سیستم داره برای کارهای مشخصی استفاده می کنه و و و )

2- اگه جواب سوال 1 ( True باشه ) راحت می تونی با مثال هایی که در همین سایت هم موجوده اون کار مشخصی که باعث کندی برنامه ات میشه رو درون Backgroundworker بریزی تا با استفاده از رویداد ProgressChanged خودش یه پروگرس برای فرم Splash خودت طراحی کنی . ( با این کار هم برنامه ات هنگ نمی کنه هم یه Splash حرفه ایی می تونی بسازی )

من در زمینه کار با کنترل Backgroundworker سر رشته ایی ندارم ولی مطمئنم که با اون می تونی حرفه ایی ترین کارو رو در این زمینه ایی که می خواستی انجام بدی .

یا علی

من تا حالا تو عمرم از Backgroundworker استفاده نکردم!! هیچ جا هم در موردش از صفر شروع نکرده بود. همش یه سری دستورات رو پشت سر هم نوشته بودند می گفتن خودتون بفهمید!من هم که نفهمیدم واسه همین بی خیال شدم.
اگه کسی مطلبی در این باره داره لطفا بگه چون زکات علم نشرشه!

mlf_mlv
دوشنبه 09 شهریور 1388, 20:30 عصر
من هم راه حل ساده ای ارئه میدم
فرض کنید من تو فرمم قرار 100 عکس سنگین لود بشه...
خوب تو فرمم به ازای هر کدوم که لود شد یک درصد به progress bar اضافه میکنم و درصد صدم رو هم در نهایت مینویسم...
من به این روش فکر کردم ولی برنامم یه طوریه نمیشه باش این کاررو کرد. چون نمی دونم گیرش کجاست که طول می کشه لود شه.

viper2009
سه شنبه 10 شهریور 1388, 02:42 صبح
آخرش هم دست به دامن CodeProject شدم.

اما اونی که می خواستم نشد.
دوستان لطف کنید مشکلو حلش کنید.

با این ضمیمه.

toopak
سه شنبه 10 شهریور 1388, 03:18 صبح
2008 که ما نداریم!:ناراحت:
ما وسعمون تا 2005 بیشتر نیست

ولی این رو هم دانلود کن شاید به دردت بخوره،البته 2008 اینم

viper2009
سه شنبه 10 شهریور 1388, 03:24 صبح
2008 که ما نداریم!:ناراحت:
ما وسعمون تا 2005 بیشتر نیست

ولی این رو هم دانلود کن شاید به دردت بخوره،البته 2008 اینم

سلام
خطای پلت فرم می ده.

toopak
سه شنبه 10 شهریور 1388, 03:30 صبح
کدوم؟
اونی که من گذاشتم یا اونی که شما گذاشتین؟
واسه من که هنوز تعداد دانلودش 0 !

viper2009
سه شنبه 10 شهریور 1388, 03:32 صبح
کدوم؟
اونی که من گذاشتم یا اونی که شما گذاشتین؟
واسه من که هنوز تعداد دانلودش 0 !


I said your program.

toopak
سه شنبه 10 شهریور 1388, 03:38 صبح
اینجا،جای جر و بحث نیست ولی شما کجای


سلام
خطای پلت فرم می ده.

گفتید برنامه من؟
سلام هم یادم رفت، سلام :دی

و جواب:
راستش من خودم اون رو ندیدم،چون 2008 بود،ولی از msdn گرفتم فک کنم

mlf_mlv
سه شنبه 10 شهریور 1388, 23:02 عصر
یعنی هیچکس بلد نیست؟مگه میشه؟

ACorvinus
سه شنبه 26 آبان 1388, 17:59 عصر
یعنی هیچکس بلد نیست؟مگه میشه؟


سلام، ببخشین برنامتون چیه ؟

میتونم بپرسم در چه مواقعی کند میشه ؟

softkadeh
سه شنبه 26 آبان 1388, 20:10 عصر
آقا منم همچین چیزی میخوام . مثل فتوشاپ . البته با یه چیزی که درصد واقعی رو نشون بده .

ممنون از دوستان