docs:gambas_tutorial
اختلافات
عرض الاختلافات بين النسخة المختارة و النسخة الحالية من الصفحة.
جانبي المراجعة السابقةالمراجعة السابقةالمراجعة التالية | المراجعة السابقة | ||
docs:gambas_tutorial [2013/02/13 15:01] – تحرير خارجي 127.0.0.1 | docs:gambas_tutorial [2015/04/23 03:19] (حالي) – تحرير خارجي 127.0.0.1 | ||
---|---|---|---|
سطر 1: | سطر 1: | ||
+ | =======البرمجة بإستخدام جامباس gambas ======= | ||
+ | |||
+ | |||
+ | {{: | ||
+ | |||
+ | ======شكر وتقدير====== | ||
+ | |||
+ | |||
+ | أحب أن أتقدم بالشكر الجزيل للأستاذ [[http:// | ||
+ | أيضا لأستاذي مؤيد السعدي مطور أعجوبة على تفضله بالسماح لي بكتابة هذا الكتاب ضمن وثائق أعجوبة | ||
+ | |||
+ | ======المقدمة====== | ||
+ | |||
+ | تصنف جامباس ضمن البيئات المعتمدة على لغة بيسك كما فيجوال بيسك و Qbasic و Kbasic و VB6 فالأساسيات واحدة وتختلف هذه اللغات عن بعضها كلما تعمقت فيها. | ||
+ | |||
+ | بدأت جامباس بالظهور على يد الفرنسي Benoît Minisini عام 1999 وهي مجانية ومفتوحة المصدر متاحة تحت ترخيص GPL | ||
+ | |||
+ | |||
+ | |||
+ | ======الجزء الأول: الأساسيات====== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====الفصل الأول: تعرّف على Gambas===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====بيئة التطوير المتكاملة IDE==== | ||
+ | | ||
+ | يوفر لك جامباس أدوات في قمة الروعة مجتمعة تحـت مُسمى بيئة التطوير المتكاملة Integrated Development Environment تُختصـر IDE. توفّر لك كل ما تحتاجه لتصميم نوافذ وكتابة أكواد برامجك. بل تقدم لك خدمات أكثر من ذلك، كخدمة التنقيح Debugging ,إدارة ملفـات مشـروعك، تحرير القوائم، تعديل وإنشاء قواعد البيانات ... الخ . | ||
+ | |||
+ | |||
+ | |||
+ | ===نوافذ بيئة التطوير المتكاملة=== | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | |||
+ | ===قوائم بيئة التطوير المتكاملة=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أشرطة الأدوات=== | ||
+ | |||
+ | *قائمة File (ملف) | ||
+ | |||
+ | وتحتوي على التالي : | ||
+ | |||
+ | مشروع جديد (New project) | ||
+ | |||
+ | فتح مشروع (Open project) | ||
+ | |||
+ | فُتِح حديثا (Open recent) وهي المشاريع التي تم العمل عليها مؤخرا | ||
+ | |||
+ | فتح مثال (Open Example) لفتح الأمثلة المرفقة بالبيئة | ||
+ | |||
+ | حفظ المشروع (Save project) | ||
+ | |||
+ | حفظ المشروع باسم (Save project as) | ||
+ | |||
+ | *قائمة Project (المشروع) | ||
+ | |||
+ | *قائمة Debug (التنقيح) | ||
+ | |||
+ | *قائمة View (عرض) | ||
+ | |||
+ | *قائمة Tools (أدوات) | ||
+ | |||
+ | * قائمة ؟ (المساعدة) | ||
+ | |||
+ | ====كتابة برنامجك الأول==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الخطوة الأولى: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الخطوة الثانية: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الخطوة الثالثة: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الخطوة الرابعة: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الخطوة الخامسة: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الخطوة السادسة: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====الفصل الثاني: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====المتغيرات والثوابت==== | ||
+ | | ||
+ | المتغيرات والثوابت هي أساس أي لغة برمجة. إن استيعاب أنواع المتغيرات مـن المسائل الضرورية التي تمكنك من اختيار الأنواع المناسبة للمتغيرات سواء لإرسالها إلى الدوال أو لإجراء العمليات الحسابية عليها. بودّي التحدث عن مبدئي قابلية الرؤية وعمر الحياة قبل الخوض في تفاصيل المتغيرات. | ||
+ | |||
+ | ===قابلية الرؤية وعمر الحياة=== | ||
+ | | ||
+ | قابلية الرؤية وعمر الحياة من بين المبـادئ الضـرورية فـي جميـع لغـات البرمجـة، و Gambas يعتبر لغة برمجة حقيقية تدعم هذان المبدئان. | ||
+ | | ||
+ | قابلية الرؤية – Visibilityأو المدى -Scopeللمتغير تمثل قدرة البرنامج على الوصول إلى المتغير واستخدامه، فالمتغير Xالموجود في الكود التالي لا يمكن الوصول إليـه خارج الإجراء MySub1 | ||
+ | <code vb> | ||
+ | Sub MySub1() | ||
+ | Dim X As Integer | ||
+ | | ||
+ | End Sub | ||
+ | Sub MySub2() | ||
+ | Print X | ||
+ | | ||
+ | End Sub | ||
+ | </ | ||
+ | |||
+ | أما عمر الحياة (Life Time) للمتغير فهي تمثل الفترة التي يظل فيها المتغير محتفظا بقيمته، فالمتغير (X) الموجود في الكود السابق، سينتهي ويزال تلقائيا من الذاكرة بمجرد الخروج من الاجراء Sub MySub1 ولكي تفهم الأسلوب الذي يتبعه Gambas لتطبيق مبدأ قابلية الرؤية وعمر المتغيرات، عليك معرفة أنواع المتغيرات مـن منظور الرؤية وعمر الحياة: | ||
+ | |||
+ | |||
+ | |||
+ | * المتغيرات المحلية الديناميكية: | ||
+ | |||
+ | المتغيرات المحلية الديناميكية Dynamic Local Variables هي متغيرات تولد مع السطر الذي تعلن عنها فيه داخل الإجراء وتموت بعد نهاية الإجراء مباشرة ويتم تحرير المساحة التي حجزتها هذه المتغيرات في الذاكرة، وبالنسـبة لقابلية الرؤية فلن تستطيع الوصول إلى هذه المتغيرات إلاّ في نفس الإجراء الذي صرح فيه المتغير. | ||
+ | تستخدم الكلمة المحجوزة **Dim** للتصريح بالمتغير مع كتابة اسمه ونوعه: | ||
+ | |||
+ | <code vb> | ||
+ | Dim sName As String | ||
+ | Dim iAge As Integer | ||
+ | </ | ||
+ | |||
+ | عليـك الالتزام بالتصريح كما فـي الصيغة السابقة، فلا يمكنك تعريف المتغير مباشرة دون الالتزام بعملية التصريح بإسناد قيمة ابتدائية له: | ||
+ | |||
+ | <code vb> | ||
+ | sName = ”أعجوبة“ | ||
+ | iAge = 99 | ||
+ | </ | ||
+ | |||
+ | |||
+ | * المتغيرات المحلية الثابتة: | ||
+ | قابلية الرؤية للمتغيرات المحلية الثابتة Static Local Variables هي مثل قابلية الرؤية للمتغيرات المحلية الديناميكية أي لن تتمكن من الوصـول إليها إلا من داخل الإجراء المصرح فيه، وبالنسبة لعمر حياة المتغير الثابت فهو يبقى محتفظا بقيمته حتى نهاية البرنامج إذا كان فـي ملف برمجـة Module أو حتـى يمـوت الكائن التابع له. لتصريح متغير ثابت اسـتخدم الكلمـة المحجـوزة | ||
+ | |||
+ | <code vb> | ||
+ | Static bStaticVariable As Boolean | ||
+ | </ | ||
+ | |||
+ | تستطيع جعل جميع المتغيرات التابعة للإجراءثابتة بوضع نفس الكلمة المحجوزة عند بداية الإجراء: | ||
+ | |||
+ | <code vb> | ||
+ | Static Sub Counter | ||
+ | جميع المتغيرات التالية ستاتيكية ‘ | ||
+ | Dim iCounter As Integer | ||
+ | Dim iCounter2 As Integer | ||
+ | باقي الكود | ||
+ | End Sub | ||
+ | </ | ||
+ | |||
+ | لا تحاول تطبيق الكود السـابق كثيـرا، فـالمتغيرات الثابتة أبطـأ مـن المتغيـرات الديناميكية إلى جانب قيامها بحجز مواقع هـذه المتغيـرات فـي الـذاكرة طـوال فتـرة عمل البرنامج، فلا تحاول استخدامها إلا عند الحاجة كالرغبة في تنفيذ إجـراء معـين لمرة واحدة مثلا أو الاحتفاظ بقيمة المتغير في عدّاد: | ||
+ | |||
+ | <code vb> | ||
+ | Sub PrintData() | ||
+ | Static bIsPrinting As Boolean | ||
+ | If bIsPrinting Then | ||
+ | Exit Sub | ||
+ | Else | ||
+ | bIsPrinting = True | ||
+ | End If | ||
+ | ... | ||
+ | End Sub | ||
+ | Sub Counter() | ||
+ | Static iCounter As Integer | ||
+ | iCounter = iCounter + 1 | ||
+ | End Sub | ||
+ | </ | ||
+ | |||
+ | أخيرا، الكلمة المحجوزة **Static**لا تطبـق إلا على المتغيرات المحلية فلا تحاول استخدامها على متغيرات عامة أو على مستوى الوحدة فهي بطبيعتها ثابتة. | ||
+ | |||
+ | المتغيرات على مستوى الوحدة: | ||
+ | | ||
+ | |||
+ | قابلية الرؤية لهذا النوع مـن المتغيـرات يكـون عـاماً لجميـع أكواد الوحـدة فـي حالة استخدام الكلمة المحجوزة Dimاو :Private | ||
+ | <code vb> | ||
+ | Dim sName As String | ||
+ | Dim iAge As Integer | ||
+ | Sub SetData() | ||
+ | sName = ”أعجوبة“ | ||
+ | iAge=99 | ||
+ | End Sub | ||
+ | Sub PrintData() | ||
+ | Print sName | ||
+ | Print iAge | ||
+ | End Sub | ||
+ | </ | ||
+ | أما إذا كنت تريد تعريف متغيرات عامة قابلة للوصول من جميع أنحاء المشروع،فالكلمة المحجوزة **Public** تفي بالغرض: | ||
+ | |||
+ | <code vb> | ||
+ | في ملف برمجة Module | ||
+ | Public iNumberOfUsers As Integer | ||
+ | في نافذة نموذج 1‘ Form | ||
+ | Public sCurrentUser As String | ||
+ | في نافذة النموذج 2‘ Form | ||
+ | Private Sub Form_Load() | ||
+ | If iNumberOfUsers <= 0 Then | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | أما عمر الحياة لهذا النوع من المتغيرات فيكون مرافق لعمر حياة الكائن التابع له والمصرح فيه –كعمر حياة المتغيرات الثابتة، وبالنسبة للمتغيرات العامة المصرحة في ملفات البرمجة ،Moduleفستظل محتفظة بقيمتها حتى نهاية تنفيذ البرنامج. | ||
+ | |||
+ | |||
+ | ===المتغيرات=== | ||
+ | | ||
+ | |||
+ | |||
+ | نستطيع ان نعرف المتغيرات بمنظورين، بالمنظور الرياضي يعرف المتغير على انه مجهول س يحتوي على قيمة معينة، اما بالمنظور البرمجي –وهو الاهم- يعرف المتغير على انه قيمة تحفظ في ذاكرة الجهاز. وتختلف المساحة المحجوزة لحفظ هذه القيمة باختلاف نوع المتغير، فمتغيرمن النوع Byte لا يستهلك سوى بايت واحد من ذاكرة الحاسب، في حين أن متغير من نوع String قد يحجز مساحة تصل الى 2 جيجابايت. | ||
+ | |||
+ | وفيما يلي عرض لجميع انواع المتغيرات المدعومة من قبل Gambas : | ||
+ | |||
+ | | ||
+ | يستطيع هذا النوع الاحتفاظ باي قيمة صحيحة ضمن المجال العددي [0، 552] وهو اصغر انواع المتغيرات اذ لا يحتجز سوى 1 بايت. بداية المتغيرات من نوع Byteكانت منذ الاصدار الرابع وكانت معظم استخداماتها في نسخة 16bitمـن الاصدار VB4 اذ كانت المصفوفة من النوع Byte تستخدم كثيرا عند الاتصال باجراءات APIالتي تتعامل مع الحروف، اما مع الاصدارات الاحدث فلن تتمكن من الاستفادة وتطبيق الطرق القديمة على المتغيرات من النوع ،Byteلان الترميز المتبع UNICOE يستهلك مساحة 2 بايت للحرف الواحد وليس 1 بايت كترميز ASCII باختصـار، لا تضع في ذهنك أي قضايا حرفية Stringsعند استخدامك للمتغيرات من النوع Byte فيمكن قصر استخدامك لها على الاعداد الصغيرة او البيانات الثنائية مع المتغيرات من نوع Byte . | ||
+ | | ||
+ | |||
+ | ==== المتغيرات من النوع Integer ==== | ||
+ | |||
+ | اسند أي قيمة عددية صحيحة في المجال [-867,23، 767,23] للمتغيرات من النوع Integer فهي تحجز مساحة 2 بايت. وعند الحديث عن اجراءات API الخاصة بالحروف، فالمصفوفة من النوع Integer هي الانسب للترميز UNICODE بعيدا عن اجراءات API الحرفية، تفيدك المتغيرات من هذا النوع عند التعامل مع الاعداد الصحيحة، الا انني احبذ استخدام المتغيرات من النوع Long لقدرتها على احتواء قيم اكبر بكثير من المتغيرات من النوع Integer كما انها النوع القياسي لاغلب اجراءات API اما في حالة المصفوفات الكبيرة، فانني افضل استخدام المتغيرات من النوع Integer لتوفير 50% من مساحة الذاكرة. | ||
+ | |||
+ | ==== المتغيرات من النوع Long ==== | ||
+ | |||
+ | المتغيرات من نوع Long تستطيع حمل قيم عددية صحيحة في المجال [-846, | ||
+ | |||
+ | Dim iFileSize As Integer | ||
+ | | ||
+ | |||
+ | ==== المتغيرات من النوع Boolean ==== | ||
+ | |||
+ | المتغيرات من النوع Boolean هي نفس المتغيرات من النوع Integer ولكن القيم التي تمكنك من اسنادها اليها تكون اما 0 False او 1 True حجم المتغيرات من النوع Boolean هو 1 بايت، المتغيرات من النوع Booleanتسهل عليك عملية قراءة وفهم الاكواد. | ||
+ | |||
+ | |||
+ | ==== المتغيرات من النوع Single ==== | ||
+ | |||
+ | |||
+ | مجال القيم التي يمكن للمتغيرات من النوع Single احتوائها هو الاعداد الموجبة من 1.401298e-54 الى 3.402823e38 او الاعداد السالبة من 3.402823e38- الى 1.401298e-45- وتستهلك مساحة 4 بايت. | ||
+ | ربما يفضل معظم مبرمجي | ||
+ | |||
+ | ==== المتغيرات من النوع Double ==== | ||
+ | |||
+ | مجال القيم التي يمكن للمتغيرات من النوع Doubleاحتوائها هو الاعداد الموجبة من 423- 4.9406564581247eالى 803 1.79769313486232e او الاعداد السالبة من 423- -4.9406564581247e الى 803-1.79769313486232e وتستهلك مساحة 8 بايت. معظم دوال Gambas الخاصة بالاعداد تعود بقيمة من النوع Doubleلذلك هو النوع المفضل دائما، الا ان عيبه الوحيد هو في المساحة الكبير التي يحتجزها، وقد يظهر هذا العيب جليا في المصفوفات الكبيرة من النوع Double | ||
+ | |||
+ | ==== المتغيرات من النوع Date ==== | ||
+ | هذا النوع من المتغيرات يحمل قيم تاريخية تبدأ من ١ يناير ١٠٠ إلى ٣١ ديسمبر ٩٩٩٩ ويشمل نفس المتغير وقت يبدأ من الساعة ٠٠: | ||
+ | ==== المتغيرات من النوع String ==== | ||
+ | |||
+ | |||
+ | ===الثوابت=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====التركيبات والمصفوفات==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===تركيبات Enum=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===تركيبات من النوع UDT=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===المصفوفات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===المجموعات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====الإجراءات والدالات==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الإرسال بالمرجع أو بالقيمة | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===إرسال أنواع أخرى=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===تخصيص المتغيرات المرسلة === | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====التحكم في سير البرنامج==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===التفرّع باستخدام IF=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===التفرّع باستخدام Select=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الحلقات التكرارية=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====تحسين الكفاءة==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===P-Code و Native Code=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===إعدادات Advanced Optimization=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====الفصل الثالث: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====الخصائص المشتركة==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خاصية الاسم Name=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خصائص الموقع والحجم=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خصائص الاحتضان=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خاصية الخط Font=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خصائص اللون=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خصائص الجدولة=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خصائص مؤشر الفأرة=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خاصية المقبض hWnd=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خصائص أخرى=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====الطرق المشتركة==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الطريقة Move=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الطريقة SetFocus=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الطريقة ZOrder=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الطريقة Refresh=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====الأحداث المشتركة==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أحداث الفأرة=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أحداث التركيز=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أحداث لوحة المفاتيح=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===حدث التغيير Change=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====نافذة النموذج==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===خصائص النموذج=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===طرق النموذج=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أحداث النموذج=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====القوائم Menus==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====الأدوات الداخلية==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أداة العنوان Label=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أداة النص TextBox=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===زر الأوامر Command Button=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أداة الاختيار CheckBox=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===زر الاختيار OptionButton=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أداة القائمة ListBox=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أداة القائمة المنسدلة ComboBox=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أداة الصورة PictureBox=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أداة الصورة Image=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===أشرطة التمرير ScrollBars=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====أدوات الملفات==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====أدوات أخرى==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====الفصل الرابع: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====التعامل مع الأعداد==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===المعاملات الرياضية=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الدالات الرياضية=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===تنسيق الأعداد=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===دوال أخرى=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====التعامل مع الحروف==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===المعاملات الحرفية=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===البحث والاستبدال=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===تنسيق الحروف=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===دوال أخرى=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====التعامل مع الوقت والتاريخ==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===دوال الوقت والتاريخ=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===تنسيق الوقت والتاريخ=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====التعامل مع الملفات والمجلدات==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===التعامل مع الملفات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===التعامل مع المجلدات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===البحث عن الملفات والمجلدات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===تحرير الملفات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====كائنات أخرى==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===كائن البرنامج App=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===كائن الحافظة Clipboard=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===كائن الشاشة Screen=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===كائن الطابعة Printer=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====اكتشاف الأخطاء==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===فكرة عامة=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الكائن Err=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====الفصل الخامس: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====مقدمة إلى OOP==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===لماذا OOP؟=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===سِمات OOP=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===بناء أول فئة مبسّطة=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====بناء الفئات==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===بناء الخصائص=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===بناء الطرق=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===بناء الأحداث=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===مثال تطبيقي=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====استخدام الكائنات==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===عبارات وكلمات خاصة بالكائنات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===ماهي حقيقة الكائن ؟=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===صورة الكائن بالذاكرة=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===الربط Binding=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===ولادة وموت الكائن=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===إرسال الكائن بالمرجع أو القيمة=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====الفصل السادس: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====تعدد الواجهات Polymorphism==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===تطبيق عملي=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====الوراثة Inheritance==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===محاكاة الوراثة بـ Gambas=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===علاقة " | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===التفويض Delegation=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===وراثة الواجهات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===التصنيف الفرعي Subclassing=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====الأهرام الكائنية==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===العلاقات بين الفئات=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===فئات المجموعات Collection Classes=== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ======الجزء الثاني: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====الفصل السابع: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====تقنيات الوصول إلى البيانات==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====التعامل مع قواعد البيانات==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====لغة الاستعلام SQL==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | =====الفصل الثامن: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====أداة DataGrid==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====أداة FlexGrid==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====الأداتين DataCombo و DataList==== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====مصمم التقارير==== | ||
+ | |||
+ | |||
+ | |||
+ | |||