Home      Articles archive       Forum        Library       Contact us
  Main Menu
  اللغة
  Log in
Username:

Password:

Remember me



Lost Password?

Register now!
  Search
  Article Topics
  Last Posts
 
  New Books
  This Page Visitors
Today 9
Yesterday 34
Total 60991
  Site

Delphi -  شكرا دلفي 2005 ج(3)
Posted by Orwah Issa on 2005/7/4 (5156 reads)
Delphi

شكرا دلفي 2005 (ج3)

مزايا غير موثقة خاصة بـ Delphi 2005

قامت بورلاند الآن بإصدار Delphi 2005 .. ببساطة النسخة الأكثر ثورية في تاريخ دلفي , وما سأقوله حول مزايا اللغة الجديدة هو شيء واقع من منظوري , وهو ان المزايا الجديدة الغير موثقة لهذه اللغة أكثر بكثير من المزايا الموثقه في الhelp الخاص ببورلاند أو وثائق بورلاند الرسمية ...
يعتقد البعض أن بورلاند تريد التأكد من ان هذه المزايا تعمل بشكل كامل قبل الإعلان التام عنها .. أو ان هذه المزايا تحوي أخطاء في حالات ما , ولم يت اختبارها بشكل كافي ... ولكن من خلال التجربة فإن معظم هذه المزايا تعمل بشكل ممتاز , وبعضها يحوي خروقات في حالات خاصة , ومع تحفظي على عدم إعلان بورلاند الرسمي عنها , ورغم ذلكم سأذكر كم إضافي منها بالإضافة لما تم كتابته من مقالات حتى الآن عن الموضوع ...








Class helpers والدعم الدقيق والصارم لمحددات الوصول ..


جزأي ال private , protected في دلفي لهما خصوصية خاصة عن الكثير من اللغات ..
حيث تقوم دلفي بتقديم ميزة الأصناف الصديقة Friend Classes باندماج مع هذين الجزأين مما يعتبره البعض أنتهاك لقواعد التغليف ...

المشكله ببساطة هي كالتالي , أننا نعرف الأصناف التي تقبل الوصول لأعضاء أصناف أخرى (أصناف صديقة) في نفس الوحدة (مما يعطيها إمكانية الوصول حتى للأعضاء Private في "زمن كتابة الصنف" ) , ولكن ماذا لو قام المستخدم بتعريف أصناف أخرى عامة في نفس الوحدة , فإن ذلك سيسبب خرق لقاعدة التغليف حيث سيستطيع الوصول إلى البيانات الخاصة بالأصناف الموجودة في نفس الوحدة..

أما الآن مع دلفي 2005 فأن محددات الوصول هذه (Private و Protected) أصبحت صارمة باستخدام Strict , وبالتالي لايمكن الوصول إليها عند استخدام هذه الكلمة المفتاحية ..
وهذه التقنية متوفرة في كل من Delphi win32 و Delphi .Net .

ملاحظة هذه الميزة ليست خالية من الأخطاء , وإلا لكان تم الإعلان عنها , وربما تسبب أخطاء أثناء الإشتقاق (لم تجرب بشكل كافي بعد)




الأنماط المتداخلة أو Nested type declarations


همهم .. ميزة حلوة , مثلا تعريف صنفين ضمن بعضهم :
type
TOuterClass = class
strict private
type
TInnerClass = class
end;
public
end;

لاحظ أمكانية استخدام Strict Private أيضا




يمكن القيام بـ Overloaded وتكرار للخصئص من النوع مصفوفة بالرغم من أنها Default


هذه العبارة صحيحة :
• property Ints[index: Integer]: Integer read GetInts write SetInts; default;
• property Ints[Find: string]: Integer read GetIntsS write SetIntsS; default;





دعم المناهج الساكنة للأصناف Static





خصائص الأصناف

. مثال :

• private
• class function GetClassProp: Integer; static;
• class procedure SetClassProp(const Value: Integer); static;
• Public
• class property P: Integer read GetClassProp write SetClassProp





تعاريف "const", "type" و "var" يمكن أن تكون ضمن تعريف الصنف :

• type
• TAbstract = class abstract
• public
• type
• TTestArray = array of Integer;
• TSealed = class sealed
procedure DoIt(Param: Integer);
end;
• const
• Cons = 13;
• ConsB: Integer = 12;
• var
• Y: Integer;
end;






التهيئة الديناميكية للمصفوفات الديناميكية :

باستخدام العبارة Create :

• type
• TDoubleArray = array of Double;

• var
• A: TDoubleArray;
• D: Double;

begin
• A := TDoubleArray.Create(1.7, 3.9, 17.1, 39.7, 42.0);
• for D in A do
• Writeln(D:1:1);
• // etc...





المنهج Initialize للتهيئة
,
لتهيئة مصفوفة , وإعادة القيم الإفتراضية مثال :
A := TDoubleArray.Create(1.7, 3.9, 17.1, 39.7, 42.0);
Writeln('Size =',Length(A));
for D in A do
Writeln(D:1:1);

Initialize(A);
Writeln('Size =',Length(A));

Rating: 0.00 (0 votes)
**** Printer friendly page Send this story to a friend
Bookmark this article at these sites
Bookmark to Blinklist Bookmark to del.icio.us Bookmark to Digg Bookmark to Fark Bookmark to Furl Bookmark to Newsvine Bookmark to Reddit Bookmark to Simpy Bookmark to Spurl Bookmark to Yahoo Bookmark to Balatarin Bookmark to Facebook Bookmark to Twitter Bookmark to Scripstyle Bookmark to Stumble Bookmark to Technorati Bookmark to Mixx Bookmark to Myspace Bookmark to Designfloat Bookmark to Google Plus Bookmark to Google Reader Bookmark to Google Bookmarks
The comments are owned by the author. We aren't responsible for their content.
Author Thread




عروة نت 2003-2016 . بالاعتماد على زوبس