# Native Code > برنامه نویسی در 6 VB > کامپوننت ها و ابزارهای کاربردی در VB6 >  کار با ProgressBar

## ferankyy

سلام خدمت دوستان میشه کار با  ProgressBar را برای من آموزش بدید  :قلب:   :گریه:

----------


## Tasiyan

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

 :لبخند گشاده!:

----------


## alirezabahrami

> 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


با سلام
آيا ميتوان زمان تبديل نشانگر موس به ساعت شني را بدست آورد و آن را بجاي متغير *i* در دستور بالا قرار بدهيم؟
با تشكر

----------


## Tasiyan

> با سلام
> آيا ميتوان زمان تبديل نشانگر موس به ساعت شني را بدست آورد و آن را بجاي متغير *i* در دستور بالا قرار بدهيم؟
> با تشكر


مي بخشيد ! متوجه منظورتون نشدم 
ميشه بيشتر توضيح بديد   :متفکر:

----------


## فاطمه وطن دوست

اگه منظورتون اینه که ماوس در حالت پر شدن Progressbar  به صورت ساعت شنی در بیاد. از این کد باید استفاده کنید. 


Screen.MousePointer = 11

----------


## rostami

> اگه منظورتون اینه که ماوس در حالت پر شدن Progressbar به صورت ساعت شنی در بیاد. از این کد باید استفاده کنید.


منظورشون درست عکس چیزیه که شما دریافت کردین. یعنی:
پر شدن Progressbar متناسب با مدت زمانی باشه که ماوس بصورت ساعت شنی درمیاد (مدت زمان انجام پروسه)

----------


## alirezabahrami

> منظورشون درست عکس چیزیه که شما دریافت کردین. یعنی:
> پر شدن Progressbar متناسب با مدت زمانی باشه که ماوس بصورت ساعت شنی درمیاد (مدت زمان انجام پروسه)


با سلام
دقيقاً ، منظورم بنده هم همين است كه جناب آقاي رستمي به آن اشاره كردند .
با تشكر

----------


## hamed_arfaee

نوع نشانگر ماوس دست خودتون هست 

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

----------


## alirezabahrami

> نوع نشانگر ماوس دست خودتون هست 
> 
> خودتون میتونید تعیین کنید که چه حالتی رو نشون بده ،پس زمان براش بی معنیه.زمان برای پروگرس بار معنی داره که کی پر میشه و اون زمان شما باید نشانگر موس رو عوض کنین .


سلام
ظاهراً دوستان ، خيلي به سؤال مطرح شده دقت نكرده اند . اصلاً بحث تغيير شكل نشانگر موس در ميان نيست . لطفاً به توضيحات پست 6 مجدداً توجه فرمائيد .
با تشكر

----------


## hamed_arfaee

سوالی که شما مطرح کردید جواب نداره :d

بهتره که سوال خودتون رو تشریح کنین .

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

----------


## majjjj

من هم متوجه  نشدم احتیاج داره بیشتر توضیح بدین

----------


## alirezabahrami

> من هم متوجه نشدم احتیاج داره بیشتر توضیح بدین


با سلام
حتماً شما عزیزان در برنامه ها ونرم افزارهای مختلف مشاهده کردیده ايد که قبل از باز شدن یک فرم یا گزارش در صورتی که مدتی طول بکشه تا اون فرم یا گزارش باز بشه نشانگر موس بصورت يك ساعت شني در مي آيد و به اصطلاح عاميانه به فكر فرو مي رود . هر فرم يا گزارشی معمولا با توجه به حجم اطلاعاتش مقداری طول میکشه تا باز بشه . ما اگر اين مدت زماني كه نشانگر موس قبل از باز شدن فرم يا گزارش بصورت ساعت شني در مي آيد بدست آوريم ، مي توانيم بجاي آن ، يك فرم ايجاد كنيم و بر روي آن يك نوار پيشرفت قرار بدهيم و زمان پرشدن آن نوار با توجه به آن زمان مشخص نمائيم و مثلاً در بالاي فرم هم ، جمله « لطفاً چند لحظه صبر كنيد » را تايپ كنيم . 

با آرزوي موفقيت براي همه دوستان مهربان

----------


## reza_mn

خب شما میتونید همون پنجره ای رو که فرمودین در رویداد load فرم مورد نظرتون فراخوانی کنین تا نمایش داده بشه ، بعد تو رویداد Active همون فرم پنجره مربوط به progressBar رو ببندید.
این پیشنهاد منه ، نمیدونم دوستان چه نظری دارن؟

----------


## فاطمه وطن دوست

سلام

  من این طوری متوجه شدم.
 اگه اشتباه متوجه شدم که ببخشید. ( یه چیزی شبیه لودینگِ؟ )

اکتیوایکس مربوطه بانضمام برنامه

----------


## xxxxx_xxxxx

فكر كنم باز هم هيچ كس متوجه نشد :متفکر:  :لبخند گشاده!: 

چيزي كه شما ميخوايد درواقع زمانش مشخص نيست. و فكر نمي كنم بشه اون زمان رو بدست آورد.
معمولاً اينجور مواقع از پروگرس بار به يه شكل ديگه استفاده ميشه. مثل زماني كه ويندوز بالا مياد.

----------


## alirezabahrami

> فكر كنم باز هم هيچ كس متوجه نشد
> 
> چيزي كه شما ميخوايد درواقع زمانش مشخص نيست. و فكر نمي كنم بشه اون زمان رو بدست آورد.
> معمولاً اينجور مواقع از پروگرس بار به يه شكل ديگه استفاده ميشه. مثل زماني كه ويندوز بالا مياد.


با سلام
پس بايد نتيجه بگيريم كه پروگرس بار هائي كه برنامه نويسان قبل از باز شدن فرم يا گزارش در برنامه خود قرار مي دهند بيشتر براي جلوه دادن زيبائي به برنامه خود ايجاد مي كنند تا منتظر ماندن واقعي كاربر براي اجراي فرم يا گزارش .
موفق باشيد .

----------


## Tasiyan

> با سلام
> پس بايد نتيجه بگيريم كه پروگرس بار هائي كه برنامه نويسان قبل از باز شدن فرم يا گزارش در برنامه خود قرار مي دهند بيشتر براي جلوه دادن زيبائي به برنامه خود ايجاد مي كنند تا منتظر ماندن واقعي كاربر براي اجراي فرم يا گزارش .
> موفق باشيد .


من كه اين نتيجه گيري رو درست نميدونم   :اشتباه: 
دوست عزيز فكر كن برنامت تحت شبكست و قرار اطلاعات لود كنه و شامل مراحل مختلفيه حالا كاربر چه جوري :
1- درصد پيشرفت كار
2-وضعيت لود شده
3-سرعت لود شدن با ديدن نوار پيشرفت كار
4-....
رو بدونه   :متفکر: 

يا مثلاً وقتي يه صفحه اينترنتي رو باز مي كني روي نوار StatusBar درصد پيشرفت رو ببيني و اگه خيلي زمان برد  :عصبانی:  بي خيالش بشي  :قهقهه: 

در نتيجه بستگي به برنامه نويس داره كه چجوري از ابزار استفاده بهينه كنه

موفق و پيروز باشيد ، دست ما رم بگيريد 
 :لبخند گشاده!:

----------


## xxxxx_xxxxx

> با سلام
> پس بايد نتيجه بگيريم كه پروگرس بار هائي كه برنامه نويسان قبل از باز شدن فرم يا گزارش در برنامه خود قرار مي دهند بيشتر براي جلوه دادن زيبائي به برنامه خود ايجاد مي كنند تا منتظر ماندن واقعي كاربر براي اجراي فرم يا گزارش .
> موفق باشيد .


البته هميشه هم اين طور نيست. بستگي به شما كه برنامه نويس هستيد داره.
به طور مثال اگر شما براي لود كردن ديتابيستون تو برنامه، تعداد ركوردهارو بدونيد و يكي يكي اونها رو بارگذاري كنيد اونوقت مي تونيد همونطور كه مي خوايد براش پروگرس بار بزاريد كه درصد پيشرفت واقعي رو نمايش بده. و يا مثلاً براي كپي كردن چند فايل، تعداد و حجم اونها رو بدونيد و بر اساس اينها پروگرسبارتون رو مقدار دهي كنيد.

موفق باشيد/

----------


## irprogramming

> با سلام
> پس بايد نتيجه بگيريم كه پروگرس بار هائي كه برنامه نويسان قبل از باز شدن فرم يا گزارش در برنامه خود قرار مي دهند بيشتر براي جلوه دادن زيبائي به برنامه خود ايجاد مي كنند تا منتظر ماندن واقعي كاربر براي اجراي فرم يا گزارش .
> موفق باشيد .


 نه اصلا اینطور نیست اکثر اوقات این کار رو با یک تایمر انجام میدهند ولی مثلا برای پیدا کردن نتیجه یک جستجو یا همون search مثلا دودویی تعداد For های استفاده شده را به نوار پیشرفت وصل می کنند و بعد از بار گزاری دیتا دستور فعال سازی فرم مورد نظر رو میدهند من به شما کار با تایمر رو پیشنهاد میکنم چون هم میتونید زمانش رو خودتون تعیین کنید و هم جنبه ظاهری بهتری داره در غیر این صورت اگر حرفه ای هستید که با همون For استفده کنید اگر هم آموزش این کار میخواهید به من فرصت بدید تو فروم حتما ذکر میکنم ولی خیلی رو مخه....

----------


## reza_mn

> نه اصلا اینطور نیست اکثر اوقات این کار رو با یک تایمر انجام میدهند ولی مثلا برای پیدا کردن نتیجه یک جستجو یا همون search مثلا دودویی تعداد For های استفاده شده را به نوار پیشرفت وصل می کنند و بعد از بار گزاری دیتا دستور فعال سازی فرم مورد نظر رو میدهند من به شما کار با تایمر رو پیشنهاد میکنم چون هم میتونید زمانش رو خودتون تعیین کنید و هم جنبه ظاهری بهتری داره در غیر این صورت اگر حرفه ای هستید که با همون For استفده کنید اگر هم آموزش این کار میخواهید به من فرصت بدید تو فروم حتما ذکر میکنم ولی خیلی رو مخه....


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

----------


## alirezabahrami

> با سلام
> حتماً شما عزیزان در برنامه ها ونرم افزارهای مختلف مشاهده کردیده ايد که قبل از باز شدن یک فرم یا گزارش در صورتی که مدتی طول بکشه تا اون فرم یا گزارش باز بشه نشانگر موس بصورت يك ساعت شني در مي آيد و به اصطلاح عاميانه به فكر فرو مي رود . هر فرم يا گزارشی معمولا با توجه به حجم اطلاعاتش مقداری طول میکشه تا باز بشه . ما اگر اين مدت زماني كه نشانگر موس قبل از باز شدن فرم يا گزارش بصورت ساعت شني در مي آيد بدست آوريم ، مي توانيم بجاي آن ، يك فرم ايجاد كنيم و بر روي آن يك نوار پيشرفت قرار بدهيم و زمان پرشدن آن نوار با توجه به آن زمان مشخص نمائيم و مثلاً در بالاي فرم هم ، جمله « لطفاً چند لحظه صبر كنيد » را تايپ كنيم . 
> 
> با آرزوي موفقيت براي همه دوستان مهربان


با سلام
براي عدم نمايش موس بصورت ساعت شني در زمان لود شدن فرم يا گزارش (بدون توجه به پروگرس بار )چه كدي بايد نوشت؟
با تشكر

----------

