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

نام تاپیک: چرا در استفاده از for برنامه هنگ میکنه.

  1. #1

    Arrow چرا در استفاده از for برنامه هنگ میکنه.

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


  2. #2

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    اول بگید که از چه دیتابیسی استفاده میکنید. بجای For از دستورهای خود SQL استفاده کنید. برای تمامی اعمال ریاضی :


    SELECT AliasName= <Calculate Expression> From MyTable


    یا

    SELECT <Calculate Expression> As AliasName From My Table

  3. #3

    Arrow نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    ممنون از دوستان بابت جوابتون

    از بانک Access 2003 استفاده می کنم

    در ضمن من داخل بانک اول یک سری هزینه رو به دست میارم که حلقه دوم به این هزینه ها برای عملیاتش نیاز داره و در حلقه دوم کلیه هزینه ها با کلیه مبالغ پرداختی طرف حساب محاسبه میشه و در حلقه آخر صورت حساب مشتری محاسبه میشه

    که همه این ها باید با هم دیگر محاسبه بشه چون به همدیگر نیاز دارند و من از حلقه For استفاده کردم چون راه دیگه پیدا نکردم
    من از دستورات sql در حلقه استفاده میکنم اما باز برنامه به علت ازدیاد رکوردها و دیتا هنگ میکنه.

    ممنون


  4. #4

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    من از دستورات sql در حلقه استفاده میکنم اما باز برنامه به علت ازدیاد رکوردها و دیتا هنگ میکنه.
    منظور از هنگ کردن اینه که برنامه کمی هنگ می کنه و با رسیدن به آخر جدول ، حلقه به پایان می رسه و برنامه به حالت عادی بر می گرده ؟ یا اینکه حلقه اصلا به پایان نمی رسه و برنامه از حالت هنگ ! بیرون نمی یاد ؟
    اگه مشکل حالت اوله ، می تونید در پایان حلقه از ProcessMessages استفاده کنید ، مثال :

    for I := 0 to 10 do
    begin
    ...
    application.ProcessMessages;
    end;

    اما اگه مشکل حالت دومه ، بهتره کدی که در حلقه می نویسید اینجا بزارید تا جواب بهتری بگیرید ...

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

  5. #5
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    كاشان
    سن
    37
    پست
    315

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    (البته اگه در كدنويسي اشتباهي نكرده باشيد) احتمالا برنامه شما هنگ نميكنه و برنامه درحال انجام كار خودش هست
    شايد زمان انجام دستورات و به پايان رسيدن حلقه طولاني هست.

  6. #6

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

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


  7. #7

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    چیکار کنم این محاسبات کوفتی رو که راحت انجام بشه و سیستم قفل نکنه.
    مشکلتون با Process Messages حل نشد ؟
    اگر عملیات سختی ! در حال انجام هست بهتره از Thread استفاده کنید ...

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

  8. #8

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    سلام.
    دوست عزیز میتونی از quary خود accessاستفاده کنی بعد از خروجی اون استفاده کنی .اینجوری اطلاعات بدون اومدن تو dataset پردازش میشن و خروجی سبک میاد تو دیتاست.
    اگر نمیدونید چجوری تیبلاتون با فیلداش را اینجا بگید و بگید چه فیلیدی مورد نظرتونه تا بگم.
    برای راهنمایی بهتر for های برنامه خودتونم بنویسید.

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    كاشان
    سن
    37
    پست
    315

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    خب براش يه SPLASH درست كن

  10. #10
    کاربر دائمی آواتار FiACKER
    تاریخ عضویت
    آبان 1387
    محل زندگی
    روي صندلي ديگه
    پست
    222

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    بهترين گزينه براي مشكله شما استفاده از thread هاست.

    با استفاده از توابع api تردينگ رو امتحان كنيد كه خطايي مي ده يا نه ! اين كار خيلي راحته و فقط يه تابع مي سازين و به ترد مي فرستيدش پس خيلي سريع مي تونيد تست كنيد.

    اگه خطايي دريافت كرديد از كلاسه tthread ه خوده دلفي استفاده كنيد.

  11. #11

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    به نظرتون بهتر نیست اول همه اعداد از سه تیبل رو بخونید (با یه کوئری) یعد تو یه حلقه For که طبیعتا سریعتر هم اجرا می شه روشون محاسبات انجام بدید؟

  12. #12

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    به نظرتون بهتر نیست اول همه اعداد از سه تیبل رو بخونید (با یه کوئری) یعد تو یه حلقه For که طبیعتا سریعتر هم اجرا می شه روشون محاسبات انجام بدید؟
    نمیشه عزیز . همه باید با هم محاسبه بشن.


  13. #13

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    چرا از حلقه For استفاده میکنید؟ مگه تعداد رکوردهای جدولتون ثابته و تعداد رکوردها مشخصه؟
    به نظر شما نباید از حلقه While استفاده کنید؟

  14. #14

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    چرا از حلقه For استفاده میکنید؟ مگه تعداد رکوردهای جدولتون ثابته و تعداد رکوردها مشخصه؟
    به نظر شما نباید از حلقه While استفاده کنید؟
    ...
    For I := 0 to ADOTable.RecordCount do


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

  15. #15
    کاربر دائمی
    تاریخ عضویت
    آبان 1384
    محل زندگی
    كاشان
    سن
    37
    پست
    315

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    نگفتي چرا براش يه splash با عنوان "لطفا صبر كنيد" نميسازي؟

  16. #16
    کاربر دائمی آواتار Hamid.Kad
    تاریخ عضویت
    آبان 1385
    محل زندگی
    پُشت هیچستانم...
    پست
    349

    نقل قول: چرا در استفاده از for برنامه هنگ میکنه.

    دوست عزیز اگه کدتون رو اینجا قرار بدید مطمئن باشید مشکلتون سریعتر حل میشه

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

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