دانلود مقاله آموزش محیط گرافیکی در توربو پاسکال 7

Word 72 KB 18508 15
مشخص نشده مشخص نشده کامپیوتر - IT
قیمت قدیم:۱۲,۰۰۰ تومان
قیمت: ۷,۶۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • برای برنامه نویسی در محیط گرافیکی نیاز به مقدماتی برای ورود به محیط گرافیک است .

    اولین خط هر برنامه گرافیکی بعد از دستور Program ، فرمان زیر است :
    Uses graph ;
    با استفاده از دستور uses برنامه شما می تواند از پیمانه ها و ثوابت توربو پاسکال استفاده کند .

    این ثوابت و پیمانه ها در فایلی که یک unit نامیده می شود جای می گیرند .

    کدی که در حالت گرافیکی توسط کامپیوتر تولید می شود ، به نوع کامپیوتر بستگی دارد .

    بنابراین نوع سخت افزار گرافیکی که در اختیار سیستم است باید به توربو پاسکال اعلام شود .

    برای این کار از دو متغیر Driver و Mode بصورت زیر استفاده می شود :
    Var
    Driver , Mode : Integer ;
    محتوای این دو متغیر نوع سخت افزارهای گرافیکی سیستم را مشخص می کند .

    برای تعیین حالت گرافیکی از دستور زیر استفاده می شود :
    InitGraph (Driver, Mode, ‘…….’) ;
    رویه InitGraph سیستم گرافیکی شما را بررسی کرده و سپس در متغیرهای Driver و Mode مقادیر مناسب را قرار می دهد .

    پارامتر رشته ای ‘……’ شاخه ای را مشخص می کند که در آن نرم افزار کنترل سیستم گرافیکی شما وجود دارد .

    رشته ای که بدون کاراکتر است ‘ ‘ به این معناست که این نرم افزار در شاخه جاری قرار دارد .


    این نرم افزار همواره در شاخه BGI قرار دارد و معمولا در محلی است که برنامه توربو پاسکال نصب شده است .

    بنابراین باید آدرس شاخه BGI را بجای این رشته بنویسیم .

    برای انعطاف پذیر شدن برنامه و قابلیت اجرای آن روی سیستم های مختلف معمولا یک نسخه از شاخه BGI را در شاخه ای که برنامه در آن قرار دارد ، کپی می کنیم .
    صفحه نمایشی که مانند یک صفحه مختصات است :
    در برنامه نویسی گرافیکی موقعیت هر خط یا هر شکلی را که روی صفحه نمایش رسم می کنید ، باید کنترل کنید .

    صفحه نمایش را در محیط گرافیکی بصورت مختصات X-Y تعدادی نقطه می توان در نظر گرفت .

    در اکثر نمایشگرها ابعاد متداول عبارتند از : 200×320 ، 350×640 ، 480×640 .

    که معمولا تعداد نقاط در محور X ها بیشتر است .
    توابع GetMaxX و GetMaxY در توربو پاسکال، به ترتیب حداکثر تعداد نقاط در Xها و Yها را برمی گردانند .

    بنابراین برای بدست آوردن ابعاد واقعی نمایشگر خود می توانید از این توابع بصورت زیر استفاده کنید :
    MaxX := GetMaxX ; MaxY := GetMaxY ;
    مختصات گوشه های صفحه نمایش به صورت زیر است.

    برای برگرداندن برنامه به حالت متنی از دستور زیراستفاده می کنیم .


    CloseGraph ;
    رنگ زمینه و متن :
    بطور پیش فرض برای رنگ های زمینه و متن ، به ترتیب از سیاه و سفید استفاده می شود .

    دستورات زیر امکان تغییر رنگ زمینه و متن را فراهم می کنند .


    SetBkColor (….) ; تعیین رنگ زمینه SetColor (….) ; تعیین رنگ متن برای انتخاب رنگها از ثوابت رنگی یا معادل عددی رنگها طبق جدول زیر استفاده می شود : خلاصه ای از توابع و رویه های گرافیکی : · Line (X1, Y1, X2, Y2) ; بین نقاط (X1,Y1) و (X2,Y2) خطی رسم می شود .

    · Rectangle (X1, Y1, X2, Y2) ; مستطیلی که قطر آن بین نقاط (X1,Y1) و (X2,Y2) است می کشد .

    · Circle (X, Y, R) ; دایره به مرکز (X,Y) و شعاع R رسم می کند .

    · Arc (X, Y, Angle1, Angle2, R) ; کمانی از زاویه Angle1 تا Angle2 و به مرکز (X,Y) و شعاع R رسم می کند .

    · SetFillStyle (FilPat, FilCol ) ; برای رنگ آمیزی قسمتهایی از صفحه نمایش با رنگهای مختلف از این رویه استفاده می شود تا نوع رنگ و نحوه رنگ آمیزی مشخص شود .

    الگوهای رنگ آمیزی و رنگها با توجه به جدول زیر انتخاب می شوند ، در این رویه هم از نام ثابت و هم از معادل عددی می توانید استفاده کنید .

    تا زمانیکه بار دیگر این رویه را فراخوانی نکنید ، این حالت فعال خواهد بود .

    · FloodFill (X, Y, Border) ; محدوده ای را که حاوی نقطه (X,Y) است و با خطوطی به رنگ Border محصور شده است ، با الگوی جاری رنگ آمیزی می کند .

    · Bar (X1, Y1, X2, Y2) ; مستطیلی توپر می کشد که قطر آن بین نقاط (X1,Y1) و (X2,Y2) است .

    · PieSlice (X, Y, Angle1, Angle2, R) ; یک برش دایره توپر می کشد که از زاویه Angle1 شروع شده و به Angle2 ختم می شود و دارای مرکز (X,Y) و شعاع R می باشد .

    · OutTextXY (X, Y, TextString) ; در نقطه (X,Y) کاراکترهای رشته TextString را چاپ می کند .

    v برنامه زیر یک نمونه از برنامه نویسی ساده گرافیکی را نشان می دهد .

    uses graph; procedure HappyFace(MidX,MidY:integer); var HeadRadius:integer; begin HeadRadius:=GetMaxY div 4; Circle (MidX, MidY, HeadRadius); end; var Driver,Mode,MidX,MidY:integer; begin InitGraph (Driver, Mode, ' '); MidX:=GetMaxX div 2; MidY:=GetMaxY div 2; HappyFace(MidX,MidY); OutTextXY(230, 400, '!!!

    Press Any Key !!!'); readln; CloseGraph; end.

    نقاشی متحرک گرافیکی : اگر یک رویه گرافیکی دارای پارامتر باشد ، می توان موقعیت یک شکل را تغییر داد و یا آن شکل را در چند نقطه از صفحه نمایش رسم کرد .

    علاوه بر این می توان یک شکل را متحرک ساخت .

    این کار به این صورت انجام می شود که ابتدا شکلی در نقطه خاصی از صفحه نمایش رسم می شود ، سپس از آن نقطه پاک شده و در محل دیگری رسم می شود .

    با تکرار این عمل شکل مورد نظر متحرک به نظر می رسد .

    برای تعیین سرعت حرکت از یک تأخیر زمانی بین دفعات رسم شکل استفاده می کنیم .

    برای ایجاد این تأخیر می توان از رویه Delay (DelayTime) استفاده کرد .

    عدد DelayTime بر اساس میلی ثانیه بیان می شود و البته برای استفاده از این تابع باید واحد Crt را با فرمان uses Crt در ابتدای برنامه فراخوانی کنید .

    v در مثال بعد با استفاده از روش گفته شده ، شکل رسم شده در مثال قبل را متحرک می کنیم.

    var Driver,Mode,MidX,MidY:integer; begin InitGraph (Driver, Mode, ' '); MidX:=0; MidY:=0; while ((MidX begin HappyFace(MidX,MidY); MidX:=MidX+50; MidY:=MidY+50; Delay(50); SetFillStyle(3,4); Bar(0,0,639,479); end; OutTextXY(230, 400, '!!!

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

    سعی کنید توابع را طوری بنویسید که با دریافت مختصات یک نقطه از شکل مثلا" مرکز آن ، تمام شکل را رسم کند .

    (مانند مثال مطرح شده در جزوه) سعی کنید تمام مختصات لازم برای رسم اشکال را با فرمول بدست آورید و تا حد امکان از استفاده مستقیم از اعداد خودداری کنید .

    دستور کار (2 ) در محیط گرافیک توربو پاسکال برنامه ای بنویسید تا اشکال زیر را به ترتیب و بصورت متحرک نمایش دهد.

    سرعت حرکت آدمک باید به گونه ای باشد که بین مرحله اول تا آخر 2 ثانیه طول بکشد.

    نیازی به جابجایی خانه ها وجود ندارد ، برنامه را طوری بنویسید که آدمک از یک خانه بیرون بیاید و دوباره در همان خانه فرو برود .

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

    دستور کار (3 ) برنامه ای بنویسید که پنجره زیر را رسم کند .

    برای طرح پنجره ها و رنگها به دلخواه تصمیم بگیرید.

    دستور کار (4 ) با استفاده از تابعی که در دستور کار (2) نوشته اید ، برنامه ای بنویسید که آدمک را به طور تصادفی در خانه های پنجره شماره یک ظاهر کند .

    به این ترتیب که با یک تابع شماره خانه ای را که آدمک باید در آن ظاهر شود ، به طور تصادفی تولید کنید و سپس مختصات مرکز آن خانه را به تابع رسم آدمک بدهید .

    این کار باید تا زمانی ادامه پیدا کند که 10 بار آدمک در خانه های مختلف ظاهر و سپس ناپدید شود .

    تابع حرکت آدمک را بدون استفاده از Delay بنویسید .

    برای ایجاد حالت متحرک بعد از هر بار رسم آدمک پنجره شماره 1 باید مجددا" رسم شود .

    دستور کار (5 ) برنامه ای بنویسید که ماوس را در پنجره شماره 2 فعال کند و محل کلیک کردن ماوس را مشخص کند .

    بطوریکه اگر کاربر در هر محلی از یک خانه کلیک کند برنامه شماره آن خانه را بعنوان خروجی برگرداند .

    مثلا" اگر کاربر در هر نقطه ای از خانه شماره 1 کلیک کند برنامه عدد یک را بعنوان خروجی برگرداند .

    دستور کار (6 ) برنامه ای را که در دستور کار (4) نوشته اید طوری تغییر دهید که اگر در زمان حرکت آدمک ، کاربر ماوس را در هر کدام از خانه های پنجره شماره 2 کلیک کند ، آدمک بعدی ظاهر شود .

    یعنی با هر بار کلیک ماوس بازی به مرحله بعدی برود .

    دستور کار (7 ) برنامه دستور کار (6) را به گونه ای تغییر دهید که تشخیص دهد آیا شماره خانه ای که ماوس در آن کلیک شده ، با شماره خانه ای که آدمک در آن حرکت می کرده یکسان است یا نه ؟

    در صورت یکسان بودن شماره ها یک امتیاز مثبت و در صورت یکسان نبودن یک امتیاز منفی به کاربر بدهید .

    پروژه نهایی : بازی کامپیوتری طراحی شده در طول ترم را تکمیل کنید به نحوی که بعد از هر بازی امتیاز کاربر را نمایش دهد .

    امکانات اضافی : 1- استفاده از طرحها و رنگهای متنوع در طراحی پنجره ها ، خانه ها و آدمکهای بازی .

    2- ایجاد پنجره ای مخصوص نمایش امتیاز کاربر در هر مرحله و در انتهای بازی .

    3- استفاده از امکانات صوتی در مراحل مختلف بازی مثل شروع بازی ، پایان بازی ، انتخاب خانه صحیح ، انتخاب خانه غلط ، ظاهر شدن آدمک جدید ، ناپدید شدن آدمک متحرک .

    4- طراحی صفحه متحرک برای شروع و پایان بازی .

    5- ...

    ثابتمقدارثابتمقدارBlack0DarkGray8Blue1LightBlue9Green2LightGreen10Cyan3LightCyan11Red4LightRed12Magenta5LightMagenta13Brown6Yellow14LightGray7White15 ثابتمعادل عددیالگوی رنگ آمیزیثابتمعادل عددیالگوی رنگ آمیزیEmptyFill20رنگ زمینهLtBkSlashFill6\ \ \ \ (بافاصله)SolidFill1بصورت توپرHatchFill7هاشورLineFill2- - - -XhatchFill8متقاطعItSlashFill3/ / / / (بافاصله)InterLeaveFill9خط در میانSlashFill4//// (بدون فاصله)WidDotFill10نفطه ای (بافاصله)BslashFill5\\\\ (بدون فاصله)CloseDotFill11نقطه ای(بدون فاصله)

استفاده از Mouse در محيط گرافيک : براي استفاده از Mouse در محيط گرافيکي بايد وقفه مربوط به فعالسازي Mouse را فراخواني کنيم . اين وقفه 33Hex (هگزادسيمال) نام دارد و شامل يکسري توابع است که هر تابع با يک شماره مشخص شده و کاربرد خاصي دارد . هرکدام از ت

تمام کامپيوترهاي رقمي ، بدون توجه به اندازه انها ، اساسا دستگاههاي الکترونيکي اي هستند که براي انتقال ، ذخيره وپردازش اطلاعات ( يعني داده ها) مورد استفاده قرار مي گيرند . کامپيوتر ها قادرند انواع مختلفي از داده ها را پردازش کنند . از اين ميان مي توا

تاريخچه دلفي : شرکت Borland پس از معرّفي موفّق نسخه Borland Pascal و تکميل آن با عرضه نسخه هفتم اين زبان برنامه‌نويسي، در حدود سال 1374 ش. شروع به کار بر روي يک ابزار طرّاحي سريع برنامه‌هاي کاربردي به نام دلفي نمود. بعد از آن‌که تعيين شد معماري

تاريخچه ويژوال بيسيک حدودسي و پنج سال قبل در کالج دارتموث زباني پا به عرصه وجود گذاشته برنامه نويسي را از تسلط حرفهايها خارج کرد و به مبتديان هم امکان داد تا وارد دنياي شيرين برنامه نويسي شوند ؛ اين زبان بيسيک نام گرفت. زبان بيسيک از ساير زبانها

دلفي RAD است ! ممکن است همچون يک نوجوان هياهوانگيز به نظر آيم، اما لازم است که منظور کاربران دلفي از RAD بسيار فراتر از اين است که دلفي يک محصول بزرگ است. واژه جديد RAD ازکلمات Rapid Application Development گرفته شده است. RAD واژه جديدي است که براي

آشنايي با فشار هوا فشار هوا نيرويي است که هوا بر يک واحد از سطح زمين وارد مي کند و مقدار آن در سطح درياي آزاد، برابر است با وزن ستوني از جيوه به ارتفاع 76 سانتيمتر. واحد اندازه گيري فشار هوا در آب و هواشناسي ميلي بار يا هکتوپاسکال مي باشد؛ هر ميلي ب

چندي است که اصلاحاتي همچون سيستم مديريت بانک هاي اطلاعاتي و بانکهاي اطلاعاتي و پايگاه داده ها و نظاير آن نقل محافل علمي-فني و علمي است. اينک حتي وضع چنان است که به خاطر ريزپردازنده ها و انواع آن نرم افزارهاي سهل الاستفاده روي کامپيوتر هاي شخصي، هرکس

ماشين سنکرون همواره يکي از مهمترين عناصر شبکه قدرت بوده و نقش کليدي در توليد انرژي الکتريکي و کاربردهاي خاص ديگر ايفاء کرده است. تاريخچه وساختار ماشين سنکرون همواره يکي از مهمترين عناصر شبکه قدرت بوده و نقش کليدي در توليد انرژي الکتريکي و

عيب يابي : پيش از آغاز کار بايد ، دست کم ، نظريه اي قابل قبول در مورد ماهيت مسئله داشته باشيد . با استفاده از فنون عيب يابي مي توان فهميد که آيا تعمير مهمي در پيش است يا نه . هر گاه عيب يابي با تجزيه روغن همراه شود مشخص ميشود که کدام دسته از قط

ماشين سنکرون همواره يکي از مهمترين عناصر شبکه قدرت بوده و نقش کليدي در توليد انرژي الکتريکي و کاربردهاي خاص ديگر ايفاء کرده است. تاريخچه وساختار ماشين سنکرون همواره يکي از مهمترين عناصر شبکه قدرت بوده و نقش کليدي در توليد انرژي الکتريکي و

ثبت سفارش
تعداد
عنوان محصول