ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

دستورات پیش پردازندهl

 
Post new topic   Reply to topic    ParsX.com Forum Index -> برنامه نويسي دلفي و پاسكال : Delphi & Pascal Programming
View previous topic :: View next topic  
Author Message
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Wed Nov 16, 2005 10:08 pm    Post subject: دستورات پیش پردازندهl Reply with quote

در زبان پاسکال نیز مانند سی دستورات پیش پردازنده داریم.
این دستورات تغییراتی را بروی فایل منبع ما انجام می دهد و با $} شروع می شوند .
این تغییرات قبل از انجام عملیات کامپایل صورت می پزیرد.
نکته Exclamation:
این دستورات معمولا در بالا ترین قسمت برنامه می نویسیم
نمونه ای از این نوع دستورات را در قسمت زیر مشاهده می کنید :
1) {$R+}

این دستور باعث می شود تا متغییر های هم نوع را به هم نسبت دهیم تا دیگر دچار خطاهای زمان اجرایی نشویم .یکی از این خطا مانند ریختن یک متغییر بزرگتر ( مثلا longint ) در یک متغییر کوچکتر (مثلا integer) و در پی آن از دست رفتن مقداری از دیتای متغییر بزرگتر می باشد .
پیش فرض :
{$R-}


2) {$I-}

زمانی که با فایل ها در پاسکال کار می کنیم ممکن است بخواهیم که وجود یک فایل را بروی هارد چک کنیم . در صورتی که فایل بروی هارد موجود نباشد باعث بروز یک خطای زمان اجرا می شود و ما زمانی برای چک کردن این خطا نخواهیم داشت .با این دستور پیش پردازنده مانع از بروز این خطا و توقف برنامه می شویم
پیش فرض :
{$I+}


3) {$B+}

این دستور را زمانی به کار می بریم که بخواهیم یک شرط به صورت کامل نه جزیی برسی شود . چون مثلا اگر یک دستور OR داشته باشیم و یک سمت آن صحیح باشد دیگر قسمت دوم آن چک نمی شود و برای اینکه دو سمت OR به صورت کامل و نه جزیی برسی شود از این دستور استفاده می شود
پیش فرض :
{$B-}


و اما سوال من : Arrow
در پاسکال یک دستور پیش پردازنده وجود دارد که باعث می شود تا رشته ها در پاسکال به شکل زبان سی در آیند یعنی در انتهای یک رشته علامت 0\ قرار گیرد نه اینکه تعداد خانه های پر شده در خانه صفرم ذخیره شود .
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> برنامه نويسي دلفي و پاسكال : Delphi & Pascal Programming All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum