PDA

View Full Version : نمایش در صد لود شدن برنامه قبل از لود کامل



maryam_en
سه شنبه 13 مهر 1395, 14:43 عصر
با سلام بنده کد "در صد لود شدن یک برنامه" رو قبل از باز شدن کامل اون روی فرمم توی VB نیاز دارم. لطفا راهنماییم کنید ممنونم

Mani_rf
سه شنبه 13 مهر 1395, 15:02 عصر
لود شدن خود فورم برنامه زمانی نمیبره که نیاز باشه برای اون پروگرس بار نشون بدید. چیزی که زمان گیر هست دیتایی که روی فرم لود میکنید. کد خاصی برای این کار وجود نداره و شما باید بسته به روشی که دارید دیتا رو لود میکنید با استفاده از مکانیز تردینگ (یا چندنخی) از هنگ کردن فرم جلوگیری کنید و میزان پیشرفت لود شدن رو نمایش بدید.
درباره Threading تحقیق کنید.

maryam_en
سه شنبه 13 مهر 1395, 20:18 عصر
لود شدن خود فورم برنامه زمانی نمیبره که نیاز باشه برای اون پروگرس بار نشون بدید. چیزی که زمان گیر هست دیتایی که روی فرم لود میکنید. کد خاصی برای این کار وجود نداره و شما باید بسته به روشی که دارید دیتا رو لود میکنید با استفاده از مکانیز تردینگ (یا چندنخی) از هنگ کردن فرم جلوگیری کنید و میزان پیشرفت لود شدن رو نمایش بدید.
درباره Threading تحقیق کنید.

ممنونم از راهنماییتون، شاید سوالمو واضح نپرسیدم. به بیان دیگه چیزی که مدنظرم هست همون پروگرس باره که می خوام یه تایم چند ثانیه ای رو به جای پروگرس بار با درصد نشون بدم. یعنی به جای اینکه پروگرس بار پر بشه از 0 تا 100 بشمره و همین عدد رو نمایش بده

Mani_rf
چهارشنبه 14 مهر 1395, 09:15 صبح
ممنونم از راهنماییتون، شاید سوالمو واضح نپرسیدم. به بیان دیگه چیزی که مدنظرم هست همون پروگرس باره که می خوام یه تایم چند ثانیه ای رو به جای پروگرس بار با درصد نشون بدم. یعنی به جای اینکه پروگرس بار پر بشه از 0 تا 100 بشمره و همین عدد رو نمایش بده

نمیدونم درست متوجه شدم یا نه اما اگر میخوای عدد درصد پیشرفت رو در بیاری باید از این فرمول استفاده کنی:
پیشرفت / دامنه بالا = درصد پیشرفت * 100
100/73=7.3*100=73%

اگر باز هم درست متوجه نشدم میتونی با عکس توضیح بدی

336699
چهارشنبه 14 مهر 1395, 10:31 صبح
سلام

از Splash screen استفاده کن

با استفاده از لیبل و تایمر هم می تونی از 0 تا 100 رو نمایش بدی.

maryam_en
چهارشنبه 14 مهر 1395, 23:47 عصر
نمیدونم درست متوجه شدم یا نه اما اگر میخوای عدد درصد پیشرفت رو در بیاری باید از این فرمول استفاده کنی:
پیشرفت / دامنه بالا = درصد پیشرفت * 100
100/73=7.3*100=73%

اگر باز هم درست متوجه نشدم میتونی با عکس توضیح بدی


با سلام مجدد. اگه بخوام ازرو تصویر نشون بدم مساله موردنظر من اون چیزی هست که تو این ادرس اوردم خدمتتون
http://s8.picofile.com/file/8269816276/1.jpg

maryam_en
پنج شنبه 15 مهر 1395, 08:02 صبح
سلام

از Splash screen استفاده کن

با استفاده از لیبل و تایمر هم می تونی از 0 تا 100 رو نمایش بدی.



ممنونم از شما دوست خوب. دارم بررسیش می کنم ببینم چجوری کار میکنه

gilsoft
پنج شنبه 15 مهر 1395, 08:09 صبح
با سلام مجدد. اگه بخوام ازرو تصویر نشون بدم مساله موردنظر من اون چیزی هست که تو این ادرس اوردم خدمتتون
http://s8.picofile.com/file/8269816276/1.jpg

سلام دوست عزیز

تصور می‌کنم منظور شما رو کاملا متوجه شدم ...

منتهی باید یه کوچولو وقت بدی .. سعی می‌کنم تا فردا غروب براتون آماده‌اش کنم ......

maryam_en
چهارشنبه 28 مهر 1395, 10:58 صبح
سلام دوستان عزیز. کسی جواب سوال منو نمیدونه؟؟؟:ناراحت:مدیر جان من هنوز منتظرم...:افسرده:

rahmatipoor
چهارشنبه 28 مهر 1395, 12:55 عصر
سلام
من روال کلی کار رو براتون توضیح میدم . خودتون کدش رو بنویسید.
یه فرم به اسم splashScreen یا هر چی که دوست دارید به پروژه تون اضافه کنید و اون رو به عنوان فرم ابتدایی برنامه قرار بدید. توی کلاس program
روی فرم هم یک تایمر قرار بدید و یک لیبل هم روی فرم قرار بدید و مقدار اولیه اون رو 0 قرار بدید. یه متغیر هم به اسم مثلا i در نظر بگیرید و مقدار اون رو صفر قرار بدید.
بعد روی تایمرتون دوبار کلیک کنید و توی رویداد tick اون مقدار i رو یک واحد زیاد کنید و بعدش مقدار i رو توی خاصیت تکست لیبل قرار بدید. یه شرط هم بذارید که اگه مقدار i برابر یا بیشتر از 100 شد این فرم یعنی فرم splashScreen رو مخفی کنه و فرم بعدی برنامه ( مثلا فرم لاگین ) رو نمایش بده و تایمر رو هم استپ کنه

توی متد لودینگ فرم splashScreen هم تایمر رو استارت کنید.

همچنین برای تنظیم میزان زمانی که صفحه splashScreen طول میکشه خاصیت interval تایمر رو ست کنید. مثلا اگه میخواهید این فرم splashScreen ، پنج ثانیه طول بکشه اینطوری عمل کنید :
5 ثانیه مساویه با 5000 میلی ثانیه.
5000 تقسیم بر 100 مساوی است با 50
بنا بر این خاصیت interval تایمر رو روی 50 میلی ثانیه قرار بدید.
یعنی هر 50 میلی ثانیه یک واحد به مقدار i و اون لیبل اضافه میشه

rahmatipoor
چهارشنبه 28 مهر 1395, 12:57 عصر
نمونه اش رو هم با سی شارپ براتون نوشتم
http://s8.picofile.com/file/8271430342/splashScreen.rar.html

maryam_en
چهارشنبه 05 آبان 1395, 08:19 صبح
با سلام به دوست عزیز و سپاس از راهنماییای بسیار خوبتون. من چیزی که نوشتم با کمک شما رو تو فایل زیر فرستادم ، البته به درستی نمونه فرستاده شما نیست (من مبتدی هستم...:افسرده:) و دقیقا مدنظرم همون کاری که تو نمونه شما انجام میشه هست. نمیدونم کجای کارم ایراد داره . لطفا بازم راهنمایی می خوام. با سپاس فراوان....
http://s9.picofile.com/file/8272253718/chapars_proj_Copy_2_.rar.html

rahmatipoor
پنج شنبه 06 آبان 1395, 11:32 صبح
سلام جوابش رو میدم بهتون

rahmatipoor
جمعه 07 آبان 1395, 20:14 عصر
سلام
این هم پروژه تون با زبان vb.net .
فقط اولین باری هست که با vb.net برنامه نوشتم ، اگه مشکلی داشت نادیده بگیرید

http://s8.picofile.com/file/8272559668/Project.rar.html

maryam_en
سه شنبه 11 آبان 1395, 07:22 صبح
سلام
این هم پروژه تون با زبان vb.net .
فقط اولین باری هست که با vb.net برنامه نوشتم ، اگه مشکلی داشت نادیده بگیرید

http://s8.picofile.com/file/8272559668/Project.rar.html



با سلام به شما دوست عزیز و سپاس فراوان از زحمات بی دریغ و بدون چشم داشتتون(ان شالله خدا پاداشتونو بده و خیرش نصیبتون بشه....). یه مشکلی که هست اینه که من وقتی فایل vb رو باز میکنم و می خوام کد رو ببینم کنار همه فرم ها علامت تعجب زرد هست و run نمیشه، من مبتدی هستم و برخورد نکردم با این مساله تا حالا...:خجالت:............ دقیقا به خاطر همین که نمی دونم چکار کنم کد سی شارپی که زحمتشو کشیدین نتونستم ببینم. میشه بازم راهنماییم کنین لطفا...)

rahmatipoor
سه شنبه 11 آبان 1395, 13:44 عصر
با سلام به شما دوست عزیز و سپاس فراوان از زحمات بی دریغ و بدون چشم داشتتون(ان شالله خدا پاداشتونو بده و خیرش نصیبتون بشه....). یه مشکلی که هست اینه که من وقتی فایل vb رو باز میکنم و می خوام کد رو ببینم کنار همه فرم ها علامت تعجب زرد هست و run نمیشه، من مبتدی هستم و برخورد نکردم با این مساله تا حالا...:خجالت:............ دقیقا به خاطر همین که نمی دونم چکار کنم کد سی شارپی که زحمتشو کشیدین نتونستم ببینم. میشه بازم راهنماییم کنین لطفا...)


خواهش میکنم. کار خاصی نیست

من ویژوال استودیو 2012 استفاده میکنم.
شاید نسخه شما قدیمی تر باشه

maryam_en
سه شنبه 11 آبان 1395, 21:46 عصر
خواهش میکنم. کار خاصی نیست

من ویژوال استودیو 2012 استفاده میکنم.
شاید نسخه شما قدیمی تر باشه

واس من ویژوال 2015 هست

ir-security
چهارشنبه 12 آبان 1395, 20:25 عصر
http://s8.picofile.com/file/8273177784/_Loading.rar.html

سلام اینو ببینید بدک نیست

maryam_en
سه شنبه 18 آبان 1395, 00:16 صبح
http://s8.picofile.com/file/8273177784/_Loading.rar.html

سلام اینو ببینید بدک نیست

ممنونم از شما دوست خوب. ولی من برنامه شما رو هم نمیتونم ببینم درست همون مشکلی که در ارتباط با برنامه دوست قبل داشتمو اینجا هم دارم(علامت تعجب زرد کنار فرم ها....!!!) دوستان لطفا راهنماییم کنین. سپاس

hamidrezax1
سه شنبه 18 آبان 1395, 11:38 صبح
سلام دوست من این همون چیزی هستش که دوستان برات ارسال کردند فقط من با وی بی 2010 برات ارسال کردم تا مشکلت حل بشه
دانلود (http://uplod.ir/5p3wod09k676/WindowsApplication3.zip.htm)

محمد آشتیانی
چهارشنبه 19 آبان 1395, 01:33 صبح
سلام
این کار که نمایش درصد پیشرفت نیست ، یعنی مثلا لود شدن فرم شما هرچقدر که طول بکشه (چه یک میلی ثانیه ، چه ۵ ثانیه) ، تصمیم دارید یک تایم مشخص کاربر رو معطل کنید که فرم splash نشون داده باشید فقط؟ اینکه خوب نیست

hamidrezax1
چهارشنبه 19 آبان 1395, 09:27 صبح
منم با نظر مهندس موافقم
معمولا زمانی اینکار رو انجام میدن که وقفه ای تو کار بیفته اونم به خاطر انجام عملیات سیستمی که میشه اونوقت این کار رو با استفاده از ترد و یا حلقه انجام داد

rahmatipoor
چهارشنبه 19 آبان 1395, 13:08 عصر
بعضی مواقع هدف نمایش نام و لوگوی شرکت یا نرم افزار یا ... هست

maryam_en
چهارشنبه 19 آبان 1395, 23:44 عصر
بعضی مواقع هدف نمایش نام و لوگوی شرکت یا نرم افزار یا ... هست


ممنون از همه دوستانی که کمک می کنن
دقیقا هدف اون چیزیه که جناب رحمتی فرمودن

gilsoft
شنبه 22 آبان 1395, 08:27 صبح
ممنون از همه دوستانی که کمک می کنن
دقیقا هدف اون چیزیه که جناب رحمتی فرمودن

سلام دوست عزیز

ببخشید که دیر جواب دادم

در قسمت ApplicationEvents.vb کد زیر اضافه شده:
Partial Friend Class MyApplication

Protected Overrides Function OnInitialize(ByVal commandLineArgs As System.Collections.ObjectModel.ReadOnlyCollection( Of String)) As Boolean

' Set the display time to 5000 milliseconds (5 seconds).
Me.MinimumSplashScreenDisplayTime = 5000
Return MyBase.OnInitialize(commandLineArgs)
End Function
End Class

با تغییر عدد در سطر ششم .. میتونی مقدار زمان (برحسب میلی ثانیه) رو تنظیم کنی

فقط اینکه: باید از این پروژه ایده بگیری

موفق باشید .....

meysam jahedi
دوشنبه 24 آبان 1395, 22:31 عصر
لود شدن خود فورم برنامه زمانی نمیبره که نیاز باشه برای اون پروگرس بار نشون بدید. چیزی که زمان گیر هست دیتایی که روی فرم لود میکنید. کد خاصی برای این کار وجود نداره و شما باید بسته به روشی که دارید دیتا رو لود میکنید با استفاده از مکانیز تردینگ (یا چندنخی) از هنگ کردن فرم جلوگیری کنید و میزان پیشرفت لود شدن رو نمایش بدید.
درباره Threading تحقیق کنید.

ممنون میشم بیشتر توضیح بدید ، چطور میتونیم وقتی از دیتاسیت مثلا اطلاعات رو لود میکنیم و توی یه دیتاگرید نشون میدیم " بتونیم درصد پیشرفت رو نشون بدیم؟ مگه حجم و.. مقیاسی داریم که روش کار کنیم؟ نمونه کدی دارین بزارید ممنون میشم