آشنایی با قابلیت های جدید RAD Studio XE2

آشنایی با قابلیت های جدید RAD Studio XE2

RAD Studio XE2 شامل نرم افزارهای زیر هست:

  • Delphi XE2
  • C++ Builder XE2
  • Delphi Prism XE2
  • RadPHP XE2

و در چهار نسخه Starter, Professional, Enterprise, Architect عرضه میشه.

از بین چهار نرم افزار فوق، Delphi و C++ Builder برای تولید نرم افزارهای Native Code به کار میرند. Delphi Prism برای تولید نرم افزار مبتنی بر دات نت فریم ورک با زبان دلفی استفاده میشه. RadPHP هم یک محیط RAD برای تولید نرم افزارهای وب با استفاده از زبان PHP هست.



قابلیت های جدید RAD Studio XE2

Cross-Platform

اصلی ترین قابلیت جدید در این نسخه امکان cross-platform compiling هست. در XE2 (دلفی و ++C) شما می تونید برای ویندوز، Mac OS و iOS کدهای Native تان را کامپایل کنید. همچنین در ویندوز امکان کامپایل به صورت 32 بیتی یا 64 بیتی فراهم شده. RadPHP هم این قابلیت را پیدا کرده که برنامه Native اندروید تولید کنه. در آینده امکان کامپایل برای لینوکس و اندروید هم به این مجموعه اضافه خواهد شد.

برای iOS (سیستم عامل دستگاه های iPhone و iPad)؛ روش کار مشابه سایر ابزارهای غیر اپلی مثل Mono Touch هست؛ به این صورت که شما می تونید برنامه خودتان را در دلفی بنویسید، رابط کاربر گرافیکی اش را با FireMonkey طراحی کنید، و برنامه را در ویندوز هم اجرا و دیباگ کنید؛ ولی برای اجرا و دیباگ بر روی دستگاه، یا شبیه ساز آن؛ باید اولا سیستم عامل Mac OS داشته باشید؛ ثانیا، دلفی یک پروژه XCode برای شما ایجاد می کند که باید آن را در داخل Mac OS با XCode کامپایل کنید، و فایل نهایی را به شبیه ساز یا دستگاه مقصد منتقل کنید. این محدودیت از دو جهت هست، اولا اینکه شرکت اپل قانونا اجازه کامپایل مستقیم (بدون استفاده از ابزارهای این شرکت) را به تولید کنندگان نرم افزار نمیدهند؛ و ثانیا اینکه اگر هم بر فرض اپل همچین اجازه ایی میداد، دلفی فعلا امکان تولید کد برای CPU های مبتنی بر ARM را ندارد، و این قابلیت در آینده به آن اضافه خواهد شد.

محیط توسعه (IDE) همچنان مبتنی بر ویندوز باقی خواهد ماند، اما می تونید برنامه خودتان را از طریق Remote Debugger دلفی که اسمش به Platform Assistant تغییر کرده، در داخل یک ماشین مجازی یا در یک شبکه محلی مثل یک نرم افزار Local از داخل IDE اجرا و دیباگ کنید.


FireMonkey

در دلفی XE2 یک چارچوب جدید برای تولید رابط گرافیکی کاربر معرفی شده با نام FireMonkey. این چارچوب مستقل از پلتفرم هست، و یک رابط کاربر 2 بعدی یا 3 بعدی Vector-base در اختیار شما قرار میده. FireMonkey از توان پردازشگر گرافیکی سیستم (GPU) برای رندر کردن رابط گرافیکی کاربر استفاده میکنه. در ویندوز، FireMonkey از Direct2D برای رسم دو بعدی، و از Direct 3D برای رسم سه بعدی استفاده میکنه. در Mac OS و iOS (و در آینده در لینوکس) از OpenGL برای رسم استفاده میشه. FireMonkey را میشه به نوعی معادل WPF در دات نت تلقی کرد. البته با این تفاوت که FireMonkey برای تعریف عناصر گرافیکی از یک زبان اختصاصی (XAML) بهره نمیبره، بلکه عناصر با استفاده از کدهای دلفی و یا طراح گرافیکی فرم موجود در IDE ساخته میشند. البته FireMonkey کاملا Native Code هست، و نیازی به کتابخانه اضافی برای اجرا نداره. همچنین در FireMonkey امکان تعریف Style های مختلف و اعمال آنها بر روی کل رابط گرافیکی کاربر را دارید. احتمالا به طور پیش فرض Style هایی برای پشتیبانی از ظاهرا استاندارد رابط گرافیکی ویندوز و Mac OS به همراه FireMonkey عرضه خواهند شد، تا برنامه نویس بتونه به راحتی ظاهری شبیه برنامه های عادی این پلتفرم ها تولید کنه. تصویر زیر نمایی از یک رابط کاربر ساده تولید شده با FireMonkey هست، با دو Style مختلف:
FireMonkey-Styles.png

در واقع FireMonkey مبتنی بر تکنولوژی شرکت معروف کامپوننت سازی KesDev هست. این شرکت قبل از این کامپوننت هایی برای تولید رابط گرافیکی مبتنی بر وکتور به صورت دو یا سه بعدی ارائه می کرد. اما مدتی قبل توسط شرکت Embarcadero خریداری شد و برنامه نویسان آن هم جذب این شرکت شدند. هر چند FireMonkey مبتنی بر تکنولوژی KesDev هست، اما در این مدت شرکت Embarcadero تغییرات متعددی در آن اعمال کرده، تا آن را برای نسخه XE2 آماده کند، و این قابلیت صرفا یک تغییر نام برای محصولات KesDev نیست.

VCL همچنان مبتنی بر ویندوز باقی خواهد ماند و امکان استفاده از VCL در سایر پلتفرم ها وجود نخواهد داشت. البته VCL همچنان حمایت میشه و قابلیت های جدید بهش اضافه میشه؛ کما اینکه در XE2 امکان اعمال Style های مختلف بر روی کنترل های VCL اضافه شده.

Live Bindings


این قابلیت برای برنامه نویسان دات نت آشنا ست. در دلفی، با توجه به اینکه قابلیت تولید نرم افزارهای تجاری مبتنی بر بانک اطلاعاتی از نسخه اول جزو اولویت های اصلی محصول بود، برای کار با داده های بانک اطلاعاتی و نمایش این داده ها، دو دسته از کنترل ها ایجاد شدند، کنترل های Data-aware که امکان اتصال به بانک های اطلاعاتی را داشتند، و کنترل های عادی که همچین قابلیتی را نداشتند. بعدها که قابلیت های جدیدی به دلفی اضافه شد، این ساختار برای حفظ سازگاری با نسخه های قدیمی تر حفظ شد؛ اما در XE2 شما مشابه دات نت امکان اتصال هر کنترلی را به منابع داده مختلف خواهید داشت؛ یعنی اولا نیازی به مجموعه جداگانه ایی از کنترل ها برای نمایش داده های بانک اطلاعاتی نیست، و ثانیا منابع داده شما محدود به بانک اطلاعاتی نیستند، و شما می توانید هر نوع داده ایی را از هر منبعی (مثلا یک لیست جنریک) بخوانید و در این کنترل ها نمایش بدید. حتی امکان تلفیق داده های مختلف و ایجاد داده ترکیبی برای نمایش در یک کنترل هم وجود داره.

قابلیت های جدید برای DataSnap

DataSnap چارچوب تولید نرم افزارهای چند لایه (Multi-tier) در دلفی هست، که قابلیت های متعددی ارائه میکنه. در نسخه XE2 قابلیت های جدیدی به آن اضافه شدند. فعلا دو قابلیت جدید آن معرفی شدند؛ یکی پشتیبانی بیشتر از Cloud (بخصوص Amazon E3) و امکان نصب در Cloud، و همچنین قابلیت تولید proxy class سمت کلاینت برای زبان ها و پلتفرم های مختلف به منظور راحتی ارتباط نرم افزارهای کلاینت نوشته شده با سایر زبان ها و تکنولوژی ها با سرورهای مبتنی بر DataSnap. در حال حاضر DataSnap امکان تولید proxy class برای کلاینت های مبتنی بر دات نت، جاوا اسکریپت، iOS، اندروید، و Blackberry را دارد.

FastReport

در نسخه های قبلی Quick Report یا Rave به عنوان ابزار گزارش سازی پیش فرض به همراه IDE نصب می شدند، که بعدها Quick Report کنار گذاشته شد. در نسخه XE2 در کنار Rave، ابزار معروف و پرطرفدار FastReport هم به طور پیش فرض با IDE نصب خواهد شد.

فعلا این تغییرات و امکانات برای XE2 معرفی شدند. تغییرات و امکانات دیگه ایی هم صورت گرفتند که به تدریج در مدت یک ماه توسط شرکت Embarcadero رسما اعلام خواهند شد. این شرکت مراسمی را در نقاط مختلف دنیا (از جمله دبی) در تاریخ های مختلف ترتیب داده، و در هر یک از این مراسم ها، قابلیت های مختلف این محصول به کاربران معرفی خواهند شد، تا زمان شروع کنفرانس Delphi Live در ماه سپتامبر. به نظر میرسه که نسخه XE2 یکی از مهم ترین نسخه های تاریخ حیات دلفی باشه

به نقل از برنامه نویس

آموزش کرک کردن محصولات Alpha Controls

برای کرک کردن محصولات Alpha Controls :

ابتدا دلفی را ببندید.

پوشه ای که همه فایلهای bpl و dcp  دلفی در آن قرار میگیرد را باز کنید .

(معمولا در :$(BCB)\Projects\Bpl for C++ Builder)

همه فایلهایی که با کلمه acnt شروع میشوند را حذف کنید.

حالا فایل sCommonData.obj با یک ویرایشگر فایلهای hex باز کنید.

کد 753B8B45FC8B40 پیدا کنید و 75را با EB عوض کنید.

در دلفی فایل acnt*_R.bpk  را باز کنید و کامپایل کنید. دقت داشته باشید که فایل را Make کنید نه Build.

سپس فایل acnt*.bpk باز کرده و کامپوننت را نصب کنید.


آموزش به زبان اصلی:

  • Close IDE
  • Browse to the folder where your bpl and dcp files are located and 
    delete all of the files related to AlphaControls acnt*.*
    (default folder is $(BCB)\Projects\Bpl for C++ Builder)
  • Open sCommonData.obj with HEX-editor
  • Search for HEX-pattern 753B8B45FC8B40 and replace 75 with EB
  • Start IDE and install package:
    • acnt*_R.bpk : Compile it ("Make", not "Build"!) and save all
    • acnt*.bpk : Install it and save all

بدست آوردن نام پرینتر جاری

uses Printers;
function GetDefaultPrinterName : string;
begin
if(Printer.PrinterIndex > 0)then
begin
GetDefaultPrinterName := Printer.Printers[ Printer.PrinterIndex ];
end
else
begin
GetDefaultPrinterName := '';
end;
end;

پنجره MAP کردن درایوهای شبکه

WNetConnectionDialog( 0, RESOURCETYPE_DISK ); اولین پارامتر هندل پنجره پدر میباشد اگر ازروی یک فرم اجرا میکنید پس: WNetConnectionDialog( Handle, RESOURCETYPE_DISK );

نکات مفید برای کار در محیط دلفی

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

جستجو در متن بصورت مستقیم:
برای اینکار کلیدهای Ctrl+E را بفشارید و بدنبال آن شروع به تایپ کلمه مورد نظر کنید نتیجه آن را خود ببینید. برای اینکه به کلمه بعدی بروید کافیست کلید F3 را بزنید.

ایجاد فرورفتگی در کد:
بعضی اوقات - که خیلی هم پیش می‌آید - لازم است که یک مقداری از متن را بصورت بلوک شده به جلو و یا عقب ببریم. منظور دندانه دار کردن متن است که به خوانایی برنامه کمک می کند. برای اینکار می تونید از کلید Ctrl +Shift+I برای جلو بردن و Ctrl+Shift+U برای عقب برگرداندن متن بلوک شده استفاده کنید.

پرش به قسمت تعریف یک شی ():
برای اینکه ببنید شی مورد نظرتون (از قبیل VCL, Procedure, Function,...) در کجا و چطور تعریف شده می توانید کلید Crtl رو پایین نگه داشته و روی شی مورد نظر Click کنید.

برای تغییر حالت کاراکترها:
شما می توانید یک قسمت از متن (که ممکن است با حروف بزرگ و یا کوچک تایپ شده باشد) را انتخاب کنید و با زدن کلیدهای Ctrl+o+u به ترتیب تمامی حروف کوچک آن قسمت از متن را به حروف بزرگ و تمامی حروف بزرگ آنرا به حروف کوچک تبدیل کنید.
برای تعییر حالت یک کلمه نیز میتوانید روی کلمه مورد نظر رفته و کلیدهای Ctrl+k+f برای بزرگ کردن و کلیدهای ctrl+k+e را برای کوچک کردن حروف آن کلمه بکار برد.

درست کردن ماکرو متنی:
این امکان بسیار مفید است و می توانید بسیاری از کارهای نوشتاری را کاهش دهد با اینکار شما میتوانید یک سری از کارهای تکراری که روی متون انجام می دهید را بصورت ماکرو در آورده و از آنها به راحتی استفاده کنید. برای شروع به ضبط ماکرو کلیدهای ctrl+shift+r را بفشارید و آن سری کارهایی را که می خواهید را انجام دهید و سپس برای اینکه به کار ضبط ماکرو پایان دهید کلیدهای ctrl+shift+r را دوباره بزنید. حال برای استفاده از ماکرو کافیست در هر جا که لازم بود کلیدهای Ctrl+Shift+P را بفشارید.

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



گذاشتن علامت روی متن:
این کار که به BookMark معروف است بسیار مفید و کارا می باشد. در هنگامی که شما روی قسمتی از متن برنامه کار میکنید و می خواهید به یک قسمت دیگر بروید ممکن است برای برگشتن به مکان اول خود کمی مشکل پیدا کنید. ولی شما میتوانید با زدن چند دکمه به محل مورد نظرتون باز گردید. برای اینکار در خطی که قصد دارید علامت بگذارید کلیدهای Ctrl+Shift+0..9 را بفشارید. منظور اینست که کلیدهای ctrl+Shift را نگه دارید و یکی از اعداد 0 تا 9 را وارد کنید تا آن خط به همان شماره علامت گذاری شود و سپس هر جا که خواستید بروید و سپس هر بار که کلید Ctrl را نگه دارید و شماره مورد نظر را وارد کنید به همان خط باز خواهید گشت. البته توجه داشته باشید که فقط می توانید 10 خط را با این روش علامت گذاری بکنید و برای برداشتن علامت ها کافیست روی همان خط دوباره کلید Ctrl+shift و شماره‌ای که برای آن خط وارد کرده اید را بفشارید با اینکار علامت آن خط برداشته می شود.


ایجاد کلاس مورد نظر :
شما هنگامی که در قسمت Private و یا Public یک type، روال یا تابع درست کردید لازم دارید که قسمتی را برای قرار دادن کدهای مربوط به آن روال یا تابع را ایجاد کنید. برای اینکار شما پس از اینکه نام تابع را تایپ کردید می توانید کلیدهای Ctrl+Shift+C را فشار دهید تا دلفی یک قسمت برای نوشتن کدهای مورد نظرتان ایجاد کند.

ظاهر کردن پنجره Code insight :
شما حتما به اهمیت و مفید بودن این قسمت دلفی واقفید که در هنگام کد نویسی تا چه حد می تواند کارها را راحت کند. بله در هنگام وارد کردن کدها بعد از وارد کردن نام یک کلاس و یا با زدن یک نقطه (.) پنجره Code Insight‌ ظاهر می شود. حال در بعضی وقتها شما ممکن است که نقطه را قبلا وارد کرده باشید و یا در مواقع دیگر این پنجره ظاهر نشود. در
این صورت برای اینکه پنجره را ظاهر کنید باید دوباره نقطه را وارد کنید ولی راه اسانتری هم وجود دارد و آن اینست که کلیدهای Ctrl+Speacebar را فشار دهید.


ظاهر کردن پنجره Code Parameter:
همانند بالا در هنگام ظاهر شدن Hint مربوط به راهنمای توابع که معمولاً بعد از گذاشتن پرانتز مربوط ظاهر میشود و در مورد پارامترهای لازم می باشد نیز می توانید از کلیدهای Ctrl+Shift+SpaceBar استفاده کنید.

رفتن از قسمت تعریف توابع و روالها به قسمت کد آنها:
همیشه این نیاز وجود خواهد داشت که شما در هنگامی که دارید به دنبال یک روال در قسمت type میگردید بعد از پیدا کردن نام آن می خواهید که خود آن تابع یا روال را نیز ببنید. برای اینکار خوب حتما نام آن را جستجو میکنید ولی یک راه آسانتر اینست که شما روی نام آن تابع قرار گیرید و کلیدهای Ctrl+Shift+Up/Down را بزنید. در اینحالت اگر روی کد تابع باشید به قسمت تعریف آن خواهید رفت.

رنگ کردن سطرهای DBGrid بصورت یکی در میان

رنگ کردن سطرهای DBGrid بصورت یکی در میان:

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject;

  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
var
  test1: Real;
  RowNo: Integer;
begin
  with (Sender as TDBGrid) do
  begin
    if (gdSelected in State) then
    begin
        Canvas.Brush.Color := clblue;
    end
    else
    begin

      rowno := Query1.RecNo;

      test1 := (RowNo / 2) - trunc(RowNo / 2);

      if test1 = 0 then
      begin
        farbe := clWhite
      end

      else
      begin
        farbe := clYellow;
      end;
      Canvas.Brush.Color := farbe;

      Canvas.Font.Color := clBlack;
    end;
    Canvas.FillRect(Rect);

    Canvas.TextOut(Rect.Left + 2, Rect.Top + 1, Column.Field.AsString);
  end
end;

ویرایش یک فیلد Memo در DBGrid



ویرایش یک فیلد Memo در DBGrid :

function TCustomDBGrid.GetEditLimit: Integer;
begin
  Result := 0;

  if Assigned(SelectedField) and (SelectedField.DataType in [ftString, ftWideString, ftMemo]) then
    Result := SelectedField.Size;
end;
function TCustomDBGrid.GetEditText(ACol, ARow: Longint): string;
begin
  
Result := '';
  if FDatalink.Active then
  with 
Columns[RawToDataColumn(ACol)] do
    if 
Assigned(Field) then
      
Result := Field.AsString;   FEditText := Result;
end;

سوال جواب

دوستی پرسید که چطور میشه لیستی از کاربران فعال Sql Server را دریافت کرد؟

که در جواب باید بگم از طریق کد زیر:

procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOQuery1.SQL.Add('Exec SP_WHO');
  ADOQuery1.Active := True;
end

جام جهانی 2010 آفریقای جنوبی


بنظر شما کدوم تیم قهرمان میشه آیا ؟؟؟

نکات بسیار مفید در مورد دلفی 2010 - rad studio 2010

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


آموزش نصب کامپوننت در دلفی

آموزش نصب کامپوننت در دلفی
نویسنده : بابک احدی

دانلود فایل :
حجم : 554 کیلوبایت

کتاب در مورد دلفی

تعدادی لینک کتاب همراه با لینک دانلود :

Borland Delphi Developer Guide 6
http://rapidshare.com/files/12891173...eveloper_6.rar

Tomes of Delphi - Algorithms and Data Structures.
http://rapidshare.com/files/12891039...Structures.rar


Tomes of Delphi - Basic 32-bit Communications Programming (2003).
http://rapidshare.com/files/12891008...ing__2003_.rar


Tomes of Delphi - Developer's Guide to Troubleshooting
http://rapidshare.com/files/12890972...leshooting.rar

Tomes of Delphi - Win32 Database Developer's Guide
http://rapidshare.com/files/12890954...er_s_Guide.rar

Borland® Delphi 8 for .NET
http://rapidshare.com/files/12891089...8_for_.NET.rar


Migrating Borland Delphi applications to the Microsoft .NET Framework with Delphi 8
http://rapidshare.com/files/12891052...h_Delphi_8.rar

منبع : smaj.blogfa.com