بخشی از مقاله
شركت Borland پس از معرّفی موفّق نسخه Borland Pascal و تكميل آن با عرضه نسخه
هفتم اين زبان برنامهنويسی، در حدود سال 1374 ش. شروع به كار بر روی يک ابزار طرّاحی
سريع برنامههای كاربردی به نام دلفی نمود. بعد از آنكه تعيين شد معماری مدل اشيا بهترين
روش اجرای اين طرح است، لازم بود كه يک زبان برنامهنويسی كه به مثابه قلب نظام است،
مشخّص گردد.
در آن زمان Borland به عنوان شركت توليدكننده بهترين ابزارهای Pascal شناخته میشد و
شايد میشد آن را كم و بيش مالِک زبان برنامهنويسی Pascal دانست. در نهايت، شركت
Borland تصميم گرفت كه محصول جديد را بر اساس زبان برنامهنويسی Pascal توليد كند.
بعد از تطبيق كامل Pascal با مدل اشيا، اين شركت توانست محيط طرّاحی سريع برنامههای
كاربردی را اجرا كند؛ البته شايد بتوان گفت كه كاری كه Borland در تغيير زبان Pascal كرد،
توأم با خطر بود؛ زيرا اين زبان مشتریهايی داشت كه بسيار به آن وفادار بودند و ممكن بود
برخورد خوبی با تغييرات انجامشده از خود نشان ندهند و در نتيجه ممكن بود اين شركت جايگاه
ممتاز خود را در بازار Pascal از دست بدهد.
در نهايت اوّلين نسخه دلفی در حدود سال 1374 ش. به بازار ارائه شد و به عنوان فرزند خَلف
Pascal ـ كه خود نيز به علّت پيشينه روشن، سادگی، و بالابودن امكانات، توجّه برنامهنويسان
زيادی را به خود جلب كرده بود ـ چهرهای برتر از خود نشان داد و برنامهنويسان زيادی را به
5
سوی خود جلب كرد و به محصولی پرفروش و ابزاری بسيار بحثبرانگيز تبديل شد.
در قلب دلفی ،یک کامپایلر (همگردان) پاسکال است . دلفی 7 مرحله دیگری از تکامل همان
کامپایلر پاسکالی است که شرکت بورلند از هنگامی که (17 سال پیش) Anders Hejlberg ،
اولین کامپایلر توربو پاسکال را نوشت مشغول توسعه آن بوده است . طی سالها ، برنامه نویسان
پاسکال از پایایی و موزون بودن و نیز سرعت کامپایل که توربو پاسکال ارائه می دهد ، لذت برده
اند . دلفی 7 نیز از این صفات مستثنی نیست ، کامپایلر آن ترکیبی از یک دهه تجربه کامپایلر و
پیشرفته ترین کامپایلر بهینه ساز 32 بیتی است . با وجود رشد قابل توجه قابلیت های کامپایلر در
طی چندین سال ، سرعت کامپایل به طرز جالب توجهی تنها اندکی کم شده است . علاوه بر این ،
پایداری کامپایلر دلفی می رود تا معیار و نمونه ای برای سایرین باشد .
حال وقت بررسی هر یک از نگارشهای قبلی دلفی می باشد که در اینجا قابلیت های هر نگارش را
به طور مختصر مرور می کنیم :
دلفی 1 :
در اولین روزهای DOS ، برنامه نویسان یک انتخاب بین BASIC (آهسته ولی بهره ور) و
زبان اسمبلی (کارا ولی پیچیده) پیش رو داشتند . توربو پاسکال که سادگی یک زبان ساخت یافته و
کارایی یک کامپایلر واقعی را ارائه می کرد ، این فاصله را پر نمود . برنامه نویسان ویندوز1/3
نیز با انتخاب مشابهی، یعنی انتخابی بین یک زبان قدرتمند و سخت (بد قلق) مانند C++ و یک
زبان با کاربری آسان ولی محدود مانند ویژوال بیسیک روبرو بودند . دلفی 1 با ارائه یک
رویکرد اساسا متفاوت به توسعه ویندوز پاسخ داد : تولید توسعه ویژوالی (بصری) ، برنامه های
6
اجرایی همگردانی شده ، DLL ها ، پایگاههای داده ها که همگی با هم یک محیط ویژوالی بدون
محدودیت را تشکیل می دهند . دلفی 1 اولین ابزار توسعه ویندوز بود که یک محیط توسعه
ویژوالی (بصری) ، یک کامپایلر بهینه ساز کد اصلی و یک موتور دسترسی به پایگاه داده های
مقیاس پذیر را تلفیق کرد . دلفی1 اصطلاح توسعه سریع برنامه کاربردی (RAD) را تعریف کرد
ترکیب کامپایلر ، ابزار RAD و دسترسی سریع به پایگاه داده ها ، بسیاری از برنامه نویسان
VB را به طرف خود جلب کرد و دلفی در بسیاری از تبدیلها موفق شد . همچنین بسیاری از
توسعه گران Turbo Pascal با گذار به این ابزار یکنواخت و جدید ، دوره جدیدی را آغاز کردند
. Object Pascal (پاسکال موضوعی) آن زبانی نبود که ما بتوانیم در دانشگاه از آن استفاده کنیم
و به راحتی برنامه نویسی نماییم . بسیاری دیگر از برنامه نویسان برای بهره بردن از از الگوهای
طراحی قدرتمند ارائه شده توسط زبان و ابزار دلفی به آن روی آوردند . گروه ویژوال بیسیک در
میکروسافت که تا قبل از دلفی ، رقیب مهمی برای آنها نبود ، اصلا آمادگی چنین چیزی را نداشتند
. ویژوال بیسیک 3 قدیمی ، حجیم و گنگ بود و به هیچ وجه قابل مقایسه با دلفی 1 نبود .
در سال 1995 ، شرکت بورلند شکست بزرگی را در دادخواهی شرکت لوتوس به خاطر شباهت
برنامه Quattro با برنامه 3-2-1 تحمل کرده بود . همچنین شرکت بورلند به خاطر رقابت در
بازار برنامه های کاربردی از سوی میکروسافت تحت فشار بود . بورلند با فروش کواتر تجاری
به شرکت ناول ، از بازار برنامه های کاربردی خارج شد و dBase و Paradox را برای توسعه
گران پایگاه داده ها مد نظر قرار داد. در حالی که بورلند سرگرم بازار ابزارهای توسعه گر
ویندوز بود ، میکروسافت مقدار زیادی از سهم سکوی تجاری بورلند در بازار را تصاحب کرد .
7
بورلند با متمرکز کردن دوباره مهارت اصلی خود ، در ایجاد ابزارهای توسعه گر در نظر داشت
تا با دلفی و نگارش جدیدی از Borland C++ ، ضربه ای بزند .
دلفی2 :
یک سال بعد ، دلفی 2 تمامی این قابلیت ها را تحت سیستم های عامل پیشرفته 32 بیتی ویندوز 95
و ویندوز NT ارائه داد . علاوه بر این ، دلفی 2 با ویژگیها و کارایی جدید مانند یک کامپایلر 32
بیتی که برنامه های کاربردی سریعتری را ایجاد می کند ، یک کتابخانه موضوعی پیشرفته و
توسعه داده شده ، پشتیبانی پایگاه داده های بازسازی شده ، اداره رشته بهبود یافته ، پشتیبانی از
OLE ، ارث بری فرم ویژوالی (VFI) و سازگاری با پروژه های دلفی 16 بیتی ، بهره وری را
بهبود بخشیده است . دلفی 2 معیاری شد که سایر ابزارهای RAD با آن سنجیده می شوند .
در سال 1996 ، مهمترین سکوی ویندوز از زمان ویندوز ./3 (ویندوز 32 بیتی 95) ترخیص شد
. بورلند علاقه داشت تا دلفی را به عنوان برترین ابزار تولید برنامه برای ویندوز ایجاد کند . یک
نکته تاریخی جالب دلفی اینست که قرار بود دلفی 2 ، دلفی 32 نامیده شود تا این حقیقت را که
برای ویندوز 32 بیتی طراحی شده نشان دهد ، ولی نام محصول ، قبل از انتشار به دلفی 2 تغییر
یافت تا نشان دهد که دلفی یک محصول کامل شده است .
میکروسافت کوشید تا با ویژوال بیسیک 4 ، با حریف خود مقابله کند ولی ویژوال بیسیک 4 دچار
اختلالاتی مانند کارایی ضعیف ، عدم امکان قابلیت حمل از 16 بیتی به 32 بیتی و کاستی های
طراحی کلیدی بود . با این وجود ، تعداد قابل توجهی از برنامه نویسان بودند که به هر دلیلی به
استفاده از ویژوال بیسیک ادامه دادند . بورلند همچنین علاقه داشت تا دلفی به بازار سرور (خادم)
8
/ کلاینت (مشتری) که در اختیار ابزارهایی مانند PowerBuilder بود رخنه کند ، ولی این
نگارش هنوز قدرت لازم برای کنار زدن چنین محصولاتی را نداشت .
راهکار (استراتژی) شرکت در این زمان به طور انکار ناپذیری برای تمرکز روی مشتریانشرکت
بود . تصمیم تغییر جهت به این روش ، بدون شک ناشی از کم شدن رابطه بازاری dBase و
Paradox بود و کاهش تدریجی درآمد بازار C++ نیز به این تصمیم گیری کمک نمود . به
منظور راهنمایی برای شروع حرکت (و جهت دستیابی به هدف فوق) ، بورلند اشتباه تأسیس
Open Environment Corporation را مرتکب شد که یک شرکت میان افزاری
(Middleware) با دو محصول عمده بود : یک میان افزار خارج از رده بر مبنای DCE که می
توان آن را CORBA نامید و یک فناوری اختصاصی برای OLE توزیع شده که توسط
DCOM ، در حال منسوخ شدن می باشد.
دلفی 3 :
در طی توسعه دلفی 1 ، گروه توسعه دلفی به ایجاد ساده ابزار و ترخیص آسان مشغول شد . برای
دلفی 2 ، گروه توسعه مشغول انجام وظایفی نظیر انتقال به 32 بیتی (ضمن حفظ سازگاری تقریبا
کامل) و افزودن ویژگیهای پایگاه داده های جدید و سرور (خادم) / مشتری (کلاینت) مورد نیاز
توسط IT (فناوری اطلاعات) شرکتی بود . هنگام ایجاد دلفی 3 ، گروه توسعه فرصتی یافتند تا
مجموعه ابزار را برای ارائه راه حل هایی با وسعت و عمق فوق العاده جهت برخی مسائل مرتبط
با توسعه گران ویندوز گسترش دهند . خصوصا دلفی 3 کاربرد فناوری های کاملا پیچیده COM
و ActiveX ، توسعه برنامه کاربردی وب جهانی ، برنامه های کاربردی "thin client"
9
(مشتری کم کار) و معماری های پایگاه داده های چند ردیفی (multitier) را آسان نمود . ابزار
Code Insight دلفی 3 ، فرآیند کد نویسی را کمی آسانتر نمود اگر چه در اغلب موارد ، تحلیل
روش نوشتن برنامه های کاربردی دلفی همان است که در دلفی 1 بود .
در سال 1997 ، رقابت ، باعث رخ دادن اتفاقات جالبی شده بود . در پایین ترین سطح ،
میکروسافت بالاخره چندین کار در ویژوال بیسیک 5 انجام داد که عبارتند از : یک کامپایلر برای
برطرف ساختن مشکلات قبلی کارایی ، پشتیبانی خوب از COM/ActiveX و برخی ویژگی
های سکوی جدید کلیدی . حال ، دلفی در بالاترین سطح به طور موفقیت آمیز محصولات شرکت
هایی مانند PowerBuilder و Forte را از دور خارج کرده است .
در طول چرخه توسعه دلفی 3 ، با تصمیم Anders Hejlsberg (معمار ارشد دلفی) در مورد
ترک بورلند و احراز سمتی در میکروسافت ، دلفی یک عضو اصلی خود را از دست داد . هرچند
که به خاطر جایگزین شدن Chuck Jazdzewski (کمک معمار با سابقه در رأس امور) ، گروه
مزبور ضرر نکرد .
دلفی :4
دلفی 4 روی توسعه آسانتر متمرکز شد . Module Explorer معرفی شد و شما را قادر به مرور
و ویرایش واحدها (Unit) توسط یک رابط گرافیکی مناسب نمود . ناوبر کد(Code navigator)
جدید و ویژگی های تکمیل کلاس ، شما را قادر ساخت تا با مقداری کار اضافی ، روی اصل
برنامه های کاربردی خود تمرکز کنید . IDE با نوار ابزار و پنجره های قابل مقر (dockable) ،
طراحی مجدد شد تا ایجاد برنامه را برای شما راحت تر سازد و برنامه اشکال زدا (debugger)
10
نیز به مقدار زیادی بهبود داده شد . دلفی 4 توانایی محصول را در زمینه سازمانی (enterprise)
با پشتیبانی چند ردیفی (multitier) برجسته با استفاده از فناوری هایی نظیر MIDAS ،
DCOM ، MTS و CORBA توسعه داد .
در سال 1998 دلفی موقعیت خود را در رقابت کاملا مستحکم کرده بود . خطوط مقدم تا اندازه ای
تثبیت شده بودند ، اگر چه دلفی به تدریج بهره خود از بازار را بالا می برد . CORBA در
صنعت مطرح بود و دلفی آن را داشت و رقبا فاقد آن بودند . البته دلفی 4 چند نکته کوچک منفی
نیز داشت : پس از این که دلفی چندین سال با ثبات ترین ابزار در بازار بود ، دلفی 4 نزد کاربران
کهنه کار به نبودن در استاندارد بسیار بالا برای ثبات و طراحی محض معروف شده بود .
انتشار دلفی 4 با تأسیس شرکت Visigenic ، با یکی از پیشروهای صنعت CORBA همراه شد
. بورلند در کوششی برای رخنه کردن در enterprise ، نام آن را به Inprise ، تغییر داد و در
موقعیتی قرار گرفت تا صنعت را با تلفیق ابزارهای خود با فناوری CORBA به افق جدیدی
هدایت کند . جهت پیروزی واقعی ، لازم بود تا CORBA به اندازه ایجاد COM یا اینترنت که
در نگارش های قبلی ابزارهای بورلند انجام شده بود ، آسان شود . تلفیق ابزار تولید CORBA
سهم کمی را در کل ایجاد نرم افزار به خود اختصاص داد اگر چه به دلایل مختلف ، این تلفیق به
اندازه ای که باید باشد نبود .
دلفی 5 :
دلفی 5 از چندین جهت پیشرفت داشت : اول این که دلفی 5 ، آنچه را که دلفی 4 با بفزودن ویژگی
های بیشتر برای آسان کردن وظایف وقت گیر شروع کرده بود ادامه داد . در نتیجه به شما امکان
11
داد تا بیشتر به آنچه می خواهید بنویسید توجه کنید (و کمتر روی چگونگی نوشتن آن تکیه داشته
باشید) . این ویژگی های سودمند جدید ، شامل توسعه بیشتر IDE و برنامه اشکال زدا ، نرم افزار
تولید گروهی TeamSource و ابزارهای تبدیل می باشد . دوم آن که دلفی 5 ویژگی های جدیدی
برای آسان ساختن توسعه اینترنتی دارد . این ویژگی های جدید اینترنتی ، شامل جادوگر A
XML و ویژگی های جدید MDAS می باشد که سبب شده است سکوی داده های بسیار انعطاف
پذیر برای اینترنت ایجاد کند . در نهایت ، بورلند ارائه مهمترین ویژگی دلفی 5 یعنی پایداری را
شروع نمود . یک نرم افزار عظیم را نمی توان ناگهانی ارائه داد بدین منظور ، بورلند صبر کرد
تا دلفی 5 قبل از ارائه شدن ، کمی منتظر بماند .
دلفی 5 در نیمه دوم سال 1999 عرضه شد . دلفی به رخنه کردن در سازمانی (enterprise)
ادامه می داد در حالی که ویژوال بیسیک به صورت رقیبی در سطح پایین عمل می کرد هر چند
که هنوز جنگ برقرار بود . نام Inprise به دنبال Borland فقط به عنوان یک نام تجاری آورده
می شد . ادارات اجرایی با تقسیم شدن شرکت بین ابزارها و میان افزار ، ترک ناگهانی CEO
Del Yocam و استخدام CEO Dale Fuller مدیر Internet-savvy که دوباره شرکت را
روی تولید کنندگان نرم افزار متمرکز کرد ، مدتی آشفته بودند
دلفی 6و7 :
به طور واضح ، تم (شاهدک) اصلی دلفی 7 ، سازگاری با ابزار توسعه برنامه Kylix بورلند
برای لینوکس است . بدین منظور بورلند Component Library (کتابخانه مؤلفه) جدیدی برای
12
Cross-Platform (سکوی تقابلی) (CLX) ایجاد کرد که شامل VisualCLX برای توسعه
ویژوالی (بصری) ، مؤلفه های دسترسی به داده های کلاینت (مشتری) ، DataCLX و مؤلفه
های NetCLX Internet می باشند . برنامه های کاربردی که تنها با کتابخانه CLX و عناصر
قابل حمل RTL نوشته شده اند به راحتی بین سیستم های ویندوز و لینوکس قابل حمل هستند .
مجموعه مؤلفه ها و درایور (گرداننده) های جدید dbExpress ، یکی از بزرگترین قدم ها در
کوشش برای ایجاد سازگاری با لینوکس است چرا که بالاخره جانشین واقعی را برای BDE که
در سالهای اخیر واقعا قدیمی شده بود ، ارائه کرد .
تم بعدی دلفی 7 ، همراه بودن همه موارد XML است . این شامل XML برای برنامه های
کاربردی پایگاه داده ها ، برنامه های مبتنی بر وب و سرویس های وب مبتنی بر Soap می باشد .
توسعه گران دلفی ابزارهایی دارند که برای دربر داشتن کامل روند گسترده صنعتی به سوی
XML ، مورد نیاز می باشد . این ابزارها مزایای بسیاری را از لحاظ برنامه های کاربردی که
در برابر محدودیت های سنتی ابزارهای مختلف توسعه ، سکو (platform) ها و پایگاه داده ها و
در عوض اینترنت عمل می نمایند ارائه می کنند.
البته علاوه بر تمام این بهبود ها و افزوده ها ، دلفی 7 بهبودهایی را انجام داد که در نگارش های
مختلف دلفی در موضوعاتی مانند VCL ، IDE ، اشکال زداها ، زبان پاسکال موضوعی و
RTL انتظار داشتید.
13
پیشگفتاری برای دلفی
مقام برنامه نویسی رایانه ای :
در ميان تمام علوم نرمافزاری رايانه كه از ديرباز تا كنون به صورت روزافزون وجود داشته و
دارند، بالاترين مقام از آنِ برنامهنويسی است كه تازگی به برنامهسازی تبديل شده است؛ به
گونهای كه اگر برنامهنويسی در حدّ متوسّط يا حرفهای را در يک كفه ترازو و تعداد زيادی
تكنسين رشتههای ديگر علوم رايانهای را در كفه ديگر آن قرار دهيم، كفه مربوط به برنا
مهنويس
از نظر علمی و جايگاه آن در علوم رايانهای سنگينی خواهد كرد.
زبان برنامه نویسی :
محيطی كه برنامهنويسی و به عبارت بهتر، برنامهسازی در آن صورت میگيرد، زبان برنامه
نويسی نام دارد.
انواع زبانهای برنامهنويسی از نظر سطح :
◊ سطح پايين:
نوعی از زبانهای برنامهنويسی هستند كه بايد در آنها برنامه خود را با استفاده از زبان ماشين
ايجاد كرد. نمونه اصلی اين نوع زبانهای برنامهنويسی، زبان برنامه نویسی Assembly
می باشد.
◊ سطح بالا:
در اين دسته از زبانهای برنامهنويسی، نيازی به استفاده از زبان ماشين برای ايجاد برنامهها
14
نمیباشد و در آنها كدهايی شبيه گفتار محاورهای روزمره انگليسی نگاشته میشود تا برنامه ايجاد
گردد. تعداد اين نوع زبانهای برنامهنويسی زياد است و استفاده از اين نوع زبانهای برنامهنويسی
بجز در موارد استثنايی بهتر میباشد. نمونههای اصلي اين نوع زبان برنامهنويسی عبارتند از:
Microsoft Visual Basic(VB), Microsoft , Visual C، و Delphi.
البته فرمانی در دلفی وجود دارد كه با استفاده از آن میتوان به زبان ماشين هم برنامه نوشت.
انواع زبانهای برنامهنويسی از نظر عملكرد :
زبانهای برنامهنويسی كه ابزارهای ويژهای را برای توسعه سريع برنامههای كاربردی فراهم
كردهاند؛ امّا محدود به ساختار داخلی خود میباشند؛ مانند زبانهای برنامهنويسی Paradox، VB
، PowerBuilder، FoxPro، Visual FoxPro، Opal، Smalltalk, PE2 و DOS Batch
Files.
زبانهای برنامهنويسی كه به برنامهنويس اجازه میدهند به هر چيزی روی رايانه دسترسی
داشته باشد؛ امّا مزايای اين نوع زبانهای برنامهنويسی به جای آن كه يک راه حل مفيد ارائه
دهند، بيشتر مشكلساز هستند؛ چرا كه در بعضی مواقع ابزارهای آنها به قدری پيچيده میشوند
كه بايد به جای پرداختن به مشكل خود، مسألههای مربوط به ابزارهای آنها را حل كرد؛ مانند
زبانهای برنامهنويسی C++، Turbo Pascal و Assembly؛
زبانهای برنامهنويسی كه حاوی مزايايی هر دو نوع بالا و عاری از عيبهای آنها میباشند:
نمونه اصلی اين نوع زبانهای برنامهنويسی، زبان برنامهنويسی Delphi است.
15
جايگاه گسترش دلفي در ميان زبانهای برنامهنويسی :
در بازه زمانی سالهای 1374 تا 1380 ش. شاهد دگرگونیهای ژرفی در علوم انفورماتيک
بوديم. گذشته از گسترش فزاينده شبكههای رايانهای و تولّد سيستمعامل Windows، نسل جديدی
از زبانهای برنامهنويسی پا به عرصه وجود گذاشتند كه با همراهداشتن ميراث زبانهای نسل پيش
از خود و با تكيه بر الگوهای جديد، ضمن آسانكردن فرآيندهای برنامهنويسی، در بالابردن سطح
كيفی برنامههای توليدشده نيز مؤثّر واقع شدند، تا آنجا كه امروزه وجود رقابت شديد بين
شركتهای بزرگ برنامهسازی برای تهيّه ابزارهای برنامهسازی عاملی شده تا تنوّع و كيفيّت اين
محصولات همهروزه افزايش يابد.
زبانهای برنامهنويسی مانند VB، VC و Delphi هر روزه تغييرات جديدی را به خود میبينند
و سير تكاملي آنها به سوی افزايش ابزارهای نهفته و پشتيبانی بهتر و كاملتر از مفهومهای
مختلف در برنامهنويسی شیءگرا سوق يافته است.
زبان برنامهنويسی VC و بستههای مشابه آن بيشتر از هر چيز به سابقه ديرينه خود برای ساخت
بستههای سيستمی (مانند فايلهای DLL، ابزارهای كنترل برنامه مانند VBX و كار با واسطهها)
تكيه كردهاند و زبان برنامهنويسی VB همچون نياكان خود بيشتر از هر چيز سعی داشته سادگی
را با افزايش قابليّتها و توانايیهای بيشتر حفظ كند.
در حالی كه هر يک از اين زبانهای برنامهنويسی به سمت خاصّ خودشان ميل بيشتری يافتهاند،
دلفی تمام توانايیها را يکجا فراهم كرده است، به گونهای كه دلفی منبع بزرگی از توانايیها و
ابزارهای برنامهنويسی تحت Windows است كه تمام نقطهضعفهای موجود در زبانهای
16
برنامهنويسی ديگر تحت Windows را پوشانيده است، به طوری كه هر برنامهای كه بخواهيد با
دلفی قابل انجام است؛ چرا كه دلفی با خود دلفی ساخته شده است.
اصول اين زبان را میتوانيد در چند ساعت فرا بگيريد. چند هفته، برای آموزش كلّيّات اين زبان
كافی است و زمان سه ماه برای فراگرفتن بيشتر مهارتها برای ايجاد برنامههای كاربردی كفايت
میكند. متخصّص و متبحّرشدن در اين زبان مانند زبانهای ديگر به تجربه زياد و صرف چند
سال وقت نياز دارد.
همچنين از آنجا كه دلفی گونهای محيط برنامهسازی ديداری بر اساس زبان برنامهنويسی Pascal
است؛ لذا انتخاب نام Visual Pascal برای آن دور و بیجا نخواهد بود.
17
ويژگیهای زبان برنامهسازی دلفی
محيط توسعه مجتمع بسيار قوی و انعطافپذير :
در زبانهای برنامهنويسی ديداری (همچون دلفی)، محيط کار و سادگی استفاده از آن، نقش مهم(و
حتّی مهمتر از برنامه مترجم) را در طرّاحی برنامهها بر عهده دارد كه سازندگان دلفی به اين نكته
توجّه داشتند، به طوری كه يک مجتمع كامل برای ساخت برنامهها در دلفی وجود دارد كه هر
چيزی كه لازم داريد، در اين محيط موجود است.
بهرهمندی كامل از شيوه شیءگرایی:
ساختار زبان برنامهسازی دلفی بر اصل استفاده از پاسكال شیءگرا بنا گرديده است كه زبانی
كامل، قدرتمند و يكسره شیگراست. هسته اصلی روشهای برنامهنويسی شیءگرا در دلفی نهفته
است و همينک دلفی به صورت واقعی از قابليّتهای مختلف زبانهای شیءگرا پشتيبانی میكند و
دارای ويژگیهايی اضافی (مانند بازبينی نوع دادهها در هنگام اجرا، واژه كليدی Published،
ويژگیها و تابعهای بازگرداننده نوعهای پيچيده) نيز میباشد. مفهوم شیءگرايی در دلفی كاملتر
از C++ است؛ ولی ممكن است به كاملی قابليّتهای شیءگرايی Smalltalk نباشد. در هر
صورت، در حال حاضر دلفی قسمت عمده كدهای برنامه را به صورت كاملاً شیءگرا توليد
میكند.
كوتاهبودن كدهای برنامهنويسی و روشهای ويرايش آنها:
دلفی بسياری از كدهای برنامهها را به صورت خودكار در هنگام آغاز ايجاد پروژه توليد میكند؛
امّا علاوه بر اين قابليّت، قسمتی تحت عنوان «ويرايشگر كد» دارد كه بر پايه متن استوار است و
18
قابليّتهايی مانند تعيين عكسالعملها، همزمانسازیها، تكميل كدها، قابلاستفادهبودن جزيی كدها،
استفاده از ماكروها، و نقشههای كليدی سفارشی را در اختيار شما قرار میدهد. همچنين تركيب
متن روشن و نيز باز و بستهشدن كدها در خواندن، و هدايتكردن كدها به شما كمک خواهد كرد.
كتابخانه بسيار غنی از شیءها:
دلفی چنان كتابخانهای از شیءهای ديداری و غيرديداری دارد كه كمتر شیء را میتوان در
برنامهها يافت كه در آن موجود نباشد.
ايجاد برنامه الگو:
فرآيند الگوسازی، گسترش برنامهها (خواه برنامههای بر پايه UML و خواه برنامههای
ايجادشونده در چارچوب كاری .NET) را سريعتر میكند و اين در حالی است كه برنامهساز حتّی
يک خط كد هم ننوشته است.
تعريف نيازمندیها:
دلفی يک رابط به برنامه Borland CaliberRM تهيّه میكند. اين برنامه كه بر پايه صفحههای
وب قرار دارد، نظامی برای تعريف نيازمندیها و مديريّت برنامهسازی است، به طوری كه
برنامه مورد تهيّه نهايت انتظار كاربران را به دست میآورد؛ البتّه اين برنامه بدون محيط توسعه
مجتمع دلفی نيز قابل دسترسی است.
طرّاحی انواع رابط كاربر (واسط كاربر):
دلفی قادر است انواع رابطهای كاربر گرافيكی، فرمهای VCL، فرمهای ويندوزی، فرمهای وبی،
و صفحههای HTML
19
سازگاری، پشتيبانی، و ارتباط :
سازگاری ميان نسخههای مختلف دلفی؛
سازگاری با برنامههای مبتنی بر ActiveX، C++، Java، Visual Basic، MS-Office و
PowerBuilder؛
مديريّت و پشتيبانی كامل از انواع بانک اطّلاعاتی و SQL؛
كنترل كامل مبدأ برنامهها بر اساس نظامهای كنترل مبدأ ClearCase ، CVS و
Visual SourceSafe؛
ارتباط با تيم طلايی.
كار در چارچوب كاری Net. مايكروسافت:
چارچوب كاری .NET مايكروسافت، چارچوبی اصلی برای ايجاد و اجرای برنامههای .NET
است كه شامل زبانهای اجرايی مشهور و كتابخانه كلاس میباشد. زبانهای اجرايی مشهور،
برنامهها را توليد و خدماتی مانند مديريّت حافظه و اجرای همزمان چند زبان را فراهم میكنند.
كتابخانه كلاس هم مجموعهای از مؤلّفهها است كه میتواند جهت شیء را كه در برنامههای
كاربردی.NET استفاده میشوند، تعيين كرده و مجدّداً مورد استفاده قرار بگيرند تا بتوان بهترين
استفاده را از زبانهای اجرايی كرد، به طوری كه دلفی تمام چارچوب كاری كتابخانه كلاس را در
محيط خود برای پرورش برنامههای كاربردی .NET قرار داده است و در چند مورد نيز آن را
گسترش داده است.
20
ترجمه سريع برنامه:
ترجمه برنامه در دلفی بسيار سريع انجام میشود؛ به طوری که سرعت اين ترجمه بيشتر از
سرعت مترجمهای زبانهای برنامهنويسی C و C++ است و حتی دارای سرعتی 10 تا 20 بار
سريعتر از برنامههای تفسيری (مانند VB, PowerBuilder, Paradox, Visual Fox Pro و
dBase) میباشد و به ادّعای شرکت Borland، مترجم دلفی سريعترين مترجم در بين زبانهای
برنامهنويسی است و از دلايل اين امر میتوان به سادگی تعريف و ساختار زبان برنامهنويسی
دلفی و نياز کمتر مترجم به تلفيق قسمتهای لازم برنامه در آن اشاره كرد. لازم به ذكر است كه
مترجم دلفی، مترجمی برای پاسكال میباشد.
اشكالزدايی، مستقرسازی، و نصب برنامهها:
اشكالزداهای توسعهيافته Borland .NET و Borland Win32 شما را در يافتن و تصحيح
انواع اشكالهای برنامه كمک میكنند. همچنين مدير مستقرسازی ASP.NET دلفی، شما را در
كپیكردن فايلهايی كه برنامههای ASP.NET به سوی يک سرويسدهنده وب نياز دارد، كمک
مینمايد. همچنين، چارچوب كاری .NET شامل چند برنامه كمكی است كه شما را در آمادهسازی
برنامههايتان برای مستقرسازی آنها كمک میكند. دلفی نيز شامل برنامه InstallShield
Express برای ايجاد برنامههای نصبكننده ويندوزی میباشد.
خروجی ايستا:
فايلهای اجرايی دلفی نيز يک فايل EXE واقعی و تنهاست كه همه چيز در درون آن قرار داده
شده است و قابل اجرا بر روی هر رايانه دارای شرايط درست میباشد. در نتيجه، نيازی به تحويل
21
فايلهای ديگر (كتابخانههای در حال اجرا) به مشتری در هنگام ارائه فايل اجرايی نمیباشد؛ در
حالی كه در VB بايد فايلهای VBX نيز به همراه فايل اجرايی نهايی به مشتری ارائه شوند؛ البتّه
مگر آنكه از بستهها استفاده كرده باشيد. به همين دليل، برنامههای دلفی برای نصب، سادهتر از
برنامههای نوشتهشده به وسيله ساير زبانهای برنامهنويسی میباشند.
22
اجزای محیط دلفی
نوار عنوان:
بالاترين نوار موجود در پنجره برنامه میباشد که از چپ به راست، به ترتيب شكلک برنامه، نام
پروژه جاری، Borland Delphi، و نام فايل يا فرم جاری را نمايش میدهد و دارای سه دكمه
كنترلی با چهار حالت مختلف در منتهیاليه سمت راست خود میباشد(1 در تصویر).
نوار فهرست گزينشی:
معمولاً در پايين نوار عنوان قرار دارد و حاوی عنوانهايی است که هر عنوان دارای يک فهرست
گزينشی با تعدادی گزينه براي اجرای فرمانها و فعّالسازی يا غيرفعّالسازی قابليّتها میباشد.
(2 در تصویر)
نوارهای ابزار:
معمولاً در زير نوار فهرست گزينشی قرار دارند و حاوی مجموعهای از پركاربردترين فرمانها
و قابليّتهای دلفی هستند و سيزده نوع میباشد. (3 در تصویر)
پنجره نمای بنا :
ساختار درختی كدهای مبدأ يا HTML را كه در قسمت «ويرايشگر كد» مشاهده میشوند يا
شیءهايی را كه در قسمت «سطح طرّاح» مشاهده میگردند نمايش میدهد و نيز اگر كدهای
نوشتهشده شما دارای اِشكال از نظر قانونهای برنامهنويسی باشند، در پوشه Errors در اين پنجره
ديده میشوند؛ (4 در تصویر)
23
پنجره بازرس شیء، نظارت بر شیء، يا ناظر شیءها:
برای تعيين يا تغيير «ويژگی»ها و «رويداد»های شیءها به كار میرود؛ (5 در تصویر)
صفحه خوشآمدگويی:
دارای قسمتهای مختلفی همچون چند دكمه مربوط به آغاز كار، چند پيوند به منبعهای توسعه
برنامه (مانند مقالههای آموزشی، راهنمای online، و محصولات وابسته به دلفی) و فهرستی از
پيوندهای متّصل به آخرين پروژههای در حال انجام توسّط كاربر (كه در قسمت بالای اين صفحه
قرار میگیرند) میباشد؛ (6 در تصویر)
پنجره مدير پروژه:
برای مشاهده و سازماندهی فايلهای تشكيلدهنده يک پروژه يا چند پروژه به صورت تركيبی
است؛ (7 در تصویر)
پنجره نمای قالب:
بيانگر نحوه توسعه ECO با دلفی میباشد؛ (8 در تصویر)
كاوشگر دادهها:
برای كاوش در شیءهای ويژه خدمتدهنده پايگاههای داده (مانند جدولها، ستونها، پردازههای
ذخيرهشده تعريفشده، مدارها، و ايندكسها) و ايجاد و مديريّت اتّصالهای پايگاه داده است؛ (9 در
تصویر)
جعبه ابزار:
بستگی به نمايی كه در آن قرار داريد (مانند «سطح طرّاح» يا «ويرايشگر كد»)، شامل
24
قسمتهايی برای توسعهدادن پروژه شما میباشد. برای مثال، هنگامی كه در نمای «سطح طرّاح»
هستيد، حاوی شیءهای قابلدسترس در آن سطح میباشد كه به صورت دستهبندیشده ارائه
میگردند و هنگامی كه در نمای «ويرايشگر كد» هستيد، بيانگر جزئيّات كدهايی است كه شما
میتوانيد آنها را به كدهايتانبيافزاييد؛ (10 در تصویر)
25
Properties:
برگه فعّال پيشفرض است كه با استفاده از محتويّات آن، میتوان ويژگیهای شیء جاری را
تنظيم كرد. اين ويژگیها بر حسب كاربردشان در گروههای مختلف دستهبندی شدهاند كه نام هر
گروه به رنگ قرمز و به صورت توپر و كمي چپتر از راستای ويژگیها مشخّص گرديده است
و میتوان ويژگیهاي زيرمجموعه آنها را گسترش داده يا در صورت نياز، جمع كرد. همچنين
ويژگیها بر اساس حروف الفبا مرتّب شدهاند تا يافتن ویژگی موردنظر در ميان ويژگیهای مختلف
آسان گردد. نوع مقدارهای هر ويژگی بستگی به نوع آن ويژگی دارد و مقداری غير از نوع
متناسب را نمیپذيرد. همچنين با قرارگرفتن بر روی هر ويژگی، نام و عملكرد آن به صورت
26
خلاصه در پايين اين پنجره نمايش داده میشود و در صورتی كه تعداد اين گروهها و ويژگیها به
اندازهای باشد كه در پنجره جای نگيرند، پنجره حاوی نوار پيمايش میگردد.
Events:
با استفاده از محتويّات اين برگه كه به صورت برگه قبلی تنظيم شده است، میتوان پاسخهای
رويدادهايی را كه ممكن است برای شیء جاری روی دهد تعيين كرد. برای اين كار روی رويداد
موردنظر كليک نموده و از روی دكمه حاوی پيكان روبهروی آن پردازه يا عملكردی را كه
میخواهيد در پاسخ آن قرار دهيد، تنظيم نماييد يا با دابلكليکكردن در قسمت روبهروی آن،
پردازه مربوط به آن رويداد ايجاد میشود يا در صورت وجود، به آن پردازه در قسمت ويرايشگر
كد رفته و جواب را تعيين كرده يا تغيير دهيد.
● برخی از ويژگیها تنها در هنگام اجرای برنامه قابل تغيير هستند که اين ويژگیها در پنجره
بازرس شیء مشاهده نمیشوند؛ امّا در فايل واحد قابلدسترس میباشند.
● برخی از ويژگیها تنها در هنگام اجرای برنامه به صورت فقطخواندنی قابل دسترس هستند.
27
رویداد و پردازنده
رويداد:
هر عملی كه از سوی كاربر يا سيستمعامل بر روی برنامهای که در حال ساخت آن هستید، انجام
شود را يک رويداد میگويند؛ مانند فشردن يک كليد، حركتدادن اشارهگر موشواره، انتخاب
عنوانی از فهرست گزينشی، دستكاریكردن يک فايل، چاپ يک سند، و ارسال يک فايل توسّط
دستگاه Modem.
برنامهنويس بايد در هنگام برنامهنويسی عکسالعملهای اين رويدادها را (معمولاً به صورت
کدهايی) تعيين کند؛ به طوری که اين کدها در فايل کد فرم که فايل واحد ناميده میشود، ذخيره
گرديده و در هنگام بروز رويداد مزبور، کدهای مربوط به آن رويداد اجرا میشوند.
● هر شیء كه دارای قابليّت داشتن رويداد باشد، دارای يک سری رويداد مخصوص به خود
است؛ هر چند ممكن است بعضی از شیءها دارای رويدادهای مشترک نيز باشند.
● هيج فرمی بدون فايل واحد نمیتواند وجود داشته باشد؛ امّا بالعكس آن ممكن است.
● هنگامی كه فرمی ايجاد میشود، به صورت خودکار يک فايل واحد نيز برای آن ايجاد میگردد.