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

نام تاپیک: سرعت اجرای برنامه

  1. #1

    سرعت اجرای برنامه

    با سلام و خسته نباشید
    من چه جوری میتونم , تایعی را که نوشتم در پشت زمینه اجرا کنم.
    ////////////////////////

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

    با تشکر

  2. #2
    منتظر تایید آدرس ایمیل
    تاریخ عضویت
    بهمن 1386
    محل زندگی
    كشور فرشته گانِ اروپا سوئد
    پست
    368

    نقل قول: سرعت اجرای برنامه

    سلام دوست عزيز به نظرِ من استفاده از backgroundWorker يا Thread كارتون رو راه
    ميندازه

  3. #3

    نقل قول: سرعت اجرای برنامه

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

  4. #4
    کاربر تازه وارد آواتار Masiha1986
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    تهران - شهرری
    پست
    36

    نقل قول: سرعت اجرای برنامه

    با سلام
    پروژه نمونه رو از قسمت فایل های پیوست شده دریافت کن.
    فایل های ضمیمه فایل های ضمیمه

  5. #5

    نقل قول: سرعت اجرای برنامه

    من یک تابع دارم که هر وقت فراخونی میشه چند ثانیه ای صفحه فقل میکنه .

    من اینو چه کار کنم.نمی خواهم صفحه قفل بشه. چون کاربر باید فیلدهای دیگر را تنظیم کند.

  6. #6
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: سرعت اجرای برنامه

    سلام
    درون تابع و درونی ترین بخش تابع این کد را اضافه کنید :
    Application.DoEvents();

  7. #7
    کاربر دائمی آواتار danial82
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    iran_tehran
    پست
    531

    نقل قول: سرعت اجرای برنامه

    احتمالا درون برنامه ات از dataset استفاده میکنی اگه اینجوریه اونو حذف کن و از datareader استفاده کن
    این لینک رو بین https://barnamenevis.org/showthread.php?t=73023

  8. #8

    نقل قول: سرعت اجرای برنامه

    جدا از سوالی که شما پرسیدید

    طراحی برنامه‌ی شما ضعیف هست
    اگه فرایندی این مقدار زمان می‌بره بهتره از Cache داده‌ها استفاده کنید
    به این معنی که یه جدول یا یک ستون اضافه توی پایگاه داده‌تون ایجاد کنید و مقادیری که نیاز به پردازش زیاد داره رو اونجا نگهداری کنید

    فقط در زمان‌های مورد نیاز و زمانی که اطمینان دارید داده‌ها باید عوض بشن محاسبه رو انجام بدید

  9. #9

    نقل قول: سرعت اجرای برنامه

    نقل قول نوشته شده توسط ASKaffash مشاهده تاپیک
    سلام درون تابع و درونی ترین بخش تابع این کد را اضافه کنید :
    Application.DoEvents();
    سلام.
    اینکار مطلقا صحیح نیست و میتونه بیشتر از اینکه مشکل گشا باشه؛ مشکلات جدیدی رو بوجود بیاره. مطالب بسیار زیادی در اینباره روی اینترنت منتشر شده، که یکی از اونها رو میتونید در این Weblog مطالعه کنید. بنابراین ازتون خواهش میکنم این پیشنهاد رو دیگه مطرح نکنید و خوتون هم هرگز ازون استفاده نکنید.

  10. #10
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: سرعت اجرای برنامه

    نقل قول نوشته شده توسط mehdi6755 مشاهده تاپیک
    سلام.
    اینکار مطلقا صحیح نیست و میتونه بیشتر از اینکه مشکل گشا باشه؛ مشکلات جدیدی رو بوجود بیاره. مطالب بسیار زیادی در اینباره روی اینترنت منتشر شده، که یکی از اونها رو میتونید در این Weblog مطالعه کنید. بنابراین ازتون خواهش میکنم این پیشنهاد رو دیگه مطرح نکنید و خوتون هم هرگز ازون استفاده نکنید.
    سلام دوست من
    من با شما موافق نیستم استفاده از یک روش برای همه کارها مناسب نیست برای مسائل ساده نباید پیچیدگی ایجاد کرد برایت مثال بزنم :
    برای یک بچه پنجم دبستان برای محاسبه مساحت یک مثلث روش استفاده از انتگرال دوگانه را پیشنهاد نمی کنید بلکه روش ساده محاسبه مثلث را پیشنهاد میدهید (چون مخاطب و سطح مسئله هم مهم است ) بعدها اینفرد وقتی رفت دانشگاه و در رشته های مرتبط با ریاضی مواجه شد به او می آموزند که با روشهای سیمسون و انتگرال دوگانه و ... میتوانید مساحت هر مثلثی را نیز حساب کنید. دوست من اگر DoEvents کاملا اشتباه است پس چرا مایکروسافت تاهمین 2008 نیز این دستور را حذف نمی کند ؟
    بنظرم نوشتن جمله شما بدون پرسیدن سطح سئوال از مخاطب به معنی آیه منزل تلقی میگردد و ته دل خوانندگان مبتدی این تاپیک را خالی میکند.
    ببخشید صریح حرف زدم چون این تاپیکها اساس آنها برآموزش استوار است و گفتن یک جمله با یقین کمی جای تامل دارد در ضمن لینک را هم نگاه کردم

  11. #11

    نقل قول: سرعت اجرای برنامه

    نقل قول نوشته شده توسط ASKaffash مشاهده تاپیک
    سلام دوست من
    من با شما موافق نیستم استفاده از یک روش برای همه کارها مناسب نیست برای مسائل ساده نباید پیچیدگی ایجاد کرد برایت مثال بزنم : برای یک بچه پنجم دبستان برای محاسبه مساحت یک مثلث روش استفاده از انتگرال دوگانه را پیشنهاد نمی کنید بلکه روش ساده محاسبه مثلث را پیشنهاد میدهید (چون مخاطب و سطح مسئله هم مهم است ) بعدها اینفرد وقتی رفت دانشگاه و در رشته های مرتبط با ریاضی مواجه شد به او می آموزند که با روشهای سیمسون و انتگرال دوگانه و ... میتوانید مساحت هر مثلثی را نیز حساب کنید. دوست من اگر DoEvents کاملا اشتباه است پس چرا مایکروسافت تاهمین 2008 نیز این دستور را حذف نمی کند ؟ بنظرم نوشتن جمله شما بدون پرسیدن سطح سئوال از مخاطب به معنی آیه منزل تلقی میگردد و ته دل خوانندگان مبتدی این تاپیک را خالی میکند. ببخشید صریح حرف زدم چون این تاپیکها اساس آنها برآموزش استوار است و گفتن یک جمله با یقین کمی جای تامل دارد در ضمن لینک را هم نگاه کردم
    سلام.
    اگر دوست دارید برنامه اتون Error-Prone باشه خوب اونکاری که فکر میکنید صحیح هستش انجام بدین. اگر میدونستید که این متود میتونه باعث reentrency بشه، اگر میدونستید Message Queue چیه و چه فرقی بین PeekMessage و GetMessage هست، اگر میدونستید فرق یه Main Thread و یه Worker Thread چیه و Handle به یه Window یعنی چی و چه محدودیتهایی در هنگام دستیابی همزمان به صف پیامها وجود داره، متوجه می شدید که من با شما پدر کشتگی ندارم و هنوزم رو جمله ای که گفتم پافشاری میکنم.

    اگر Software توسط یه Architect متبحر طراحی بشه، هرگز نیازی به استفاده از این "جینگولک" بازیها نیست. TerminateThread هم تو Windows بعنوان یه API فکر میکنم 15 ساله که اونجاست، اما آیا برنامه نویسان خوب از این API برای متوقف کردن Thread استفاده میکنن؟ مطلقا خیر. اونها میدونن که این تابع فقط باید در شرایط MOST EXTREME و بحرانی صدا زده بشه. در صورتیکه جوجه برنامه نویسای امروزی فکر میکنن که برای متوقف کردن یه Thread باید از abort (در C#‎) استفاده کنن و به استفاده از این تابع هم دامن میزنن. DoEvents هم شرایط مشابهی داره. همونطور که گفتم، بیشتر از اینکه بتونه مشکل گشا باشه، مشکل زاست!

  12. #12
    کاربر دائمی آواتار ASKaffash
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    تهران
    پست
    2,427

    نقل قول: سرعت اجرای برنامه

    سلام
    دوست من فکر می کنم که محتوای تاپیک 10 را به دقت مطالعه نکردید و مخاطب را مد نظر قرار نمی دهید در ضمن بحث علمی است نه مجادله شخصی در هر صورت منظور من خدای نکرده توهین به شما نیست ولی لحن شما کمی تند است ! (در ضمن موارد کاربرد Thread را میدانم هر روش متناسب با شرایط خودش مقرون به صرفه تر است)

  13. #13

    نقل قول: سرعت اجرای برنامه

    نقل قول نوشته شده توسط ASKaffash مشاهده تاپیک
    سلام
    دوست من فکر می کنم که محتوای تاپیک 10 را به دقت مطالعه نکردید و مخاطب را مد نظر قرار نمی دهید در ضمن بحث علمی است نه مجادله شخصی در هر صورت منظور من خدای نکرده توهین به شما نیست ولی لحن شما کمی تند است ! (در ضمن موارد کاربرد Thread را میدانم هر روش متناسب با شرایط خودش مقرون به صرفه تر است)
    سلام.
    مهم نیست مخاطب کیه، یه آماتور یا یه حرفه ای. مهم اینه که نباید از DoEvents باری به هر جهت استفاده کرد، حتی اگر به ظاهر مقرون به صرفه باشه. اتفاقا به یه آماتور نباید گفت که برو اینکارو کن، چون اون 100% چیزی در مورد مطالبی که گفتم نمیدونه و بعدا که با شرایط پیچیده در Application اش مواجه بشه، مدتها زمان میبره (تازه اگر بتونه) مشکل رو پیدا و حل کنه. پس اگر از همون اول راه صحیح رو بره، دیگه هرگز به اون شرایط بحرانی هم بر نمیخوره و همه با خوشحالی به هدفشون میرسن.

    مثالی هم که زدید کاملا Out Of Context هستش و نمیشه اونو به شرایط کنونی این Topic تعمیم داد.

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

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