گرافیک در پاسکال
آموزش محیط گرافیکی پاسکال (قسمت اول)
مقدمه: هدف این متن آموزش قواعد و گرامر پاسکال نیست بلکه آشنایی دانشجویان با جنبههای جذاب دیگر پاسکال است که غالبا هنگام تدریس این زبان در کلاسهای دانشگاهی نادیده و حذف میگردد.
این متن برای کسانی است که به زبان پاسکال آشنایی مقدماتی دارند و مهمتر از آن به برنامه نویسی علاقمند هستند و حاضراند وقت بیشتری را صرف یادگیری این قسمت مهم دنیای کامپیوتر یعنی برنامه نویسی کنند.
قسمت اول مقدمات محیط گرافیکی و چند تابع کتابخانهای شرح داده خواهد شد.
در قسمت دوم به چگونگی استفاده از موس و ایجاد یک رابط گرافیکی برای استفاده کاربر خواهیم پرداخت.
بخش اول ـ محیط گرافیکی
در این قسمت چگونگی آماده کردن محیط گرافیکی پاسکال را برای نوشتن برنامههایمان را شرح خواهیم داد.
۱- یک کپی از فایل EGAVGA.bgi در آدرسX:\TPascal\BGI گرفته و در آدرس X:\TPascal\Bin و همچنین در پوشه فایل اجرایی برنامه خود قرار میدهیم.(X درایوی که پاسکال را در آن نصب کردهایم)
۲- این کدها را وارد میکنیم. که در ادامه به شرح تکتک آنها خواهیم پرداخت :
Uses Graph, Drivers;
VAR
GraphicDriver, GraphicMode : integer;
BEGIN
GraphicDriver := DETECT;
InitGraph(GraphicDriver, GraphicMode, '');
دستورات برنامه
.
.
.
.
.
.
دستورات برنامه
closeGraph;
END.
.......................................................................
Uses Graph, Drivers;
در این خط توابع کتابخانهای استفاده شده در برنامه را مشخص میکنیم (کتابخانههای Graph , Drivers ). برای شناخت توابع کتابخانهها میتوان از help-->Index خود برنامهی توبو پاسکال استفاده کرد.
VAR
GraphicDriver, GraphicMode : integer;
در قسمت VAR برنامه دو متغیر integer معرفی شدهاند. برنامه نویسهای حرفهای همیشه نامهای با مفهوم را برای متغیرها انتخاب میکنند. همچنین بهتر است var , begin, end اصلی برنامه را با حرف بزرگ بنویسیم تا پیدا کردن آنها بین انبوهی از کدها راحتر باشد.
GraphicDriver := DETECT;
متغیر اول را با این دستور مقدار دهی میکنیم. DETECT یک تابع از پیش تعریف شده در کتابخانهی Drivers است که وظیفه شناسایی مشخصات و تنظیمات گرافیک کامپیوتر را به عهده دارد و مقدار بازگشتی آن یک integer است.
دستور بعدی یکی از توابع کتابخانهای Graph است که محیط گرافیکی پاسکال را آماده میکند. این تابع ۳ آرگمان میگیرد. اولی متغیر GraphicDriver است که آن را مقدار دهی کردهایم. بعدی GraphicMode است که مقدار دهی نشده است. و آرگمان آخر یک رشته است که در صورت مقدار دهی باید حاوی آدرس فایل EGAVGA.bgi باشد ولی با این کار برنامه ما فقط روی آن سیستم اجرا خواهد شد راه بهتر این است که یک کپی از فایل EGAVGA.bgi در پوشه فایل اجرایی کپی کنیم و این آرگمان را مقدار دهی نکنیم. در این حالت برنامه در همان پوشه به دنبال فایل میگردد و در صورت پیدا کردن آن برنامه اجرا خواهد شد.
در آخر نیز دستور CloseGraph محیط گرافیکی را میبندد.
بخش دوم ـ آشنایی با چند تابع کتابخانهایی Graph
کتابخانه Graph یکی از کتابخانههای مهم هنگام کار در محیط گرافیکی است پس توصیه میکنیم توابع این کتابخانه را بخوبی بررسی کنید. در ادامه به شرح چند تابع این کتابخانه میپردازیم.
line(x1,y1,x2,y2);
این تابع یک خط را در صفحهی نمایش رسم میکند. دو آرگمان اول نقطه شروع و دو آرگمان دوم نقطه پایان خط را مشخص میکنند.
محیط گرافیکی پاسکال از ۶۴۰ پیکسل افقی و ۴۸۰ پیکسل عمودی تشکیل شده است و نقطه (۰و۰) در سمت چپ و بالای صفحه نمایش قرار دارد. برای مثال با اجرای دستور :
line( 0, 0, 100, 200);
این خط رسم خواهد شد.
rectangle(x1,y1,x2,y2);
یک مستطیل تو خالی را رسم میکند که آرگمانهای آن مشخص کننده قطر آن هستند.
bar(x1,y1,x2,y2);
یک مستطیل تو پر را رسم میکند.
circle(x, y, r);
یک دایره به مرکز x,y و به شعاع r را رسم میکند.
setBKcolor(color);
با این تابع میتوان رنگ زمینه را تعیین کرد. متغیر color مقداری بین 0 تا 16 را میتواند اختیار کند که هر عدد نماینده یک رنگ است.
setColor(color);
برای تعیین رنگ خطوط و متنها از این تابع استفاده میشود.
setFillColor(color);
رنگ شکلهای تو پر بوسیله این تابع تغییر میکند.
پایان قسمت اول.
هیرش بشیری دانشجوی مهندسی کامپیوتر.
نسخه الكتروني فايل
این وبلاگ جهت معرفی و ارائه مطالب مفید در زمینه برنامه نویسی و علم نرم افزار است.