الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تلوين المخرجات في لغه السي

بدأه رماد إنسانه في 22 نوفمبر 2009 · 15 رد · 5,353 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكــم ورحمـة الله وبركاتــه ،،

انا بشتغل على برنامج التربو سي بلس بلس

بأستخدام لغه السي

أريد أن اجعل الكلمات في شاشه الرن ملونه

بمعنى آخر اريد جعل الاوت بوت ملون

ماهي الداله المستخدمه وماهو الهيدر

وهل هناك دوال خاصه مستخدمه في برنامج التربو

بأنتظاركم

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

SetConsoleTextAttribute

#include <windows.h>
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_BLUE);
#3

أخي جربت الكود في البرنامج ولكن لايعمل

يعطيني الخطأ التالي

Compiling COLORFUL.C:

Error COLORFUL.C 2: 'GetStdHandle' cannot start a parameter declaration

Error COLORFUL.C 2: ) expected

#4

هذا مثال على تلوين الشاشه او النص

#include <stdio.h> 
#include <stdlib.h> 
int main() { 
system("COLOR 90"); //9-background color
					//0-text color
printf("hello world"); 
return 0; 
}

او ان تستخدم ال API كما في الرد السابق

تم تعديل هذه المشاركة بواسطة Ali Al-Zyoud في 22 نوفمبر 2009 في 23:00

#5

وهل يعمل معك هذا الكود

#include <windows.h>
#include<stdio.h>
#include<conio.h>
int main() { 
SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_GREEN);
printf("hello world\n"); 
getch();
return 0; 
}

وما نضام التشغيل الذي تستعمله وما هو المترجم الذي تستخدمه

#6

إذا كنت تستخدم Turbo C++ For DOS فلا تستطيع إستدعاء دوال API

بامكانك استخدام الدوال في conio.h مثل SetTextColor, setbackgroundcolor وغيرها

راجع الـ Help ستجد أمثلة ...

#7
YaSeenTA كتب:

إذا كنت تستخدم Turbo C++ For DOS فلا تستطيع إستدعاء دوال API

بامكانك استخدام الدوال في conio.h مثل SetTextColor, setbackgroundcolor وغيرها

راجع الـ Help ستجد أمثلة ...

اخي الكريم ماهي دوال API

ولماذا لاتعمل مع الDOS

هل تقصد DOS هيا نافذه الرن ؟ في التربو تكون win45

أرجوا التفصيل أكثر

#8
Ali Al-Zyoud كتب:

وهل يعمل معك هذا الكود

كود#include <windows.h>

#include<stdio.h>

#include<conio.h>

int main() {

SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ), FOREGROUND_GREEN);

printf("hello world\n");

getch();

return 0;

}

وما نضام التشغيل الذي تستعمله وما هو المترجم الذي تستخدمه

الكود لايعمل

نظام التشغيل فيستا

استخدم برنامج تربو سي بلس بلس

#9

للرفع

#10

اختي العزيزة قومي باستخدام التالي

#include<stdio.h>
#include<conio.h>
void main(){
textcolor(4);
cprintf("dfgdfg");
getch();
}

الهيدر المستخدم هو conio.h

والدالة

textcolor

وتعطيها رقما يدل على اللون

NameValue BLACK 0 BLUE1 GREEN2 CYAN3 RED4 MAGENTA5 BROWN6 LIGHTGRAY7 DARKGRAY8 LIGHTBLUE9 LIGHTGREEN10 LIGHTCYAN11 LIGHTRED12 LIGHTMAGENTA13 YELLOW14 WHITE15

هذه هي الالوان التي تتيحها

مع استخدام دالة

cprintf

عوضا عن printf

هذه كل العملية :)

تم تعديل هذه المشاركة بواسطة Dev:MOH-TAHA في 29 نوفمبر 2009 في 23:56

Linux for human beings

#11
Dev:MOH-TAHA كتب:

اختي العزيزة قومي باستخدام التالي

#include<stdio.h>
#include<conio.h>
void main(){
textcolor(4);
cprintf("dfgdfg");
getch();
}

الهيدر المستخدم هو conio.h

والدالة

textcolor

وتعطيها رقما يدل على اللون

NameValue BLACK 0 BLUE1 GREEN2 CYAN3 RED4 MAGENTA5 BROWN6 LIGHTGRAY7 DARKGRAY8 LIGHTBLUE9 LIGHTGREEN10 LIGHTCYAN11 LIGHTRED12 LIGHTMAGENTA13 YELLOW14 WHITE15

هذه هي الالوان التي تتيحها

مع استخدام دالة

cprintf

عوضا عن printf

هذه كل العملية smile.gif

اخي اثناء عمليه الكومبليشن

بيطلع لي انه مو قادر يتعرف على textcolor

بالتالي مابيشتغل البرنامج

بانتظارك

#12

لا أدري ولكن -على ما أذكر- تربو النسخه 4 والتي تخرج مخرج في نافذه بيضاء لا يدعم لا دوال الويندوز (مثله مثل نسخ الدوز) ولا دوال الgraphics.h مثل نسخ الدوز !!...

عليك استخدام بورلاند النسخه 5 اذا أردت أن تعمل هذه الأكواد معك ..

وأفضل حل أن تستخدم مترجم سي++ حديث (مثل Visual C++ Express أو MinGW ) وتستخدم دوال api مباشره للتلوين ،، هناك كثير من المكتبات للتسهيل ، راجع الفهرس هناك موضوع للأخ خالد على ما أذكر ، راجع codeproject.com ، راجع هنا أيضا :).

ويمكن ان تستخدم دوال الgraphics.h باستخدام هذه المكتبة :

http://www.onecore.net/dev-c-graphics.htm

بالتوفيق ،،

1

http://informatic-ar.com منصة تعليمية عربية في علوم الحاسب والبرمجة

https://moalfat.com  للكتب الالكترونية والكورسات التعليمية

Everything we see now is just an engineering solution based on old science

#13

قد تكزن المشكلة من الكومبايلر

تفضلي حملي turbo c++ version 3

وقد قمت بتجربة البرنامج عليه ولا يوجد اي مشكلة

اضغطي هنا

Linux for human beings

#14
Wajdy Essam كتب:

لا أدري ولكن -على ما أذكر- تربو النسخه 4 والتي تخرج مخرج في نافذه بيضاء لا يدعم لا دوال الويندوز (مثله مثل نسخ الدوز) ولا دوال الgraphics.h مثل نسخ الدوز !!...

عليك استخدام بورلاند النسخه 5 اذا أردت أن تعمل هذه الأكواد معك ..

وأفضل حل أن تستخدم مترجم سي++ حديث (مثل Visual C++ Express أو MinGW ) وتستخدم دوال api مباشره للتلوين ،، هناك كثير من المكتبات للتسهيل ، راجع الفهرس هناك موضوع للأخ خالد على ما أذكر ، راجع codeproject.com ، راجع هنا أيضا smile.gif.

ويمكن ان تستخدم دوال الgraphics.h باستخدام هذه المكتبة :

http://www.onecore.n...-c-graphics.htm

بالتوفيق ،،

جزاك الله خير الجزاء اخي الفاضل وجعله في ميزان حسناتك

فعلا كلامك صحيح 100% المشكله كانت في نسخه التربو الي معي لان الشاشه مثل نظام الدوز

ولكن ماالنافذه المستخدمه في فيجوال سي بلس بلس اكسبريس او حتى في نسخه تربو فيرسن3 ( قمت بتجريب الكود فيها واشتغل 100%)

؟

#15
Dev:MOH-TAHA كتب:

قد تكزن المشكلة من الكومبايلر

تفضلي حملي turbo c++ version 3

وقد قمت بتجربة البرنامج عليه ولا يوجد اي مشكلة

اضغطي هنا

ايه الحمد لله اشتغل معاي

بس شكل التربوا هذا جدا مختلف عن التربوا الي عندي؟ حتى شاشه الرن سوداء والي عندي لونها ابيض

ممكن تقول لي ايش الفرق بين النسختين اذا تكرمت؟

#16

حقيقة هذه هي النسخة الوحيدة من التربو سي اللتي تعاملت معها فلا استطيع اخبارك بفروق بين شئ اسخمدته وشئ لم استخدمه :)

Linux for human beings

مواضيع مشابهة