Joined: 27 Nov 2004 Posts: 1232 Location: www.parsx.com
Posted: Wed Nov 16, 2005 10:08 pm Post subject: دستورات پیش پردازندهl
در زبان پاسکال نیز مانند سی دستورات پیش پردازنده داریم.
این دستورات تغییراتی را بروی فایل منبع ما انجام می دهد و با $} شروع می شوند .
این تغییرات قبل از انجام عملیات کامپایل صورت می پزیرد.
نکته :
این دستورات معمولا در بالا ترین قسمت برنامه می نویسیم
نمونه ای از این نوع دستورات را در قسمت زیر مشاهده می کنید :
1) {$R+}
این دستور باعث می شود تا متغییر های هم نوع را به هم نسبت دهیم تا دیگر دچار خطاهای زمان اجرایی نشویم .یکی از این خطا مانند ریختن یک متغییر بزرگتر ( مثلا longint ) در یک متغییر کوچکتر (مثلا integer) و در پی آن از دست رفتن مقداری از دیتای متغییر بزرگتر می باشد .
پیش فرض :
{$R-}
2) {$I-}
زمانی که با فایل ها در پاسکال کار می کنیم ممکن است بخواهیم که وجود یک فایل را بروی هارد چک کنیم . در صورتی که فایل بروی هارد موجود نباشد باعث بروز یک خطای زمان اجرا می شود و ما زمانی برای چک کردن این خطا نخواهیم داشت .با این دستور پیش پردازنده مانع از بروز این خطا و توقف برنامه می شویم
پیش فرض :
{$I+}
3) {$B+}
این دستور را زمانی به کار می بریم که بخواهیم یک شرط به صورت کامل نه جزیی برسی شود . چون مثلا اگر یک دستور OR داشته باشیم و یک سمت آن صحیح باشد دیگر قسمت دوم آن چک نمی شود و برای اینکه دو سمت OR به صورت کامل و نه جزیی برسی شود از این دستور استفاده می شود
پیش فرض :
{$B-}
و اما سوال من :
در پاسکال یک دستور پیش پردازنده وجود دارد که باعث می شود تا رشته ها در پاسکال به شکل زبان سی در آیند یعنی در انتهای یک رشته علامت 0\ قرار گیرد نه اینکه تعداد خانه های پر شده در خانه صفرم ذخیره شود .
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