ورود

View Full Version : سوال: تغییر رنگ فونت در کنسول



tahmtan
چهارشنبه 04 مرداد 1391, 00:59 صبح
سلام
دوستان عزیز می خواستم بدونم توی c++ می تونم رنگ قلمم رو عوض کنم؟
مثلا یه شرط بزارم که اگر a بزرگتر از b بود c رو قرمز چاپ کن
اگه هست با یه مثال بهم بگید ممنون

#target
چهارشنبه 04 مرداد 1391, 01:07 صبح
بله امکان داره . در محیط کنسول اگه منظورته >
میتونید با تابع SetConsoleTextAttribute اینکارو بکنید
همون کدتو برات آماده کردم !
#include <Windows.h>
int main()
{
HANDLE I = GetStdHandle(STD_OUTPUT_HANDLE);
int a = 10 ;
int b = 5 ;
if (a > b)
SetConsoleTextAttribute(I , FOREGROUND_RED);
DWORD X ;
WriteFile(I , "My Text" , 7 , &X , NULL);
}

tahmtan
چهارشنبه 04 مرداد 1391, 01:15 صبح
دوست عزیز تو محیط ویژال نه
توی محیط تحت داس چطور؟؟

#target
چهارشنبه 04 مرداد 1391, 01:16 صبح
ویندوز باشه این جواب میده .
سیستم عامل داس !! اطلاعی ندارم ! (چرا هنوز برای داس میخواید برنامه بنویسید ؟ )

tahmtan
چهارشنبه 04 مرداد 1391, 01:21 صبح
والا چی بگم:لبخند:
من خودم با vb کار می کنم c++ زیاد بلد نیستم.

Navid_QQQ
چهارشنبه 04 مرداد 1391, 01:39 صبح
شاید این (http://www.programmingsimplified.com/c/conio.h/textcolor) و این (http://www.dreamincode.net/forums/topic/17822-print-certain-text-in-color/)مشکل شما رو حل بکنه .


ویندوز باشه این جواب میده .
سیستم عامل داس !! اطلاعی ندارم ! (چرا هنوز برای داس میخواید برنامه بنویسید ؟ )

احتمالا دوست عزیزمون منظورشون از داس کتابخانه ی استاندارد سی پلاس پلاس ( همان stdlib) هستش که برنامه توی محیط خط فرمان نتیجه رو نشون میده .
وگرنه فکر نمیکنم با توابع های قدیمی داس کار بکنند و تو محیط داس باشند

Navid_QQQ
چهارشنبه 04 مرداد 1391, 02:01 صبح
این رو هم اضافه کنم که stdlib به تنهایی این قابلیت رو ساپورت نمی کنه و توابعی برای انجام اینکار مد نظر شما نداره .

اون لینک هایی هم که دادم به کمک conio.h اینکارو انجام دادند که یک سرآیند غیر استاندارد و افزونه ی بورلند هستش (http://www.bloodshed.net/dev/faq.html#conio).

maktoom
چهارشنبه 04 مرداد 1391, 23:47 عصر
سلام
با setcolor فک کنم مشکلتون حل بشه. به سایتایی که میان کل توابع موجود داخل یه کتابخونه رو توضیح می دن مراجعه کنید.
یکی از جاهایی که مرز اختلاف کامپایلرای مختلف c و c++ هستش همین بحث گرافیکه.

poia_si
پنج شنبه 05 مرداد 1391, 15:27 عصر
اره می تونی فقط یکم باید دستورهی داس بلد باشی
تو داس بنویس

color /?
همه کد های دنگ ها می تونی بدست بیاری
ولی یادت باشه اولین رنگ برای پشت ضمینه و دومی رنگ برای نوشته هاست
مثلا

color 07 ya color 8f
0 backgeround
7 neveshte ha
کد استفاده در c++

system("color 07");