امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
یک سوال در مورد زمان بندی cin
نویسنده پیام
Fire_Falcon آفلاین
تازه وارد

ارسال‌ها: 14
موضوع‌ها: 6
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 30
( 1 تشکر در 1 ارسال )
ارسال: #1
یک سوال در مورد زمان بندی cin
سلام دوستان
میخواستم ببینم که میشه CIN رو زمان بندی کرد ؟؟؟؟؟
به طوری که مثلا برای 1 ثانیه منتظر Cin بمونه اگه داده ای که وارد نشد خط بعدی رو کامپایل کنه؟؟؟؟؟؟
۲۸-اردیبهشت-۱۳۸۹, ۱۴:۱۸:۱۷
ارسال‌ها
پاسخ
dreamvbfox آفلاین
در حال پیشرفت
***

ارسال‌ها: 426
موضوع‌ها: 44
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 236
( 1251 تشکر در 361 ارسال )
ارسال: #2
RE: یک سوال در مورد زمان بندی cin
(۲۸-اردیبهشت-۱۳۸۹, ۱۴:۱۸:۱۷)Fire_Falcon نوشته است: سلام دوستان
میخواستم ببینم که میشه CIN رو زمان بندی کرد ؟؟؟؟؟
به طوری که مثلا برای 1 ثانیه منتظر Cin بمونه اگه داده ای که وارد نشد خط بعدی رو کامپایل کنه؟؟؟؟؟؟

سلام
اتفاقا منم چند روزه درگير اين قضيه هستم. وقت هم ندارم برم دنبالش Biggrin
مي خوام هر موقع كه كاربر كليدي رو فشار داد بره تابعي رو اجرا كنه !‌
مثل رويداد ها در وي‍‍ژوال بيسيك و ...

يه سري سورس كد رو هم گير اوردم و شبيه سازي رويداد ها رو ترمينال به زبان c++ رو انجام ميده!!!
هنوز تستش نكردم !‌
درباره اين موضوع زير تو گوگل سرچ كن . به نتايجي ميرسي Amaze
کد:
c++ key envent
جواب گرفتي به ما هم بگو بزنيم تو كدمون !‌‌ نشد هم خودم چند روز ديگه مجبورم برم دنبالش Confused

موفق باشيد

Biggrin Use Google instead of asking stupid questions Biggrin

[/url]
CMC Automation System


آموزش زبان c++
[url=http://www.iranled.com/forum/thread-13923.html]

۲۸-اردیبهشت-۱۳۸۹, ۲۰:۴۹:۰۴
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Fire_Falcon
محمد حسینی آفلاین
کاربر فعال بخش رباتیک
****

ارسال‌ها: 1,363
موضوع‌ها: 139
تاریخ عضویت: آذر ۱۳۸۴

تشکرها : 974
( 1780 تشکر در 620 ارسال )
ارسال: #3
RE: یک سوال در مورد زمان بندی cin
من الان حضور ذهن ندارم دقیقا اسم توابع رو بگم (مدتیه C++ کار نمی کنم!!)
ولی اینی که میگی کاری نداره.

زمان سیستم رو بگیر. (خیلی راحته. اسم هدرش یادم نیست)
تو یه حلقه پایین بودن اون کلیدی که مد نظر داری رو چک کن (دستور اینم یادم نیست!! Biggrin نسخه جدید getch ...) همینطور تو حلقه چک کن ببین از اون زمانی که اول گرفتی یک ثانیه گذشته یا نه ...

به راه بادیه رفتن، به از نشستن باطل ------------- اگرچه وصل نیابم، بقدر وسع بکوشمRolleyes
(آخرین ویرایش در این ارسال: ۲۹-اردیبهشت-۱۳۸۹, ۲۱:۱۳:۱۴، توسط محمد حسینی.)
۲۹-اردیبهشت-۱۳۸۹, ۲۱:۱۲:۰۱
ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig
dreamvbfox آفلاین
در حال پیشرفت
***

ارسال‌ها: 426
موضوع‌ها: 44
تاریخ عضویت: مرداد ۱۳۸۷

تشکرها : 236
( 1251 تشکر در 361 ارسال )
ارسال: #4
RE: یک سوال در مورد زمان بندی cin
سلام

اینجوری که من از حرف هاتون فهمیدم شما می خواین که هر موقع که کاربر خواست خودش داده وارد کنه !!!‌ و برنامه تون به کار خودش ادامه بده !!!‌
برای اینکار شما باید از تابع ReadConsoleInput استفاده کنید . در مثال زیر این تابع رو داخل یه حقله گذاشته شده که همیشه اجرا میشود و مقدار بازگشتی بررسی میشود !
برای مثال اگر کاربر x را فشار بده برنامه بسته میشود !‌

کد:
#include <windows.h>
#include <iostream>
using namespace std;

int main()
{
    HANDLE hIn;
    HANDLE hOut;
    COORD KeyWhere;
    COORD MouseWhere;
    COORD EndWhere;
    bool Continue = TRUE;
    int KeyEvents = 0;
    int MouseEvents = 0;
    INPUT_RECORD InRec;
    DWORD NumRead;
    hIn = GetStdHandle(STD_INPUT_HANDLE);
    hOut = GetStdHandle(STD_OUTPUT_HANDLE);
    cout << "Key Events   : " << endl;
    cout << "Mouse Events : " << flush;
    KeyWhere.X = 15;
    KeyWhere.Y = 0;
    MouseWhere.X = 15;
    MouseWhere.Y = 1;
    EndWhere.X = 0;
    EndWhere.Y = 3;
    while (Continue)
    {
        ReadConsoleInput(hIn,
                         &InRec,
                        1,
                         &NumRead);
        switch (InRec.EventType)
        {
        case KEY_EVENT:
            ++KeyEvents;
            SetConsoleCursorPosition(hOut,
                                     KeyWhere);
            cout << KeyEvents << " ScanCode : ";
            cout << hex << InRec.Event.KeyEvent.wVirtualScanCode << flush;
            if (InRec.Event.KeyEvent.uChar.AsciiChar == 'x')
            {
                SetConsoleCursorPosition(hOut,
                                         EndWhere);
                cout << "Exiting..." << endl;
                Continue = FALSE;
            }
            break;
        case MOUSE_EVENT:
            ++MouseEvents;
            SetConsoleCursorPosition(hOut,
                                     MouseWhere);
            cout << MouseEvents << flush;
            break;
        }
    }
    return 0;
}

این کد فقط رو سیستم عامل ویندوز کار میکنه . من خود م رو کامپایلر Borland تست کردم و مشکلی نداشته

موفق باشید Biggrin

Biggrin Use Google instead of asking stupid questions Biggrin

[/url]
CMC Automation System


آموزش زبان c++
[url=http://www.iranled.com/forum/thread-13923.html]

۲۹-اردیبهشت-۱۳۸۹, ۲۲:۱۸:۱۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : HoseinVig


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  سوال در مورد infix ها Super Robot 1 2,738 ۱۸-دى-۱۳۹۱, ۱۶:۲۷:۲۸
آخرین ارسال: Ghoghnus
  [سوال] 2 تا سوال در مورد c++ shabnam_khaleh 3 4,617 ۳۱-مرداد-۱۳۹۱, ۲۱:۰۵:۵۳
آخرین ارسال: masterhe3ar
  سوال در مورد linq zahra_m_alipoor 1 3,314 ۱۶-مرداد-۱۳۹۱, ۱۵:۵۶:۰۹
آخرین ارسال: moribermuda
  سوال در مورد ی علامت salehjg 1 2,485 ۰۵-شهریور-۱۳۹۰, ۱۹:۴۰:۳۲
آخرین ارسال: babyy
  يه سوال در مورد پروژه کتابخانه Rink8 0 2,434 ۰۸-اردیبهشت-۱۳۸۷, ۲۳:۰۳:۵۷
آخرین ارسال: Rink8
  یه سوال در مورد اسمبلی vizvizbasic 12 13,117 ۰۷-اردیبهشت-۱۳۸۷, ۱۸:۳۵:۴۸
آخرین ارسال: lord_viper
  سوال در مورد c sh_teta 1 2,266 ۱۸-شهریور-۱۳۸۵, ۱۵:۰۹:۳۹
آخرین ارسال: pswin
at سوال در مورد ( MFC AppWizard ( exe   Iron_Fist 28 15,451 ۰۹-شهریور-۱۳۸۵, ۱۲:۰۷:۵۱
آخرین ارسال: arian_vc
at سوال در مورد آرایه Iron_Fist 21 14,936 ۲۷-مرداد-۱۳۸۵, ۱۷:۵۳:۱۴
آخرین ارسال: arian_vc

پرش به انجمن:


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

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