سلام خدمت دوستان میشه کار با ProgressBar را برای من آموزش بدید
سلام خدمت دوستان میشه کار با ProgressBar را برای من آموزش بدید
Private Sub Command1_Click()
For i = 1 To 100
ProgressBar1.Value = i
If ProgressBar1.Value = 100 Then
Form2.Show
Unload Me
End If
Next i
End Sub
اگه منظورتون اینه که ماوس در حالت پر شدن Progressbar به صورت ساعت شنی در بیاد. از این کد باید استفاده کنید.
Screen.MousePointer = 11
منظورشون درست عکس چیزیه که شما دریافت کردین. یعنی:اگه منظورتون اینه که ماوس در حالت پر شدن Progressbar به صورت ساعت شنی در بیاد. از این کد باید استفاده کنید.
پر شدن Progressbar متناسب با مدت زمانی باشه که ماوس بصورت ساعت شنی درمیاد (مدت زمان انجام پروسه)
نوع نشانگر ماوس دست خودتون هست
خودتون میتونید تعیین کنید که چه حالتی رو نشون بده ،پس زمان براش بی معنیه.زمان برای پروگرس بار معنی داره که کی پر میشه و اون زمان شما باید نشانگر موس رو عوض کنین .
سوالی که شما مطرح کردید جواب نداره :d
بهتره که سوال خودتون رو تشریح کنین .
اصلا جمله "مدت زمانی که ماوس بصورت ساعت شنی درمیاد"بی معنی هست چون همچین زمانی تعریف نشده مگر توسط برنامه نویس که خود شما باشی .
من هم متوجه نشدم احتیاج داره بیشتر توضیح بدین
با سلام
حتماً شما عزیزان در برنامه ها ونرم افزارهای مختلف مشاهده کردیده ايد که قبل از باز شدن یک فرم یا گزارش در صورتی که مدتی طول بکشه تا اون فرم یا گزارش باز بشه نشانگر موس بصورت يك ساعت شني در مي آيد و به اصطلاح عاميانه به فكر فرو مي رود . هر فرم يا گزارشی معمولا با توجه به حجم اطلاعاتش مقداری طول میکشه تا باز بشه . ما اگر اين مدت زماني كه نشانگر موس قبل از باز شدن فرم يا گزارش بصورت ساعت شني در مي آيد بدست آوريم ، مي توانيم بجاي آن ، يك فرم ايجاد كنيم و بر روي آن يك نوار پيشرفت قرار بدهيم و زمان پرشدن آن نوار با توجه به آن زمان مشخص نمائيم و مثلاً در بالاي فرم هم ، جمله « لطفاً چند لحظه صبر كنيد » را تايپ كنيم .
با آرزوي موفقيت براي همه دوستان مهربان
خب شما میتونید همون پنجره ای رو که فرمودین در رویداد load فرم مورد نظرتون فراخوانی کنین تا نمایش داده بشه ، بعد تو رویداد Active همون فرم پنجره مربوط به progressBar رو ببندید.
این پیشنهاد منه ، نمیدونم دوستان چه نظری دارن؟
سلام
من این طوری متوجه شدم.
اگه اشتباه متوجه شدم که ببخشید. ( یه چیزی شبیه لودینگِ؟ )
اکتیوایکس مربوطه بانضمام برنامه
فكر كنم باز هم هيچ كس متوجه نشد
چيزي كه شما ميخوايد درواقع زمانش مشخص نيست. و فكر نمي كنم بشه اون زمان رو بدست آورد.
معمولاً اينجور مواقع از پروگرس بار به يه شكل ديگه استفاده ميشه. مثل زماني كه ويندوز بالا مياد.
الگوریتم هایی که تاریخچه خود را فراموش می کنند، محکوم به تکرار آن هستند.
من كه اين نتيجه گيري رو درست نميدونم
دوست عزيز فكر كن برنامت تحت شبكست و قرار اطلاعات لود كنه و شامل مراحل مختلفيه حالا كاربر چه جوري :
1- درصد پيشرفت كار
2-وضعيت لود شده
3-سرعت لود شدن با ديدن نوار پيشرفت كار
4-....
رو بدونه
يا مثلاً وقتي يه صفحه اينترنتي رو باز مي كني روي نوار StatusBar درصد پيشرفت رو ببيني و اگه خيلي زمان برد بي خيالش بشي
در نتيجه بستگي به برنامه نويس داره كه چجوري از ابزار استفاده بهينه كنه
موفق و پيروز باشيد ، دست ما رم بگيريد
البته هميشه هم اين طور نيست. بستگي به شما كه برنامه نويس هستيد داره.
به طور مثال اگر شما براي لود كردن ديتابيستون تو برنامه، تعداد ركوردهارو بدونيد و يكي يكي اونها رو بارگذاري كنيد اونوقت مي تونيد همونطور كه مي خوايد براش پروگرس بار بزاريد كه درصد پيشرفت واقعي رو نمايش بده. و يا مثلاً براي كپي كردن چند فايل، تعداد و حجم اونها رو بدونيد و بر اساس اينها پروگرسبارتون رو مقدار دهي كنيد.
موفق باشيد/
الگوریتم هایی که تاریخچه خود را فراموش می کنند، محکوم به تکرار آن هستند.
نه اصلا اینطور نیست اکثر اوقات این کار رو با یک تایمر انجام میدهند ولی مثلا برای پیدا کردن نتیجه یک جستجو یا همون search مثلا دودویی تعداد For های استفاده شده را به نوار پیشرفت وصل می کنند و بعد از بار گزاری دیتا دستور فعال سازی فرم مورد نظر رو میدهند من به شما کار با تایمر رو پیشنهاد میکنم چون هم میتونید زمانش رو خودتون تعیین کنید و هم جنبه ظاهری بهتری داره در غیر این صورت اگر حرفه ای هستید که با همون For استفده کنید اگر هم آموزش این کار میخواهید به من فرصت بدید تو فروم حتما ذکر میکنم ولی خیلی رو مخه....
میبخشید ولی اقل اوقات هم از تایمر استفاده نمیکنن ، چون اینطوری در هر سیستمی زمان لود برنامه باید یکسان باشه ، در حالی که در سیستمهای بروزتر این زمان کمتر و در رایانه های قدیمی تر با سرعت پردازش کمتر این زمان نیز بیشتر خواهد بود.
شما دوست عزیز اگه بفرمایید برای چه عملیاتی پروگرس میخاهید فکر کنم زودتر به نتیجه برسید تا یک سوال کلی.