ویروس در برنامه های دلفی 4 تا 7

21 08 2009

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

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

این ویروس خطرناک نیست و کار خاصی به غیر از انتشار خودش انجام نمی ده. اسم این ویروس W32/Induc-A هست و اطلاعات اون رو اینجا میتونید مشاهده کنید.

بهتره که ویروس کش ها تون رو به روز کنید و پس از حذف ویروس، می تونید فایلی با نام SysConst.bak رو که ویروس از روی فایل اصلی ساخته برگردونید. در این صورت احتمالا مشکل شما حل خواهد شد.

همچنین بخوانید:
A Tempest in a Teapot or something more sinister
Delphi developer virus exposes weakness in anti-virus defences
More on the Delphi Virus Alert





دلفی MacOS و Linux را هدف قرار داده است

21 05 2009

کنفرانس Delphi Live در سن خوزه آمریکا به پایان رسید. آنچه که از گفته های شرکت کنندگان در وب بر می یاد، آنها ازآینده دلفی و برنامه های در نظر گرفته شده برای آن بسیار خوشحال هستند.

از جالبترین برنامه های برای دلفی در نظر گرفته شده، هدف قرار دادن سیستم های MacOS و Linux است. این یعنی تولید  کدهای کامپایل شده برای هر سیستم عامل. لازم به یادآوری هست که در سال 2002 شرکت borland (صاحب قبلی دلفی) محیط Kylix و مجموعه CLX را برای برنامه نویسی در Linux عرضه کرده بودند. البته آن سال آخرین نسخه این ابزار عرضه شد که علت آن هم ضعیف بودن آن مجموعه و اشکالات بسیار آن بود.

پس از انتقال دلفی به codegear این شرکت شروع به گوش دادن به کاربران خود کرده است که و ظاهرا پشتیبانی از چندین سیستم عامل از درخواستهای مکرر کاربران بوده است و درحال حاظر در صفحه uservoice نیز این درخواست با بیشترین رای در بالا قرار دارد. به هر حال این خبر بسیار خوبی است.

Yes, Virginia, there is a Delphi MacOSX and Linux project…

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

DelphiLive – Where is Delphi Going?
Delphi Live! 2009 #2: Roadmap

همانطور که مشخصه ویژگیهای جالب Cross-platform ، RTTI Enhancements ، 64 Bit native و Multi-Core. Multi-threaded جزو برنامه قرار دارند.

همچنین ببینید:

ویدیوهای دمو Touch و Gesture
The best of DelphiLive was [Video]
Delphi Live 2009: Touch Application with Delphi – Part I
Delphi Live 2009: Touch Application with Delphi – Part II
Delphi Live 2009: Touch Application with Delphi – Part III
Delphi Live 2009: Touch Application with Delphi – Part IV

DelphiLive! 2009 was excellent
Delphi Live 2009! #3: Final Day and Roundup

*پ.ن: به علت مشغله کاری و ذهنی که دارم احتمالا و فعلا نتونم زیاد آپدیت کنم، پیشاپیش غذر خواهی من رو بپذیرید!

پستهای مرتبط:
مروری بر Delphi 2009 و مهاجرت به آن





افزونه های CodeGear Rad Studio برای دلفی

29 04 2009

در این نوشتار قصد دارم که شما رو با چند تا از افزونه های محیط توسعه دلفی یعنی CodeGear Rad Studio آشنا کنم.

بسیاری از این ابزار های برای افزایش سرعت کد نویسی و افزودن قابلیت ها و حتی جبران کاستی های این محیط توسعه تهیه شده اند.

  • CnPack IDE Wizards

ابزار رایگان و opens source است که قابلیهای خوبی را اضافه می کند از جمله تعدادی wizard . این افزونه با داشتن Code Structure Highlight که با رنگی کردن بلاک ها به تشخیص کد ها کمک می کند.

CnPack Editor Toolbar
CnPack

Structure highlighted
Structure highlighted

قابلیت کار با محیط های:

Delphi 5 6 7, C++Builder 5 6 or BDS 2005 2006, RAD Studio 2007 2009

ویژگی ها:

Code Input Helper
Code Structure Highlight and Lines
Enhanced Units/Forms List
TabOrder Wizard
Flat Toolbar in Form Designer with full customized
MSDN Help Integrated
Toolbar in Editor with full customized
Project Extension Tools
Multi-line Component Palette
Roll Windows and Set to Topmost
Source Codes Statistics
Lots of Other Improvements

افزونه های این ابزار که به آن اضافه شده اند:

CnWizards Configuration Import&Export
DFM File Convertor
IDE Config Backup/Restore Tool, including IDE History Cleaner
Debug Output Unit & Viewer
ASCII Chart
IDE External Wizard Management Tool
Source-Module Relation Analyzer

سایت سازنده

لینک دریافت

  • GExperts

این افزونه نیز قابلیت های زیادی را به محیط توسعه اضافه می کند. بیشتر قابلیت های اضافه شده مربوط ابزارهای کمکی است و همچنین ابزارهایی نیز برای کمک برنامه نویس در ویرایشگر کد به محیط توسعه اضافه می کند.

امکانات اضافه شده به ویرایشگر کد

امکانات اضافه شده به ویرایشگر کد

همچنین این افزونه یک افزونه اضافه و غیر رسمی دیگر دارد که برای فرمت کردن کد مورد استفاده قرار می گیرد. موردی که دلفی آن را کم دارد!

این افزونه اضافی که code formatter نام داره تحت بسته ای با نام Experimental GExperts Version عرضه می شه که می تونید از سایتش دریافت کنید:

دریافت Experimental GExperts Version

قبل از هر کاری باید GExprts را دریافت کرده و نصب کنید. سپس این Experimental GExperts را دریافت کنید. پس از دریافت باید فایل های موجود در پوشه EditorExpert را با فایلهای ابزار GExprts جایگزین کنید.(مشاهده کنید) پس از آن کلید ALT+F کد را برای شما مرتب خواهد کرد.

قابلیت پشتیبانی از محیط های Delphi 6, 7, 8, 2005, BDS 2006, RAD Studio 2007, 2009

سایر ویژگی ها و راهنما رو اینجا مطالعه کنید.

سایت سازنده

لینک دریافت GExprts

  • Castalia

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

از جمله قابلیت های زیر:

Editor Changes
Line Numbers
Navigation Toolbar
Structural Highlighting
Flow Control Highlighting
Live Syntax Checking
Syntax Error Balloons
Code Templates
Inline Variable Declaration
Parenthesis Matching
One Key Commenting
One Key Indentation
Modeless text search toolbar
Automated intelligent line wrap
New Editor Context Menu Items
Refactoring
New IDE Windows
Flyout Bar
Project Statistics
MultiPaste
Fix Line Breaks
Castalia In Code Editor

Castalia In Code Editor

با داشتن تعدادی قالب کد و همچنین نمایش خطاها و کد های اشتباه در بالون و بوکمارک کردن راحت کد از ویژگی ها این ابزار است. همچنین ویژگی Structure highlighte که همانند ابزار CnPack برای مشخص کردن بلاک ها کد مورد استفاده است جالب هستند. در صورتی که هر دوی CnPack و Castalia رو نصب کرده باشید ممکنه که این نوع رنگ آمیزی کمی گیج کننده بشه که می تونید یکی از اونها رو غیر فعال کنید.

امکان تغییر نام کنترل و موارد استفاده شده از آن و عوض کردن کنترل و چند مورد دیگر برای عملیات Refactoring ویژگی ها اضافه شده به محیط ویرایشگر فرم هستند.

سایت این ابزار

DDevExtensions

این افزونه بیشتر بر روی عملیات کامپایل کد و ویژگیها IDE تمرکز داره

ویژگی های این افزونه:

Adds an improved View Units, View Forms and Use Units dialog
Adds an extended “Use Units” dialog for the Delphi personalities showing all files that the compiler can see
Keybinding for extended HOME and indent/unindent TAB/Shift-TAB
Ctrl+Left/Right like in VisualStudio
Adds a dialog to set the versioninfo for multiple projects in a projectgroup
Can disable the Source modified. Rebuild? dialog
Brings back the old component palette
Allows to disable the package cache
Adds a progressbar to the compile dialog
Adds Explicit* property remover to keep DFM files compatible to older Delphi versions
Allows to delete .ddp files, empty Model and empty __history directories.
Adds a backup system that creates backups of unsaved files when you compile or execute a project.
Adds the option to automatically save after a successful compile
Adds the ability to close the IDE even if the IDE’s termination code raised an exception
Adds the ability to kill the IDE after saving all files by using Ctrl+Close-Button
Enables Delphi 2009’s ability to cancel the Kibitz-Compiler by pressing ESC or moving the mouse

از ویژگی جالب این افزونه می توان به موارد زیر اشاره کرد:

  • ابزار Use Unit پیشرفته
  • اصلاح عملکرد کلید های Ctrl+Left/Right و Home
  • ذخیره فایلها پس از کامپایل موفق و حذف فایلهای پشتیبان زاید
  • حذف کدهای غیر ضروری تولید شده در فایل DFM

وبلاگ نویسنده

لینک دریافت





راهنمای آنلاین/آفلاین دلفی

15 04 2009

اگر شما هم از آندسته افرادی هستید که در نصب راهنمای دلفی 2009 یا 2007 دچار مشکل شدید embarcadero بالاخره راه حلی رو برای این مشکل معرفی کرد.

در صفحه زیر این شرکت به چند صورت راهنما ها را ارائه می کند که شامل PDF ، CHM و Online هستند.

در این آدرس: http://docs.embarcadero.com/products/rad_studio

برای مثال راهنمای آنلاین VCL دراین آدرس و راهنمای کلی و زبان در این آدرس قرار دارند.

* پ.ن: این آواخر به خاطر یه کار فشرده و مشغله ذهنی که دارم زیاد نمی تونم مطلب بنویسم و این رو به عنوان یه کم کاری موقت در نظر بگیرید. انشاله که گفتن همین باعث نتیجه عکس بشه و بتونم بنویسم.

موفق باشید.





دو مقاله دو ابزار

11 03 2009

چند روز پیش کار بر روی دو تا مقاله  توصیفی برای ابزارهایی که قبلا نوشته بودم روبه پایان رسوندم که لینک آنها رو اینجا میذارم.

ابزار اولی مربوط به کنترل خطاها در Asp.Net و بعدی در مورد کار با thread ها در دلفی است.

در این مقاله به بررسی ابزار CustomErrorHandler می پردازیم که به ما این امکان را می دهد که شیوه نمایش خطاها را در ASP.NET تغییر دهیم. این خطاها از لحاظ ساختار بسیار استاندارد تر و برای گوگل قابل تشخیص تر هستند.

با استفاده ابزار ThreadWorker که برای دلفی نوشته شده است می توانید، وظایف و یا کارهای طولانی خود را بدون وقفه در کار برنامه انجام دهید.





با AlphaControls فرم های خود را زیبا کنید

4 03 2009

alphaskinsاخیرا به صورت پاره وقت بر روی پروژه ای تو دلفی کار می کنم که نیاز داره ظاهری زیبا داشته باشه. البته تصمیم گرفتم که پروژه رو تو Delphi 2009 بنویسم.

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

ابزار مورد نظر من که AlphaControls نام داره برای پوسته گذاری برنامه طراحی شده. نکته مهمی که این بسته ابزار رو از بقیه تمیز میده کیفیت کارشون هست.

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

ابزار مورد نظر من یعنی Alpha Control بر خلاف سایر ابزارها بسیار حرفه ای ظاهر شده است. چیزی که این ابزار رو برجسته می کنه طراحی حرفه ای پوسته های آن هست که علاوه بر سادگی، حرفه ای بودن رو به برنامه شما القا می کنه. همچنین علاوه بر اینکه ترکیب رنگ های جالب به کار رفته چشم کاربر رو ازیت نمی کنه، این امکان هم هست که با تغییر مقادیر ترکیب رنگ (Hue) و غلظت رنگ (Saturation) در زمان اجرا (On the fly) یا در زمان طراحی ظاهر پوسته های رو به صورت بسیا زیبا در بیاورید.
همچنین جلوه های انیمیشنی که حرفه ای طارحی شده اند و در نسخه های جدید به آن اضافه شده بر ازش این بسته اضاقه می کند.

  • توضیح بیشتر در مورد Alpha Controls

این ابزار اختصاصا برای زبان دلفی و C++ Builder طراحی شده است. به دو صورت می توان این ابزار رو در پروژه مورد استفاده قرار داد. در اولین حالت می توان با افزودن یک کنترل به فرم با نام TsSkinManager و تعیین پوسته دلخواه، به فرم و تمامی کنترل های استاندارد پوسته اعمال کرد. اشکال این روش آن است که از جلوه های انیمیشن و تعدادی جلوه دیگر محروم خواهید.
در حالت دوم باید از اکنترل هایی که AlphaControls محیا کرده و برگه های «AlphaStandard» و «AlphaAdditional» به محیط IDE اضافه می شوند استفاده کنید.
در این صورت علاوه بر اعمال پوسته کنترل ها می توانند جلوه های زیبایی داشته باشند. تنها عیبی که این روش دارد این است که باید تمامی کنترل ها رو حذف کرده و مجددا از کنترل های این ابزار استفاده کنید. نویسندگان این ابزار به فکر این مسئله هم بودند و برنامه تبدیلی با نام AlphaConvert برای این کار نوشت اند. این برنامه فایل های dfm پروژه را گرفته و کنترلهای استاندارد را به کنترل های alpha تبدیل می کند. در پایان پست لینک دریافت آن را مشاهده خواهید کرد.

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

امکانات این بسته در اینجا به پایان نمیرسه. بسته این ابزار علاوه بر کنترل های استاندارد دارای کنترل های اضافی هم هست که در برگه AlphaAdditional قرار دارند. TsDecimalSpinEdit ، TsComboBoxEx ، TsLabelFX و … که تعدادی از این ابزارها هستند.

  • نسخه رایگان

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

نکته آخر اینکه به نظر می رسه که شرکت سازنده این ابزار روسی باشه؛ که می تونه یکی از دلایل کمتر شناخته شدن این ابزار هم باشه!

  • دانلود 2009 AlphaControls

سایت سازنده

دریافت نسخه رایگان (Lite Edition)

دریافت بسته کامل آخرین نسخه Trial (شامل بسته ها ، سازنده پوسته و مثالهای آماده)

دریافت AlphaConvert (مبدل پروژه ها)

گالری تصویری از پوسته های طراحی شده و موجود

  • نتایج اعمال این ابزار به فرم را مشاهده می کنید

تنظیمات ترکیب رنگ و شدت آن

نتیجه اعمال Saturation و HUE

نتیجه اعمال Saturation و HUE

تصویری از تعدادی کنترل اضافی و جلوه ها

کنترل های اضافی با جلوه ها

کنترل های اضافی با جلوه ها

تصویری از برنامه دموی این ابزار

یک مثال کامل با پوسته

یک مثال کامل با پوسته

  • بخوانید

مروری بر Delphi 2009 و مهاجرت به آن





مروری بر Delphi 2009 و مهاجرت به آن

24 02 2009
Delphi 2009

بعد از Delphi 7 که در زمان خودش (2001) کم نظیر بود نسخه های بعدی اون بسیار ضعیف ظاهر شدند. مخصوصا که شرکت Borland قصد داشت تا به سمت دات نت حرکت کند و این مورد به علت سیاست های ماکروسافت موفقیت پیدا نکرد. به هر حال پس از قضایای شرکت زیر مجموعه CodeGear و خریده شدن آن توسط Embarcadero سیاست دلفی تغییر کرد و مانند گذشته بر روی برنامه های سرویس دهنده و سرویس گیرنده تحت دسکتاپ تمرکز کرد.

اما اونچه که مد نظر من هست بررسی نسخه 2009 و ارزش مهاجرت به این زبان هست. برای همین باید اولین مورد یعنی به بررسی امکانات بپردازیم.

IDE
محیط توسعه دلفی در زمان نسخه 7 کامل بود ولی گذشت زمان نیازهای جدیدی رو مطرح می کرد که به تدریج به اون اضافه کرد. اما نسخه های مختلف عرضه شده بعد از اون بسیار ناپایدار بودند.
Delphi 7 بسیار پایدار است. تا حدی که به شخصه در مدت چهار سال استفاده کمتر از چند مورد با کرش مواجه شده بودم.
Delphi 8 بر روی توسعه دات نت تمرکز داشت
Delphi 2005 بسیار ناپایدار تا حدی که در برخی مواقع در کامپایل کردن هم باز می ماند.
Delphi 2006 همچنان ناپایدار ولی بهبودهایی حاصل شده بود.
Delphi 2007 همراه با ایجاد شرکت CodeGear بود و پایداری قابل قبولی داشت
Delphi 2009 نسخه فعلی که پس از خریده شدن CodeGear توسط embarcadero عرضه شده و پایداری خوب و قابل قبولی دارد دارد.

بررسی تعدادی از ویژگی ها Delphi 2009

Error Inside
این ویژگی خطاهای کد را در هنگام نوشتن شناسایی می کند و در همانجا نمایش می دهد. ویژگی بسیار بدرد بخوری است ولی در برخی مواقع قادر به شناسایی برخی کلمات رزرو شده که به ندرت استفاده می شوند نیست.

Resource Compiler
امکان اضافه کردن انواع فایل را به Resource مانند فایل یا تصویر به پروژه می دهد. پس از آن میتوان به این منابع از طریق کد دسترسی پیدا کرد. اگرچه این امکان قبلا نیز با تنظیم فایل های .res وجود داشت ولی هیچ ابزار UI برای آن در نظر گرفته نشده بود.

Refactor
این ویژگی بر میگردد به دو نسخه قبلی از دلفی ولی با این حال بسیار قابل توجه است. امکانات استاندارد Refactoring در این قسمت در نظر گرفته شده است. همچنین امکان Find Unit که در صورتیکه به دنبال تابعی هستید که نمی دانید در کدام Unit معرفی شده است می توانید از این مورد استفاده کنید.

پشتیبانی از Unicode
تمامی کنترل ها و محیط ویرایشگر دلفی از یونیکد پشتیبانی می کنند.

نتیجه
با توجه به پیشرفت های ذکر شده، با این حال محیط توسعه دلفی در مقایسه با محیط هایی مانند Visual Studio و Netbeans بسیار ضعیف عمل می کند و آنطور که انتظار می رود به خود کارسازی کارها کمک نمی کند.

زبان دلفی

زبان دلفی سه ارتقاع مهم داشته است. پیتیبانی از Unicode و Generic ها و پشتبانی از Anonymous متد ها یا متد های بی نام.

Generic ها این امکان را می دهند تا کلاس یا نوعی خاص بتواند در هنگام تعریف ورودی از هر نوعی را بپذیرد تا بتوان در هنگام استفاده نوع مورد نظر را تعریف کرد. یک نمونه مثال مانند زیر خواهد بود:

type
TPair<TKey,TValue>= class
private
	FKey: TKey;
	FValue: TValue;
public
	function GetKey: TKey;
	procedure SetKey(Key: TKey);
	function GetValue: TValue;
	procedure SetValue(Value: TValue);
	property Key: TKey read GetKey write SetKey;
	property Value: TValue read GetValue write SetValue;
end;

type
	TSIPair = TPair<String,Integer>;
	TSSPair = TPair<String,String>;
	TISPair = TPair<Integer,String>;
	TIIPair = TPair<Integer,Integer>;

متد های Anonymous
این نوع متدها بی نام تعریف می شوند و امکان ارجاع آنها به عنوان ورودی تابع با متغیری از نوع تابع وجود دارد. در این حالت امکان تعریف تابع درون کد تابع دیگر وجود خواهد داشت. برای مثال می توان به جای تعریف متدی جدید و سپس ارجاع آن به عنوان ورودی یک تابع دیگر، در همانجا تابع بی نام را تعریف کرده و به ورودی پاس کنیم.
این نمونه مثال از راهنمای دلفی است که به ویژگی MyEvent یک تابع بی نام اختصاص می دهد:

type
	TProc = reference to procedure;
	TMyComponent = class(TComponent)
	private
		FMyEvent: TProc;
	public
		property MyEvent: TProc read FMyEvent write FMyEvent;
	end;

// function declaration
// https://salarblog.wordpress.com

var
	c: TMyComponent;
begin
	c := TMyComponent.Create(Self);
	c.MyEvent := procedure
	begin
		ShowMessage('Hello World!');
	end;
end;

پشتیبانی از Unicode
پشتیانی از Unicode مقداری برای دلفی سخت بود، چرا که شیوه ای که ذخیره کردن رشته ها در دلفی مورد استفاده قرار می گیرد، اگرچه سریع است ولی انعطاف کمی دارد. به هر حال این تغییر اعمال شده است. کامپوننت هایی که از رشته ها به عنوان بافر استفاده می کنند مطمئنن دچار مشکل خواهند شد چرا که روش ذخیره بافر مورد استفاده برای رشته در دلفی 2009 متغیر است و بستگی به نوع رشته دارد.

برای پشتیبانی از Unicode چند کلاس و نوع جدید ایجاد شده اند. کلاس TEncoding که شامل انواع تبدیلات است و نوع جدید UnicodeString که به طبع آن انواع مشابه و وابسته شامل WideString, AnsiString, ShortString,UTF8String و انواع اشاره گرهای آنها با پیشوند P.

دو Unit جدید WideStrUtils و WideStrings نیز برای کار و تبدیلات انواع رشته های یونیکد در نظر گرفته شده است. همچنین برای سازگاری با نسخه های قبلی دلفی نیز دستور کامپایلر UNICODE تعریف شده که استفاده از آن مانند زیر است:
{$IFDEF UNICODE}

اگر راهنمای دلفی را نصب کرده اید اینجا را برای انتقال پروژه خود به Unicode مطالعه کنید:
ms-help://embarcadero.rs2009/devcommon/enablingunicode_xml.html

کلاسهای افزوده شده:
در این میان چند کلاس کاربردی برای کار با Stream ها همانند TStringReader ، TStringWriter ، TStreamReader و TStreamWriter اضافه شده اند.
کنترل TButtonedEdit که کاربردی هم هست به همراه کنترل های زیر اضافه شده اند:

TButtonedEdit and TCategoryPanel (TPanel with a header to collapse and expand the panel) added to the ExtCtrls namespace
TCategoryPanelGroup, a container control that contains one or more collapsible panels
TCharacter class added to new Character namespace
TLinkLabel to add HTML links to a text label
TTListGroup, TListGroups to support groups on a list view
TEncoding and TStringBuilder added to SysUtils namespace (see A. Lanusse's Blog about TStringBuilder)
TCustomHint added to Controls namespace; added TBalloonHint inheriting from TCustomHint
TStringReader and TStringWriter added to Classes namespace to read and write strings using TTextReader/Writer interface
TStreamReader and TStreamWriter added to Classes namespace to read and write streams using TTextReader/Writer interface
https://salarblog.wordpress.com

اما مهمترین کنترل که به چشم میاد کنترل Ribbon با استفاده از کلاس TRibbon هست. این کنترل که ظاهر Office 2007 را شبیه سازی می کنند به راحتی و بدون نیاز به سایر کنترل های افزودنی قابل استفاده است.

راهنما
در این مورد دلفی بسیار بد عمل می کند. گرچه نسبت به نسخه های قبلی موارد بیشتری را پوشش می دهد  و راهنمای دلفی برای موارد اساسی خوب است ولی بیشتر مواقع که نیاز به مثال است هیچ مثالی ذکر نشده است.
در بیشتر مواقع نیز توضیحات بسیار ناقص هستند و در بخی مواقع اصلا توضیح وجود ندارد و فقط با جمله ای مانند This is SQLState, a member of class SQLException مواجه می شوید.

آیا از نسخه های قبلی مهاجرت کنیم
تجربه تلخ نسخه های مشکل دار قبلی کاربران را در امر مهاجرت با تردید مواجه کرده ولی ورژن 2009 از دلفی واقعا می تواند دلفی 7 دیگری باشد. همانطور که آمار نیز نشان می دهد درصد حرکت به Delphi از زمان عرضع نسخه 2009 بیشتر شده است.

موانع ارتقاء به 2009
مهمترین مانع پشتیبانی از یونیکد است. ممکن است در پروژه خود از ابزاری استفاده کرده باشید که مربوط به نسخه های قبلی دلفی باشد در این ممکن است که آن ابزار به خاطر عدم پشتیبانی از یونیکد در دلفی 2009 با مشکل مواجه شود.
در اینگونه مواقع باید منتظر باشید تا نسخه سازگار عرضه شود.

مهاجرت از سایر پلتفرم ها
بلی این مورد واقعا امکانپذیر است. شاید فکر کنید که دلفی در مقابل مجموعه عظیم امکانات و ابزارهای dotNET Framework و یا مجموعه Java کم خواهد آورد. ولی واقعا این طور نیست.
اگرچه دلفی در برخی مقوله های مانند برنامه نویس برای وب همانند مورد مشابه ASP.NET و JSP و برنامه نویسی فریم ورک هایی مانند WPF به طور جدی وارد نشده است اما اگر این موارد را در نظر نگیریم در برنامه نویسی تحت ویندوز دلفی تمامی موارد مورد نیاز را دارا می باشد.
دلفی تمامی موارد مورد نیاز را از پایه دارا می باشد و تنها نکته مهم در مورد ان این است که در فریم ورک هایی مانند dotNET مجموعه کلاسها و توابع به طور منسجم و یکپارچه تحت عنوان فریم ورک جمع اوری شده است. این درحالی است که مجوعه بسیار زیادی از ابزارهای کاربردی رایگان و پولی در سراسر برای دلفی وجود دارد.

همچنین زبان دلفی با دارا بود امکان نوشتن همزمان برنامه های سطح پایین و سطح بالا می تواند گزینه بسیار مناسبی برای بسیاری از مواردی باشد که امکان برنامه نویسی با dotNET و یا Java وجود ندارد.
نکته ای که در اینجا مطرح هست قدرت کم IDE است که اگر از سایر محیط های توسعه استفاده کرده اید ممکن این مورد شما را اذیت کند.

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

همچنان دلفی می تواند قدرت Cpp را همراه با سادگی زبانهای سطح بالا در اختیارتان قرار دهد.

نوشته های سایر وبلاگ نویسان در مورد Delphi 2009
آیا دلفی 2009 می تواند دلفی 7 دیگری باشد!؟

Delphi و سیر نزولی آن در مقابل محصولات Microsoft

مروری بر Delphi 2009 و مهاجرت به آن

کتابهایی برای Delphi 2009
Delphi 2009 Handbook