![]() |
|
مكونات و توابع يقل استعمالها في دلفي - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : دروس دلفي للمبتدئين (https://delphi4arab.net/forum/forumdisplay.php?fid=13) +--- الموضوع : مكونات و توابع يقل استعمالها في دلفي (/showthread.php?tid=2829) |
مكونات و توابع يقل استعمالها في دلفي - karamofweb - 23-02-2011 ( Win الصفحة 32 ) : PageControl العنصر يقوم هذا العنصر بإظهار صفحات مستقلة وللتعرف على هذا العنصر سنبدأ بمثال : مثال : اضغط على العنصر ،Win من الصفحة 32 PageControl ابدأ مشروعًا جديدًا وأضف إليه عنصر الصفحات أعد الخطوة ، Tabsheet عندها ستظهر صفحة جديدة باسم 1 New Page بزر الفأرة اليميني وأختر من القائمة . TabSheet و 3 TabSheet الأخيرة مرتين لإظهار 2 التاريخ " وأضف في داخلها العنصر " Caption وأعطها الخاصة Tabsheet اختر الصفحة الأولى 1 . MonthCalendar الوقت " وأضف إليها العنصر " Caption وأعطها الخاصة TabSheet اختر الصفحة الثانية 2 ولا تنس إضافة مؤقت لتحديث الوقت... dtkTime القيمة Kind وأعطه الخاصة DateTimePicker التاريخ والوقت " وأضف إليها عنصرين " Caption وأعطها الخاصة TabSheet اختر الصفحة الثالثة 3 .... dtkTime القيمة Kind أعط إحداهما الخاصة DateTimePicker نفذ البرنامج ولاحظ كيفية الانتقال بين الصفحات .. من ESC يمكن الانتقال من عنصر ابن إلى عنصر أب بالضغط على المفتاح ) PageControl اختر العنصر عندها سيأخذ العنصر حجم النموذج بالكامل . alClient القيمة Align لوحة المفاتيح ) وأعطه الخاصة Add واضغط علية مرتين يظهر صندوق حوار اختر منه Win من الصفحة 32 ImageList أضف العنصر وأعط الخاصة PageControl عد بعدها إلى العنصر ،Ok لإضافة مجموعة من الصور، اضغط بعدها على وعندها ستظهر الصور بجانب عنوانين الصفحات، نستطيع اختيار صور محددة ImageList القيمة 1 Images ... ImageIndex ثم كتابة رقم الصورة المطلوبة في الخاصة tabSheet لصفحة ما باختيار الصفحة حيث يمكن أن تكون في الأسفل أو TapPosition يمكن تحويل موضع اختيار الصفحات عن طريق الخاصة على اليمين أو على اليسار بإعطائها القيمة PageControl للعنصر Style يمكن تحويل شكل الصفحات إلى أزرار عن طريق الخاصة tpTop تساوي TapPosition لا تعمل هذه الخاصة إلا إذا كانت قيمة الخاصة ) tsFlatButtons أو tsButtons . ( تحدد الصفحة الفعالة عند تنفيذ البرنامج . ActivePage الخاصة يتحول لون خط عنوان الصفحة إلى اللون الأزرق True عند إعطاء هذه الخاصة القيمة : HotTrack الخاصة عند مرور الفأرة فوقه ( في وقت التنفيذ ) . ( Win الصفحة 32 ) : TabControl العنصر ويختلف عنه بكونه لا يعطي صفحات مستقلة حيث أنه مكون من PageControl يشبه هذا العنصر العنصر صفحة واحدة ( أي أن العناصر توضع في صفحة واحدة ويتم تطبيق تغيرات على هذه العناصر عندما يضغط المستخدم على أزرار الصفحات : . مثال : سنقوم بكتابة برنامج يعطي جدول ضرب العدد 5 أكتب القيم 1,2,3,4,5,6,7,8,9 كل Tabs في الخاصة ، TabControl ابدأ مشروعًا جديدًا وأضف إليه العنصر منها في سطر . TabControl داخل العنصر Label أضف عنصري أكتب التعليمات التالية : OnChange مستقل وفي الحدث var i :integer; begin i := strtoint(tabcontrol1.Tabs[tabcontrol1.tabindex] ); label1.Caption := inttostr(i) + ' * 5 = '; label2.Caption := inttostr(i * 5); تعيد رقم الصفحة التي ضغط المستخدم عليها . TabControl1.TabIndex حيث تعيد عنوان الصفحة التي يوجد رقمها بين القوسين [ ] . Tabcontrol1.Tabs[ ] و نفذ البرنامج واضغط على الصفحات ولاحظ النتائج ... بالنسبة لباقي الخصائص فهي مشابهة تمامًا لخصائص العنصر السابق . ( Win الصفحة 32 ) : UpDown العنصر واعط الخاصة UpDown إلى مشروع جديد ، حدد العنصر 1 Edit وعنصر UpDown أضف عنصر Edit ولاحظ تغير الرقم داخل UpDown نفذ البرنامج واضغط على أسهم العنصر ، Edit القيمة 1 Associate . Edit للعنصر تحدد مقدار الزيادة أو النقصان في العدد داخل ال Increment الخاصة . Edit تحددان القيمة الدنيا والعليا للعدد داخل Max و Min الخاصتان تحدد القيمة الابتدائية للعنصر . Position الخاصة تحدد اتجاه الأسهم ( عامودي أو أفقي ) . Orientation الخاصة يتحول العدد من القيمة السفلى إلى العليا عند الضغط على True عند إعطاء هذه الخاصة القيمة : Warp الخاصة . Up بعكس عند الضغط على الزر Down الزر الذين يشبهان عمل هذا العنصر SpinButton و SpinEdit العنصرين Sample ملاحظة : يوجد في الصفحة إلى حد ما . التعامل مع السلاسل النصية : : Concat 1 التابع Concat ( s1, [s2..sn]) tringمع بعضها S1..Sn يقوم هذا التابع بوصل السلاسل مثال : أكتب التعليمات التالية في حدث الضغط على زر : var s1,s2,s3 : string; begin s1:= 'abc'; s2 := 'efg'; s3:= 'hij'; form1.caption:=concat(s1,s2,s3) يشبه هذا التابع عملية جمع السلاسل النصية أي أن النتيجة ستكون مشابه لو كانت التعليمة الأخيرة Form1.Caption := s1+s2+s3; : Copy 2 التابع Copy ( S tring , Index,Count :Integer ) :String. Count وبطول Index تبدأ من الحرف الذي ترتبه S يعيد هذا التابع سلسلة رمزية جزئية من السلسة ... Copy ( 'Hello All',5,1) = o ; Copy ( 'Hello All',2,6) = ello A : مثال : Delete 3 الإجراء Delete ( Var S tring ,Index,Count ) ;وبطول Index قيمة نفس السلسلة بعد حذف الرموز ابتداء من الرمز الذي ترتيبه S يعيد هذا الإجراء في المتحول Count مثال : اكتب في حدث الضغط على زر التعليمات التالية : var s1 : String; Begin s1:= 'Hello All' ; Delete (s1,1,3); Form1.Caption := s1; ستكون Delete ( S وإذا غيرنا وسطاء الإجراء إلى الشكل ( 1,4,3 ، lo All ستكون نتيجة تنفيذ البرنامج القيمة . HelAll النتيجة : DupeString 4 التابع DupeString ( S: String ,Count :Integer) :String; مرة Count مكررة S يعيد هذا التابع القيمة DupeString( 'Ha ',5) = Ha Ha Ha Ha Ha : مثال StrUtils ملاحظة لتنفيذ هذا التابع نحتاج لاستدعاء الوحدة : Insert 5 الأجراء Insert ( S1:String , var S tring ; Index :Integer ) ;. S ويعيد النتيجة في S في السلسة Index ابتداء من الرمز S في السلسة S يقوم هذا الإجراء بحشر السلسة 1 مثال : تكتب التعليمات التالية في حدث الضغط على زر : var s : string; begin s:= 'Hello Friends' ; insert ( 'All ' ,s,7); form1.Caption := s; : StuffString التابع StuffString( s tring , start, length :integer , S1 tring ) tring;مع حذف عدد من Start ابتداء من الرمز الذي ترتيبه S في قيمة السلسلة S يقوم هذا التابع بحشر السلسة قيمة 1 : Length بطول S الرموز من قيمة قام التابع بحذف ستة أحرف ابتداء من الحرف stuffstring('Hello Friend',7,6,'all') = 'Hello all' : مثال . Insert في حال تغير الرقم 6 إلى 0 سيعمل التابع عمل الإجراء ، all السابع وحشر السلسة يختلف هذا التابع عن سابقة ب : 1 التابع يقوم بحذف قسم من السلسة وإدراج غيره . يعيد السلسة StuffString ستعاد قيمة التابع فيه بينما التابع S بحاجة إلى متحول Insert 2 الإجراء النتيجة بدون التأثير على وسطاءه ) . StrUtils ملاحظة لتنفيذ هذا التابع نحتاج لاستدعاء الوحدة : LeftStr التابع LeftStr(S:String ,Count : integer) tring: Count وبطول S يعيد هذا التابع سلسلة نصية تبدأ من يسار السلسلة . LeftStr( 'Good Morning,4 ) = Good ، LeftStr( 'Hello Frind',6) = Hello : مثال يشبه التابع السابق ولكنه يعيد ابتداء من نهاية السلسة : : RightStr التابع Rightstr( 'Hello Friend',6)=Friend : مثال : LowerCase التابع بعد تحويل جميع حروفها إلى حروف صغيرة ( الأحرف اللاتينية ) . S يعيد هذا التابع السلسلة LowerCase(Hello Friend) = hello friend : مثال : UpperCase التابع UpperCase (' Hello Friend') = HELLO FRIEND عكس التابع السابق ،مثال : Trim التابع S يقوم هذا التابع بحذف الفراغات من بداية ونهاية السلسة مثال : إلى برنامج جديد وفي حدث الضغط على الزر اكتب التعليمات التالية : Edit أضف زر وعنصر edit1.Text:= Trim(edit1.Text ); واضغط ' Hello All ' وحاول ترك فراغات في بداية هذه النص أو آخرة Edit أكتب نصًا ما في العنصر 1 . 'Hello All' على الزر فيقوم التابع بحذف الفراغات وإعادة القيمة لهما نفس التأثير غير أنهما يحذفان الفراغات من بداية السلسة أو نهايتها على TrimRight و TrimLeft التابعين التوالي . : Format التابع Format ( S :String ; A:array of const ) ; يعيد هذا التابع السلسلة S بعد إدراج القيم في A... داخلها وفقًا لبعض المعايير |