امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
ايجاد تايمر
نویسنده پیام
amircivil آفلاین
كاربر دو ستاره
**

ارسال‌ها: 162
موضوع‌ها: 34
تاریخ عضویت: بهمن ۱۳۸۳

تشکرها : 0
( 3 تشکر در 2 ارسال )
ارسال: #1
ايجاد تايمر
سلام دوستان
من چه جوري ميتونم در برنامه كنسول سي++ يه تايمر ايجاد كنم
اگه يه مثال هم بزنيد ممنون ميشم :oops:
ممنون
۰۹-بهمن-۱۳۸۴, ۱۹:۵۰:۰۷
ارسال‌ها
پاسخ
Mamad2003 آفلاین
کاربر با تجربه
****

ارسال‌ها: 1,150
موضوع‌ها: 18
تاریخ عضویت: آذر ۱۳۸۲

تشکرها : 9
( 388 تشکر در 232 ارسال )
ارسال: #2
 
آقا سلام

والا ايني كه شما گفتي يكم بايد جالب باشه اما من تا حالا نديدم ! توي MFC كه تايمر از كلاس CWnd حاصل شده و نشون ميده كه بايد يه پيغامي به يه پنجره اي چيزي ارسال بشه !
تو كنسول ما كه پنجره نداريم پس اينطوري نميشه . فكر كنم برنامه هاي كنسول مجبورن از تايمر سيستم و با كدهاي سطح پايين كار كنند . من متاسفانه بيشتر از اين چيزي نميدونم :cry:

گويند بهشت و حور و کوثر باشد  ..  جوي می و شير و شهد و شکر باشد
پر کن قدح باده و بر دستم نه      ..   نقدي ز هزار نسيه خوشتر باشد  
۰۹-بهمن-۱۳۸۴, ۲۲:۰۱:۱۱
ارسال‌ها
پاسخ
amircivil آفلاین
كاربر دو ستاره
**

ارسال‌ها: 162
موضوع‌ها: 34
تاریخ عضویت: بهمن ۱۳۸۳

تشکرها : 0
( 3 تشکر در 2 ارسال )
ارسال: #3
 
سلام
ممنون محمد جان
ولي يه راهي بايد باشه :cry:
۱۰-بهمن-۱۳۸۴, ۰۰:۲۱:۰۰
ارسال‌ها
پاسخ
bssoftware آفلاین
تازه وارد

ارسال‌ها: 12
موضوع‌ها: 4
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 0
( 0 تشکر در 0 ارسال )
ارسال: #4
 
خوب
سلام

خيلي سادست يه كلاس طراحي مي كني به صورت زير
يك متغيير از نوع اينت به عنوان زمان تحريك تايمر
يه تابع كه زمان رو مي گيره و نسبت با هر بار برسي زمان با متغيير زمان تحريك يه تابع كد رو اجرا مي كنه
يه تابع كه كد هاتو توش مي نويسي و اين كد هاي هستند كه مي خواي سر يه زمان خاصي اجرا بشه

بعد هم در برنامه اصلي يه كلاس پويا از اون كلاس اصلي مي سازي و در يك حلقه كلي كه كل برنامه با مديريتش توش قرار داره قرار مي دي يعني اولين تابع ذكر شده در بالا رو از توي كلاس صدا مي زني
۱۰-بهمن-۱۳۸۴, ۱۳:۰۲:۲۴
ارسال‌ها
پاسخ
Programmer آفلاین
كاربر دو ستاره
**

ارسال‌ها: 79
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 2
( 23 تشکر در 9 ارسال )
ارسال: #5
Cool  RE: ايجاد تايمر - پاسخ
WinkسلامSmile
پاسخ شما استفاده از سرويسِ 131 يا همان 83h(هگزاد دسيمال) است.
اين برنامه بايد رجيسترِ AL را 0 كند و آدرس يك بايت فلگ(پرچم براي بررسي رخداد) را در ES : BX بگذارد و فاصلهء زماني را در CX : DX بگذارد.
BIOS پس از گذشت زمان مقتضي فلگ را برابر 80h قرار ميدهد.
پس با بررسي اين فلگ ميتوان فهميد زمان مورد نظر طي شده يا خير؟
اين زمان سنج 1024 بار در ثانيه تيك ميزند پس حدوداً 976 ميكرو ثانيه دقت دارد.CoolسعيدCool

يك نكتهء مهم را اضافه ميكنم بايد هنگامي كه از زباني سطح بالا مثل ++C
استفاده مي كنيد متغيير فلگ شما بايد به صورت volatile تعريف شود چون كامپايلر هاي بسيار پيچيده و هوشمند اگر تصور كنند مقدار يك متغيير تغيير نكرده مقدار آنرا چك نخواهند كرد و چون اين متغيير در خارج از برنامه كنترل مي شود تحت كنترل كامپايلر بيچاره نيست ولي اين volatile اين مشكل رو حل مي كنه!

براي تعريف Flag (پرچم) كدي شبيه زير نياز است:
volatile int i = 0;

اگر جالب بود یه جوابی بدبد با معرفتها
Cool سعيد.ت  :cool:
(آخرین ویرایش در این ارسال: ۰۹-مهر-۱۳۸۵, ۱۲:۱۴:۵۷، توسط Programmer.)
۱۷-تير-۱۳۸۵, ۰۰:۴۱:۴۴
وب سایت ارسال‌ها
پاسخ
esmaeily-hosein آفلاین
كاربر دو ستاره
**

ارسال‌ها: 232
موضوع‌ها: 12
تاریخ عضویت: دى ۱۳۸۴

تشکرها : 6
( 91 تشکر در 46 ارسال )
ارسال: #6
RE: ايجاد تايمر
چرا از thread استفاده نمیکنید .

هر چی روش خوبه توش خوب نیست!
۲۴-تير-۱۳۸۵, ۲۲:۵۰:۳۹
ارسال‌ها
پاسخ
Programmer آفلاین
كاربر دو ستاره
**

ارسال‌ها: 79
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 2
( 23 تشکر در 9 ارسال )
ارسال: #7
RE: ايجاد تايمر
در برنامه های تحت داس از این چیزها خبری نیست
۲۵-تير-۱۳۸۵, ۱۲:۱۴:۰۷
وب سایت ارسال‌ها
پاسخ
amircivil آفلاین
كاربر دو ستاره
**

ارسال‌ها: 162
موضوع‌ها: 34
تاریخ عضویت: بهمن ۱۳۸۳

تشکرها : 0
( 3 تشکر در 2 ارسال )
ارسال: #8
Wink  RE: ايجاد تايمر
سلام دوستان
من این سوال رو خیلی وقت پیش پرسیده بودم

Amir_Civil
۲۵-تير-۱۳۸۵, ۱۵:۲۶:۳۲
ارسال‌ها
پاسخ
Programmer آفلاین
كاربر دو ستاره
**

ارسال‌ها: 79
موضوع‌ها: 4
تاریخ عضویت: تير ۱۳۸۵

تشکرها : 2
( 23 تشکر در 9 ارسال )
ارسال: #9
RE: ايجاد تايمر
منظور؟
یعنی سر کاری بود؟
۰۱-مرداد-۱۳۸۵, ۰۰:۲۳:۲۰
وب سایت ارسال‌ها
پاسخ
amircivil آفلاین
كاربر دو ستاره
**

ارسال‌ها: 162
موضوع‌ها: 34
تاریخ عضویت: بهمن ۱۳۸۳

تشکرها : 0
( 3 تشکر در 2 ارسال )
ارسال: #10
RE: ايجاد تايمر
نقل قول: منظور؟
یعنی سر کاری بود؟
نه
خودم جوابشو فهمیدم
ممنون از شما

Amir_Civil
۰۱-مرداد-۱۳۸۵, ۱۰:۵۱:۲۴
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  ايجاد گره هاي بيشتر در درخت ها mn_nahvi 0 2,085 ۰۹-بهمن-۱۳۸۵, ۱۷:۳۵:۱۶
آخرین ارسال: mn_nahvi

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS