بخش دهم
برنامه نویسی گرافیک در زبان ++C
معرفي چند تابع كاربردي
دستور
outtext
در
محيط گرافيك براي نمايش متن، نوشته يا اعداد از اين دستور استفاده مي شود. به عبارت
ديگر دستورات ديگر نمايشي در محيط متني مانند:
printf
،
puts
،
cout
در اين محيط كاربردي ندارد. شكل كلي اين دستور به صورت زير است:
outtext("متن
دلخواه");
نكته مهم در استفاده از اين دستور اين است كه بايد خروجي بهشكل متني يا رشته اي
تبديل شود تا قابل نمايش باشد. مشكل اصلي در استفاده از اين دستور در محيط گرافيكي
براي نمايش اعداد مي باشد كه با استفاده از دستورات
sprint
و
itoa
كه توضيح داده مي شود، مي توان اعدا را به متن تبديل نمود. هرگاه از اين دستور
استفاده شود، خروجي در مكان پيش فرض مكان نما نمايش داده مي شود.
دستور
outtextxy
توسط اين دستور نيز مي توان متني را روي صفحه نمايش داد و البته مكان آن نيز در
همين دستور مشخص مي گردد. به عبارت ديگر در اين دستور مكان و متن با هم تعيين مي
شوند و به همين دليل كاربردي تر از دستور
outtext
مي باشد. شكل كلي اين دستور به صورت زير است:
outtextxy(x,
y, "متن دلخواه");
دستور
settextjustify
اگر براي متني كه نوشته مي شود سطحي را در نظر بگيريم توسط اين دستور تعيين مي كنيم
كه كدام گوشه از متن به عنوان مختصات ذكر شده براي نمايش متن در نظر گرفته شده است.
اين دستور داراي 2 قسمت مي باشد، در قسمت اول سمت چپ ، وسط يا راست را تعيين مي
كنيم و در قسمت دوم پايين، وسط يا بالا را تعيين مي كنيم. به جداول زير دقت كنيد.
متغير هاي افقي
محل مورد نظر
|
مقدار عددي
|
نام متغير
|
سمت چپ متن
|
0
|
LEFT_TEXT
|
مركز
افقي متن
|
1
|
CENTER_TEXT
|
سمت راست متن
|
2
|
RIGHT_TEXT
|
متغيرهاي عمودي
محل مورد نظر
|
مقدار عددي
|
نام متغير
|
پايين متن
|
0
|
BOTTOM_TEXT
|
مركز عمودي متن
|
1
|
CENTER_TEXT
|
بالاي متن
|
2
|
TOP_TEXT
|
استفاده از اين دستور باعث آدرس دهي بهتر و دقيق تر بر روي صفحه جهت نمايش متن هاي
دلخواه مي شود.
دستور
settextstyle
اين دستور داراي سه بخش مي باشد:
settextstyle(نوع فونت ,
جهت نوشته ,
اندازه متن);
توسط اين دستور مي توان نوع فونت، اندازه متن و عمودي يا افقي بودن متني را كه مي
خواهيم نمايش داده شود، تنظيم كنيم. مطمئنا براي تعيين نوع فونت مورد نظر اين دستور
بايد قبل از دستورات نمايش متن مانند
outtext
و
outtextxy
به كار برده شود
و
اين دستور تاثيري بر روي متن هايي كه قبلا نمايش داده شده نخواهد داشت و تا زمانيكه
دوباره از اين دستور استفاده نشود، تنظيمات انجام شده بر روي تمام متن هايي كه
نوشته خواهد شد، اعمال مي گردد.
انواع فونت در جدول زير نمايش داده شده است.
مقدار عددي
|
نوع فونت
|
0
|
Default Font
|
1
|
Triplex Font
|
2
|
Small Font
|
3
|
Sanserif Font
|
4
|
Gothic Font
|
5
|
Script Font
|
6
|
Simplex Font
|
7
|
TriplexScript Font
|
8
|
Complex Font
|
9
|
European Font
|
10
|
Bold Font
|
جهت نوشته شدن در جدول زير آمده است:
جهت نوشته شدن متن
|
مقدار عددي
|
نام متغير
|
از چپ به راست
|
0
|
HORIZ_DIR
|
از پايين به بالا
|
1
|
VERT_DIR
|
اندازه متن نيز مي تواند عددي بين 1 تا 8 باشد.
مثال 1) برنامه اي بنويسيد كه نامي را چاپ كند.
كد
برنامه مانند عكس 1 است:
عكس 1
خروجي برنامه مانند عكس 2 است:
عكس 2
دانلود مثال 1 سورس برنامه چاپ رشته در خروجي
دستور
sprintf
اين دستور خروجي دستور
printf
يا
cout
را در متغير رشته اي كه براي آن معرفي مي كنيم ذخيره مي كند و هيچ خروجي اي بر روي
صفحه مايش نمي دهد. به اين شكل مي توان متغير رشته اي ساخت كه شامل اطلاعات مورد
نظر ما براي نمايش در محيط گرافيكي باشد. از اين دستور هم براي تبديل اعداد به رشته
استفاده مي شود و هم مي توان در صورتيكه خروجي مورد نظر داراي چند قسمت باشد به جاي
اينكه هر كدام را در محيط گرافيكي توسط يك
outtext
جدا بنويسيم ابتدا كل رشته خروجي مورد نظر را در يك متغير رشته اي بسازيم و سپس فقط
از يك دستور
outtext
استفاده كنيم. هنگام استفاده از اين دستور بايد فايل كتابخانه اي سرآيند
#include
را در ابتداي برنامه بنويسيم. شكل كلي دستور به شكل زير است:
;(نام
متغير رشته اي , شكل و قالب خروجي ,
ليست متغيرها)Sprintf
دستور
itoa
اين دستور يك مقدار صحيح يا
integer
را به يك مقدار رشته اي يا
string
در هر مبناي دلخواهي تبديل مي كند. شكل كلي آن به صورت زير است:
;(مقدار
عددي , متغير رشته اي ,
مبنا)itoa
به
طور مثال
itoa(x, s, 10);
مقدار موجود در متغير
x
را به صورت رشته اي در مبناي 10 را در متغير
s
قرار مي دهد.
دستور
kbhit()
توسط اين دستور مي توانيم بررسي كنيم كه آيا كليدي زده شده است يا نه. از اين دستور
در برنامه هايي كه مي خواهيم تا زمانيكه كليدي را نزده ايم، اجراي برنامه ادامه
داشته باشد استفاده مي كنيم. هرگاه در زمان اجراي برنامه به اين دستور كه برسد اگر
در آن لحظه كليدي را بفشاريم مقدار 1 را برمي گرداند و اگر در آن لحظه كليدي را
نزده باشيم مقدار صفر را بر ميگرداند. مقدار 1 يا غير صفر در زبان برنامه نويسي
C
به معني درست يا صحيح مي باشد و مقدار صفر به معني اشتباه يا غلط و ما در برنامه
دقيقا برعكس اين را مي خواهيم. به عبارت ديگر تا زمانيكه كليدي را نزده ايم مقدار
درست را مي خواهيم و زمانيكه كليدي را زديم مقدار غلط را داشته باشيم تا برنامه
خاتمه يابد. به همين دليل از علامت
!
قبل از اين تابع استفاده مي كنيم تا نقيض مقادير در نظر گرفته شود.
مثال 2) برنامه اي بنويسيد كه يك شمارش معكوس از 9 تا 1 را شبيه سازي كند.
تحليل: با استفاده از يك حلقه
for
كاهشي اعداد از 9 تا 1 را توليد مي كنيم و براي نمايش اعداد در محيط گرافيگي توسط
دستور
outtextxy
اعداد را توسط دستور
sprint
از حالت عددي به حالت كاراكتري تبديل مي كنيم. چون بعد از نوشته شدن هر عدد مي
خواهيم عدد جديدي نوشته شود، عدد قبلي را با رنگ مشكي دوباره مي نويسيم تا پاك شود
و سپس در اجراي دوباره حلقه عدد جديد نوشته خواهد شد. كد برنامه مانند عكس 3 است:
عكس 3

خروجي مانند عكس 4 است:
عكس 4
دانلود مثال 2 سورس برنامه شمارش معكوس
مثال 3) برنامه اي بنويسيد كه دور تا دور صفحه نمايش را دايره هايي به شعاع 10
پيكسل و با فاصله هاي 4 پيكسل از هم دور كند.
تحليل: در اين برنامه مي توانيم 4 حلقه براي چهار ضلع صفحه نمايش بنويسيم، يكي براي
اضلاع افقي بالا و پايين و يك حلقه ديگر براي اضلاع عمودي چپ و راست. اين تمرين
كاربرد حلقه هاي افزايشي و كاهشي را نمايش مي دهد. عكس 5 كد برنامه را نشان مي دهد.
عكس 5
عكس 6 خروجي برنامه را نشان مي دهد.
عكس 6
دانلود مثال 3 سورس برنامه دايره ها در حاشيه
______________________________________________________________________________
همينطور مي توانيد به مباحث قبلي برگرديد:
بخش اول برنامه نويسي گرافيك در زبان ++C
بخش دوم برنامه نويسي گرافيك در زبان ++C
بخش سوم برنامه نويسي گرافيك در زبان ++C
بخش چهارم برنامه نویسی گرافیک در زبان ++C
بخش پنجم برنامه نویسی گرافیک در زبان ++C
بخش ششم برنامه نویسی گرافیک در زبان ++C
بخش هفتم برنامه نویسی گرافیک در زبان ++C
بخش هشتم برنامه نویسی گرافیک در زبان ++C
بخش نهم برنامه نویسی گرافیک در زبان ++C