امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
گذاشتن لودینگ در اول برنامه
نویسنده پیام
Darg غایب
مدير بازنشسته
*****

ارسال‌ها: 894
موضوع‌ها: 40
تاریخ عضویت: تير ۱۳۸۴

تشکرها : 381
( 702 تشکر در 190 ارسال )
ارسال: #34
RE: گذاشتن لودینگ در اول برنامه
خوب اگر می خوای کار گروهی شروع کنی با پست و خواستت رو تو بخش پروژه های گروهی بزار
حتما دوستان کمک خواهند کرد از جمله خود من...
(آخرین ویرایش در این ارسال: ۱۶-مهر-۱۳۸۶, ۰۳:۴۹:۱۳، توسط Darg.)
۱۶-مهر-۱۳۸۶, ۰۳:۴۶:۲۵
وب سایت ارسال‌ها
پاسخ
avini آفلاین
کاربر با تجربه
****

ارسال‌ها: 528
موضوع‌ها: 26
تاریخ عضویت: دى ۱۳۸۵

تشکرها : 0
( 72 تشکر در 38 ارسال )
ارسال: #35
RE: گذاشتن لودینگ در اول برنامه
عزیز اینجا فروم برنامه نویسیه !
چرا کسی نخواهد کمکت کنه ؟
شما بگو !
http://forum.iranled.com/forumdisplay.php?fid=175
اینجا !
هرکی بتونه کمکت میکنه !

Golsun Tech
Inno3D,Force3D,Connect3D,InnoDV,DFI,Razer,Mushkin
021-66460000
Seller:Khashayar,Iman,Hossein
09194998532
Address:Tehran-Vali Asr.St -Iran Computer Center-Unit B46
۱۶-مهر-۱۳۸۶, ۱۳:۳۸:۱۰
ارسال‌ها
پاسخ
Dr.Bronx آفلاین
كاربر دو ستاره
**

ارسال‌ها: 60
موضوع‌ها: 5
تاریخ عضویت: مهر ۱۳۸۶

تشکرها : 4
( 5 تشکر در 5 ارسال )
ارسال: #36
RE: گذاشتن لودینگ در اول برنامه
بچه ها تاپیک رو ساختم بیاین اونجا همگی
http://forum.iranled.com/showthread.php?tid=6128
۱۶-مهر-۱۳۸۶, ۱۹:۵۹:۰۵
ارسال‌ها
پاسخ
amin_vb آفلاین
كاربر دو ستاره
**

ارسال‌ها: 66
موضوع‌ها: 17
تاریخ عضویت: فروردین ۱۳۸۴

تشکرها : 27
( 13 تشکر در 10 ارسال )
ارسال: #37
RE: گذاشتن لودینگ در اول برنامه
یه فرم درست کردم برای لودینگ .
این کداشه :

کد:
Private Sub Form_Load()
Timer1.Enabled = True
End Sub



Private Sub Timer1_Timer()
Static i As Integer
i = i + 1
ProgressBar1.Value = i
If i = 100 Then i = 0
End Sub


بعد حالا چند تا فرم دیگه دارم که لود شدنشون خیلی طول میکشه . به دلیل اینکه به محض بالا اومندن چندین پروسیژر دیگه رو فراخونی می کنن .
توی اون فرمها این کارو انجام دادم :

کد:
Private Sub Form_Load()
DoEvents
Me.Visible = False

Load frm_loading



Call SetRtoL(tvp)
tvp_init

Me.Visible = True
Unload frm_loading
End Sub


در واقع این خیلی وقت گیره : tvp_init به همین خاطر قبلش لودینگ می خام بیاد و بعدش بره .
حالا نمی دونم چرا توی این حالت پروگرس بار هم ثابت می مونه و حرکت نمی کنه ! تا زمانی که این 3-4 ثانیه برای اون ساب وقت گیر بگذره و فرم اصلی نمایش داده بشه !

علت چیه ؟
۱۹-مرداد-۱۳۸۷, ۱۸:۱۲:۲۹
ارسال‌ها
پاسخ
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #38
RE: گذاشتن لودینگ در اول برنامه
تو تابع tvp_init‌ بايد از DoEvents‌استفاده كني.
البته لود شدن رو بد نوشتي‌! اون تايمر خيلي مسخره ! اگه يه حلقه وقت گير داري كه توي همون بايد progressbar رو مقدار بدي. يا اگه كد هاي زيادي قبلش بايد اجرا بشه بين اونا بايد peogressbar‌ تغيير كنه.

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۱۹-مرداد-۱۳۸۷, ۱۹:۰۶:۳۰
ارسال‌ها
پاسخ
تشکر شده توسط : amin_vb
amin_vb آفلاین
كاربر دو ستاره
**

ارسال‌ها: 66
موضوع‌ها: 17
تاریخ عضویت: فروردین ۱۳۸۴

تشکرها : 27
( 13 تشکر در 10 ارسال )
ارسال: #39
RE: گذاشتن لودینگ در اول برنامه
ممنون
دوایونت رو توی همه ی ساب های وقت گیر گذاشته بودم . مشکل چی می تونه باشه ؟

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

همین فقط .

حالا چرا تو حالت بالا تایمر توی فرم لودینگ از کار میفته ؟
۱۹-مرداد-۱۳۸۷, ۱۹:۱۹:۵۸
ارسال‌ها
پاسخ
amirjan آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,105
موضوع‌ها: 24
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 348
( 697 تشکر در 251 ارسال )
ارسال: #40
RE: گذاشتن لودینگ در اول برنامه
نقل قول: حالا چرا تو حالت بالا تایمر توی فرم لودینگ از کار میفته ؟
احتمالا یه جایی ، یه حلقه ای چیزی هست که یادت رفته DoEvents بذاری .

یه پیشنهاد : اگه نمی خوای از Doevents استفاده کنی ، باتوجه به اینکه وی بی 6 singel thread هست ، لودینگ رو کلا از برنامت جدا کن ! یه فایل exe جدا برای لودینگ بساز . هر وقت می خوای لودش کن ، هر وقت کارت تموم شد ببندش !

سید امیر حسین حسنینی

Human knowledge belongs to the world ...
۱۹-مرداد-۱۳۸۷, ۲۰:۰۹:۴۱
ارسال‌ها
پاسخ
تشکر شده توسط : amin_vb, amin_amin
lord_viper غایب
مدیر کل انجمن
*****

ارسال‌ها: 3,949
موضوع‌ها: 352
تاریخ عضویت: بهمن ۱۳۸۴

تشکرها : 5193
( 9875 تشکر در 2650 ارسال )
ارسال: #41
RE: گذاشتن لودینگ در اول برنامه
در پست 8 جناب far222000 یه مثال گذاشتن
۱۹-مرداد-۱۳۸۷, ۲۲:۰۶:۳۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : far_222000
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #42
RE: گذاشتن لودینگ در اول برنامه
نقل قول: اینکه نمی تونم از تو حلقه مقدار بهش بدم به این خاطره که می خام این فرم لودینگ رو از توی همه ی فرمها صدا کنم و خودش مقداردهی بشه و بره جلو .
خوب همین کار رو بکن. یه کاری کن به ترتیب جلو بره.
نقل قول: یه پیشنهاد : اگه نمی خوای از Doevents استفاده کنی ، باتوجه به اینکه وی بی 6 singel thread هست ، لودینگ رو کلا از برنامت جدا کن ! یه فایل exe جدا برای لودینگ بساز . هر وقت می خوای لودش کن ، هر وقت کارت تموم شد ببندش !
اینم یه روشه. خوبیش اینه که چون از DoEvents استفاده نمی کنی سرعت کم نمیشه. DoEvents سرعت حلقه رو خیلی کم می کنه. ولی یه جوریه !Whistle

من تو این چند سالی که برنامه نویسی کردم. فقط یه برنامه نوشتم که واقعا احتیاج به لودینگ داشت. اونم بعد از گذشت هر مرحله و پایان هر حلقه progressbar رو جلو بردم. اون برنامه 10 مگابایت شده بود. برای بقیه برنامه ها یه صفحه wait ... می زارم.

نقل قول: در پست 8 جناب far222000 یه مثال گذاشتن
باز برگشتیم به عقب ! اون اصلا لود نیست که ! اینبار نمی تونم ساکت باشم ! Biggrin

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۱۹-مرداد-۱۳۸۷, ۲۳:۳۲:۳۷
ارسال‌ها
پاسخ
amirjan آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 1,105
موضوع‌ها: 24
تاریخ عضویت: تير ۱۳۸۳

تشکرها : 348
( 697 تشکر در 251 ارسال )
ارسال: #43
RE: گذاشتن لودینگ در اول برنامه
نقل قول: DoEvents سرعت حلقه رو خیلی کم می کنه.
پیشنهاد : اگه یه حلقه داری مثل حلقه زیر. لازم نیست دقیقا توی هر مرحله doevents بزاری ، می تونی هر 100 تا، یک بار doevents بزنی :
نقل قول: For i = 1 To 5000

For j = 2 To i - 1
prime = 1
If i Mod j = 0 Then prime = 0: Exit For
If j Mod 100 = 0 Then DoEvents
Next j

If prime = 1 Then prime_n = prime_n & i & ","

Next i

Text1.Text = "Prime Numbers : " & prime_n

سید امیر حسین حسنینی

Human knowledge belongs to the world ...
(آخرین ویرایش در این ارسال: ۲۰-مرداد-۱۳۸۷, ۰۰:۲۸:۱۹، توسط amirjan.)
۲۰-مرداد-۱۳۸۷, ۰۰:۲۶:۱۳
ارسال‌ها
پاسخ
تشکر شده توسط : amin_amin
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #44
RE: گذاشتن لودینگ در اول برنامه
اگه هنوز مشكل تايمر داري يه كار ديگه هم مي توني بكني.
يه تابع callback بساز. با Settimer يه تايمر تعريف كن و به اون تابع آدرس بده. البته من هنوز با تايمر مخالفم. چون اصلا منطقي نيست. ولي خوب ظاهرش برات مهم نيست ديگه‌ !
نقل قول: If i = 100 Then i = 0

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
۲۰-مرداد-۱۳۸۷, ۱۹:۰۱:۰۸
ارسال‌ها
پاسخ
تشکر شده توسط : amin_amin


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  گذاشتن about در usercontrol setroyd 4 2,883 ۲۱-اردیبهشت-۱۳۹۲, ۲۱:۵۸:۴۴
آخرین ارسال: setroyd
  سورس برنامه براي گذاشتن رمز روي ويندوز بعد از ريستارت يا خاموش شدن rap0661 19 16,987 ۰۱-آبان-۱۳۹۰, ۰۰:۰۶:۳۱
آخرین ارسال: Ghoghnus
  ]گذاشتن Tooltip برا آیکن های listveiw pariya1 1 2,320 ۰۳-تير-۱۳۹۰, ۱۰:۱۹:۰۰
آخرین ارسال: pariya1
  لودینگ Error_system32 6 3,000 ۱۲-بهمن-۱۳۸۸, ۱۰:۱۰:۰۲
آخرین ارسال: skh1300
  کامپوننتی برای گذاشتن فلش در فرم evilbaby 1 2,452 ۱۵-خرداد-۱۳۸۸, ۰۱:۵۵:۴۶
آخرین ارسال: arashrj
  گذاشتن پسورد روی ماژولها m_vb66 2 3,447 ۱۹-فروردین-۱۳۸۸, ۱۷:۱۱:۰۶
آخرین ارسال: Black_Storm
  گذاشتن قفل در vb mehraban 5 5,058 ۲۰-آبان-۱۳۸۷, ۱۷:۴۹:۰۶
آخرین ارسال: keihancpu
  گذاشتن رمز بر روی فایل اکسس در ویژوال بیسیک Black_Man 1 4,566 ۰۵-خرداد-۱۳۸۶, ۱۱:۴۰:۱۵
آخرین ارسال: areza
  گذاشتن چند عکس در فرم far_222000 3 4,005 ۰۴-بهمن-۱۳۸۵, ۲۲:۵۱:۱۲
آخرین ارسال: HoseinVig

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS