PDA

View Full Version : Multi task



هانی هاشمی
سه شنبه 16 مرداد 1386, 11:28 صبح
سلام

چه جوری می تونم تو سی ++ داس دو تا کارو با هم انجام بدم مثلا در موقعی که دارم از کاربر با دستور cout اسمش رو می گیرم همون موقع بک گراند یا رنگ یه تکستم رو عوض کنم.(منظور اینه که در یک زمان دو تا کار انجام بدم).

سی ++ می تونه هر به جای یه خط یه خط کامپایل کردن دو خط دو خط کامپایل کنه ؟؟ :متفکر::گیج:

خیلی ممنون:بوس:
خدا کنه منظورم رو فهمیده باشید.

emad_67
سه شنبه 16 مرداد 1386, 12:02 عصر
اینجا رو ببین
http://barnamenevis.org/forum/showthread.php?t=74640
البته منم با این چیزی که گفتن کار نکردم ولی انگار میشه

Delphi Skyline
سه شنبه 16 مرداد 1386, 13:51 عصر
emad_67 نخ ها (Thread) فقط در سیستم عامل های چند نخی معنی دارن . ایشون می خوان تحت داس این کار رو بکنن . لینکی که داده بودی کارا نیست و بدرد داس نمیخوره .

emad_67
سه شنبه 16 مرداد 1386, 14:43 عصر
با تشکر
ببخشید دیگه من با Thread ها کار نکردم دیدم سوالشون یه جورایی مربوطه گفتم شاید به دردشون بخوره
پس تحت داس امکان ایجاد هم زمانی فکر نمیکنم باشه دیگه, درسته؟

Delphi Skyline
سه شنبه 16 مرداد 1386, 15:36 عصر
اول : اینکه خواهش میکنم .
دوم : بله به اون شکل نمی توان پیاده سازی کرد . ولی میشه دستی یه چیزایی رو ایجاد کرد . با ایجاد وقفه ها و switch کردن در سیکل زمانی خاص بین دو وقفه میشه آونو تا حدودی شبیه سازی کرد .
موفق باشید ......... .

saeid5977
چهارشنبه 17 مرداد 1386, 12:31 عصر
سلام
لازم نیست کار در سطح وقفه و... انجام بشه. میشه به راحتی و به کمک دریافت تک تک کلید ها به کمک getch و نه cin این کار رو انجام داد. به این ترتیب که تو یه حلقه شما اول با kbhit چک میکنی که کارکتر جدید هست یا نه اگه بود با getch کارکتر رو میگیری. بعد چک میکنی که کارکتر باید نمایش داده بشه یا نه(ممکنه کنترلی باشه مثل enter یا backspase
)
وقتی کار خوندن یه حرف تموم شد میری سراغ دستور بعدی تو حلقه که کارش مثلا تغییر رنگ یه متنه بعدشم بر میگردی اول حلقه و ادامه ماجرا.

تو os های مالتی ترد هم خیلی موارد همین طور انجام میشه.
موفق باشید.