نمایش نتایج 1 تا 6 از 6

نام تاپیک: لغو و یا نگه داشتن عملیات در حال اجرا برنامه؟!

  1. #1

    Red face لغو و یا نگه داشتن عملیات در حال اجرا برنامه؟!

    سلام
    میخواستم بدونم
    بهترین راه برای نگه داشتن عملیات برنامه و ادامه دادن به اونها چیه ؟!

    یعنی بشه عملیات سنگینی رو که برنامه داره انجام میدرو ... به شکل Pause – Resume نگه داشت و ادامه داد ... ویا کلا Stop کرد ؟!

    البته اگه از Background Worker استفاده کنیم این کارو میشه به راحتی انجام داد ولی میخوام بدون استفاده از اون این کارو کنم ..

  2. #2

    نقل قول: لغو و یا نگه داشتن عملیات در حال اجرا برنامه؟!

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

  3. #3

    نقل قول: لغو و یا نگه داشتن عملیات در حال اجرا برنامه؟!

    مثلا توی بدنه For Each یا For Next یا یه همچین چیزایی ...
    بشه پاز گرفت و .........

  4. #4
    کاربر دائمی آواتار Hossis
    تاریخ عضویت
    آبان 1386
    محل زندگی
    بیرجند
    پست
    1,731

    نقل قول: لغو و یا نگه داشتن عملیات در حال اجرا برنامه؟!

    نقل قول نوشته شده توسط Alirezanet مشاهده تاپیک
    مثلا توی بدنه For Each یا For Next یا یه همچین چیزایی ...
    بشه پاز گرفت و .........
    براي اين کار بايد سه مرحله طي کنيد
    اول در سطح عمومي فرم يک متغير از نوع بولين ايجاد کنيد
    Dim Poused As boolean
    يک دکمه براي مکث/ادامه روي فرم قرار داده که مقدار Poused را برعکس کند
    Poused=not Poused
    سوم اين که در داخل حلقه بررسي کنيد اگر مقدار Poused مثبت بود،‌ از حلقه خارج شود
    البته بايد بگم که براي مکث بايد يک متغير ايستا Static هم داخل روال بايد تعريف کنيد که محل توقف را حفظ کند مثلا اگر حلقه شما از يک تا 300 هست و در شماره 65 متوقف شده،‌ اين متغير قبل از خروج از حلقه، مقدار 65 را ذخيره کند ،‌ شروع حلقه هم بايد از همين متغير باشد که تبعا در اولين بار اجرا صفر است چون تا آن موقع مقدار دهي نشده است به اين مثال توجه کنيد:
     
    sub DoWork
    static i as Integer
    for J as integer =I To List1.Items.count-1
    If Poused=false then
    Mytxt &=list1.Items(j)
    else
    I=J
    Exit for
    end if
    end sub

    در اين مثال ، پس از زدن دکمه مکث، متغير I شماره جاري را گرفته و از حلقه خارج مي‌شود. پس از اين که مجددا کاربر کار را از سر گرفت، از همان شماره ادامه مي‌دهد
    براي توقف کامل،‌ همان سه مرحله اول کافي است

  5. #5
    کاربر دائمی آواتار hero4000
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    اينجا
    پست
    378

    نقل قول: لغو و یا نگه داشتن عملیات در حال اجرا برنامه؟!

    دوست عزيز شما چرا از Thread استفاده نميکنيد

    فکر کنم همين گزينه ها رو داشته باشه

    استانداردتر هم هست

  6. #6
    کاربر دائمی آواتار vbworm
    تاریخ عضویت
    شهریور 1387
    محل زندگی
    خانه شیطان
    سن
    43
    پست
    198

    نقل قول: لغو و یا نگه داشتن عملیات در حال اجرا برنامه؟!


    Dim
    TRD As Threading.Thread
    TRD.IsBackground =
    True
    TRD.Start(PARAMETER)

    برای توقف

    TRD.Abort()

    برای ادامه
    TRD.Resume()

قوانین ایجاد تاپیک در تالار

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