تبلیغات :
ماهان سرور
آکوستیک ، فوم شانه تخم مرغی ، پنل صداگیر ، یونولیت
دستگاه جوجه کشی حرفه ای
فروش آنلاین لباس کودک
خرید فالوور ایرانی
خرید فالوور اینستاگرام
خرید ممبر تلگرام

[ + افزودن آگهی متنی جدید ]




صفحه 1 از 2 12 آخرآخر
نمايش نتايج 1 به 10 از 11

نام تاپيک: ProgressBar

  1. #1
    اگه نباشه جاش خالی می مونه MohammadJavad.T's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    436

    پيش فرض ProgressBar

    سلام

    دوستان به کدی که نوشتم نگاه کنید مشکل این کد چیه که وقتی ProgressBar
    پر میشه خطا میده .

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    -----------------------
    Last edited by MohammadJavad.T; 27-04-2009 at 23:08.

  2. #2
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام دوست عزیز....
    واضح است که با پیش رفت حلقه مقدا Value از مقدار Maximum بیشتر میشود.
    مقدار Value همواره باید بین Minimum و Maximum باشد.
    این عدد 10 عزیزتان کار را خراب میکند!

  3. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  4. #3
    اگه نباشه جاش خالی می مونه MohammadJavad.T's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    436

    پيش فرض

    سلام خدمت استاد عزیز h2

    ممنون بابت پاسخی که دادین

    کد بالا را تبدیل به این کد کردم خوب جواب داد .

    البته حس میکنم زیاد بهینه نباشه نظر شما رو میخواستم بدونم از همین روش استفاده کنم ؟

    این رو هم بگم قصد من فقط کپی بانک access از ادرسی به ادرس دیگر است (backup


    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

  5. #4
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    البته حس میکنم زیاد بهینه نباشه نظر شما رو میخواستم بدونم از همین روش استفاده کنم ؟
    آخه اینکه شما نوشته اید که یک if ساده است و من درست درکش نمیکنم

    ولی ...
    این رو هم بگم قصد من فقط کپی بانک access از ادرسی به ادرس دیگر است
    اگر میخواهید یک تک فایل را کپی کنید...
    میتوانید از دیالگو خود سیستم عامل هم استفاده کنید...
    ولی اگر تمایل به کپی دستی و نشان دادن روند پیشرفت در برنامه دارید...
    - فایل منبع و مقصد را به صورت Stream باز کنید.
    - حجم فایل منبع را برابر Max نوار پیشرفت قرار دهید
    - از فایل منبع در بلوک های مشخص (مثلاً 64KB) اطلاعات را بخوانید و در فایل مقصد بریزید
    - Value نوار پیشرفت را هم با آفست پرشده فایل مقصد تغذیه کنید.


    (ضمنا الآن دیگر چندان از DoEvents استفاده نمیککند..)

    موفق باشید.

  6. 2 کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده اند


  7. #5
    اگه نباشه جاش خالی می مونه MohammadJavad.T's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    436

    پيش فرض

    سلام خدمت H2 عزیز .

    آخه اینکه شما نوشته اید که یک if ساده است و من درست درکش نمیکنم
    به طور مثال وقتی یه فایل 500 مگابایتی در حال کپی شدن usage سی پی یو میره رو 50 %

    نا زمانی که حلقه کاره خودش رو تموم کنه .

    میتوانید از دیالگو خود سیستم عامل هم استفاده کنید...
    منظور شما این که از توابع API استفاده کنم ؟

    ممنون بابت توضیحات.

  8. #6
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    در ضمینه کد شما من یک ایهام دارم .... !
    این رو هم بگم قصد من فقط کپی بانک access از ادرسی به ادرس دیگر است
    برداشت میکنم که یک فایل قرار است کپی شود.

    For i = 0 To 10
    FileCopy(a, b)
    برداشت میکنم که چند فایل قرار است کپی شود!
    آیا منظورتان از FileCopy همان تابع قدیمی VB6 است؟
    راستی بدانید که این تابع در VB.Net در واقع System.IO.File.Copy را اجرا میکند.

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


    منظور شما این که از توابع API استفاده کنم ؟
    بله.
    البته خود تابع System.IO.File.Copy هم از CopyFile استفاده میکند ولی این api دیالوگ و شمای دیداری برای کپی ندارد.
    در مقابل SHFileOperation اینکار را مثل داخل خود MyComputer انجام میدهد، یعنی دقیقاً مثل زمانی که در خود ویندوز فرمان کپی بدهید، با همان دیالوگها و تاییدیه Replace و...

  9. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  10. #7
    اگه نباشه جاش خالی می مونه MohammadJavad.T's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    436

    پيش فرض

    در ضمینه کد شما من یک ایهام دارم .... !
    سلام

    این کل کدی است که نوشته ام.

    فقط یک فایل قرار کپی شود ! .

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    آیا منظورتان از FileCopy همان تابع قدیمی VB6 است؟[
    بله از همان توابعی که در VB6 خدا بیامرز بود. که در دات نت یک متد است .

    راستی بدانید که این تابع در VB.Net در واقع System.IO.File.Copy را اجرا میکند.
    من ابتدا از این فضا استفاده کردم ولی موقع Replace شدن به مشکل بر میخورد برا خدم هم خیلی عجیب بود

    که امدم از System.IO.File.Replace هم استفاده کردم بازم نشد . ولی وقتی از متد FileCopy استفاده کردم

    بدون مشکل کار میکرد.

    -------------------------------------------------------------------

    فقط تنها مشکلی که در حال حاضر دارم اگه این فایلی که قرار کپی بشه حجمش بره بالا مثلا 100 مگ

    usage سی پی یو میره رو 50 %

    نا زمانی که حلقه کاره خودش رو تموم کنه .

    که فکر کنم این کار اصلا بهینه نیست !!!
    Last edited by MohammadJavad.T; 01-05-2009 at 23:23.

  11. #8
    ناظر انجمن .NET Framework _H2_'s Avatar
    تاريخ عضويت
    Feb 2007
    محل سكونت
    یک جایی بین Framework و نارمک!
    پست ها
    4,746

    پيش فرض

    سلام
    فقط یک فایل قرار کپی شود

    میبخشید ولی شما متوجه هستید چه کدی نوشته اید؟
    شما 10 بار مجزا دارید f1 را به محل f2 کپی و Replace میکنید! این که نوار پیشرفت نمیشود!!!
    یعنی نوار پیشرفت شما هر بار یک خانه به جلو میرود در واقع یکبار فایل کپی شده و تمام شده!
    شما در قبال کپی یک فایل 500M در واقع یک فرآینده کپی 5G را استارت میکنید.
    ! ! ! ! !


    که فکر کنم این کار اصلا بهینه نیست !!!
    من هم به شدت موافق هستم!


    من ابتدا از این فضا استفاده کردم ولی موقع Replace شدن به مشکل بر میخورد برا خدم هم خیلی عجیب بود
    که امدم از System.IO.File.Replace هم استفاده کردم بازم نشد . ولی وقتی از متد FileCopy استفاده کردم
    دو دستور زیر برابر هستند ! ! !
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    و در واقع اولی خودش دومی ا اجرا میکند.


    کد پیشنهادی تشریح شده در پست 4
    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

    در صورت تمایل میتوانید از چند ریسمانی هم استفاده کنید.
    موفق باشید.

  12. این کاربر از _H2_ بخاطر این مطلب مفید تشکر کرده است


  13. #9
    اگه نباشه جاش خالی می مونه MohammadJavad.T's Avatar
    تاريخ عضويت
    Aug 2006
    پست ها
    436

    12

    سلام خدمت استاد عزیز H2

    میبخشید ولی شما متوجه هستید چه کدی نوشته اید؟
    شما 10 بار مجزا دارید f1 را به محل f2 کپی و Replace میکنید! این که نوار پیشرفت نمیشود!!!
    یعنی نوار پیشرفت شما هر بار یک خانه به جلو میرود در واقع یکبار فایل کپی شده و تمام شده!
    شما در قبال کپی یک فایل 500M در واقع یک فرآینده کپی 5G را استارت میکنید.
    من که همون اول گفتم اصلا کد بهینه ای نیست !!!

    کد:
    برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
    نمیدونستم پارامتر دیگری برای overwrite کردن داره ( جلل خالق )

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

  14. #10
    اگه نباشه جاش خالی می مونه BabyBoy's Avatar
    تاريخ عضويت
    Jun 2006
    محل سكونت
    bed
    پست ها
    290

    پيش فرض يه سوال؟


    اين همه كد براي كپي كردن 1 فايل؟

    مگه BackGroundWorker چه مشكلي داره؟

صفحه 1 از 2 12 آخرآخر

Thread Information

Users Browsing this Thread

هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)

User Tag List

قوانين ايجاد تاپيک در انجمن

  • شما نمی توانید تاپیک ایحاد کنید
  • شما نمی توانید پاسخی ارسال کنید
  • شما نمی توانید فایل پیوست کنید
  • شما نمی توانید پاسخ خود را ویرایش کنید
  •