أعجوبة

البرمجيات الحُرة والمفتوحة المصدر

أدوات المستخدم

أدوات الموقع


docs:gambas_tutorial

اختلافات

عرض الاختلافات بين النسخة المختارة و النسخة الحالية من الصفحة.

رابط إلى هذه المقارنة

جانبي المراجعة السابقةالمراجعة السابقة
المراجعة التالية
المراجعة السابقة
docs:gambas_tutorial [2013/07/13 02:24] – [المتغيرات من النوع Currency] لينكس_السعوديةdocs:gambas_tutorial [2015/04/23 03:19] (حالي) – تحرير خارجي 127.0.0.1
سطر 1: سطر 1:
 +=======البرمجة بإستخدام جامباس gambas =======
 +
 +
 +{{:docs:gambas.png |}}
 +
 +======‫شكر وتقدير======
 +
 +
 +أحب أن أتقدم بالشكر الجزيل للأستاذ [[http://www.al-asiri.com|تركي العسيري]] لتصريحه لي بنقل محتوى كتابه [[http://www.al-asiri.com/View1/Pages/Record.ASPX?Action=OPN&ID=8c7ac2c9-8f5e-4bfe-bb56-44733c770e97m|Visual Basic للجميع - نحو برمجة كائنية التوجه OOP]] 
 +أيضا لأستاذي مؤيد السعدي مطور أعجوبة على تفضله بالسماح لي بكتابة هذا الكتاب ضمن وثائق أعجوبة
 +
 +======‫المقدمة‬======
 +
 +تصنف جامباس ضمن البيئات المعتمدة على لغة بيسك كما فيجوال بيسك و Qbasic و Kbasic و VB6 فالأساسيات واحدة وتختلف هذه اللغات عن بعضها كلما تعمقت فيها.
 +
 +بدأت جامباس بالظهور على يد الفرنسي Benoît Minisini عام 1999 وهي مجانية ومفتوحة المصدر متاحة تحت ترخيص GPL
 +
 +
 +
 +======الجزء الأول: الأساسيات‬======
 +
 +
 +
 +
 +=====الفصل الأول: تعرّف على Gambas=====
 +
 +
 +
 +
 +====بيئة التطوير المتكاملة IDE====
 +‬‬
 +يوفر لك جامباس أدوات في قمة الروعة مجتمعة تحـت مُسمى بيئة التطوير المتكاملة‬ Integrated Development Environment‬ تُختصـر IDE. توفّر لك كل ما تحتاجه‬ لتصميم نوافذ وكتابة أكواد برامجك. بل تقدم لك خدمات أكثر من‬ ذلك، كخدمة التنقيح Debugging ,إدارة ملفـات مشـروعك، تحرير القوائم، تعديل‬ وإنشاء قواعد البيانات ... الخ .‬
 +
 +
 +
 +===‫نوافذ بيئة التطوير المتكاملة===
 +
 +{{ :docs:screenshot-test_-_gambas_2.resized.png?480 |النافذة الرئيسية}}
 +
 +
 +===قوائم بيئة التطوير المتكاملة===
 +
 +
 +
 +
 +===أشرطة الأدوات===
 +
 +*قائمة File (ملف)
 +
 +وتحتوي على التالي : 
 +
 +مشروع جديد (New project)
 +
 +فتح مشروع (Open project)
 +
 +فُتِح حديثا (Open recent) وهي المشاريع التي تم العمل عليها مؤخرا
 +
 +فتح مثال (Open Example) لفتح الأمثلة المرفقة بالبيئة
 +
 +حفظ المشروع (Save project)
 +
 +حفظ المشروع باسم (Save project as)
 +
 +*قائمة Project (المشروع)
 +
 +*قائمة Debug (التنقيح)
 +
 +*قائمة View (عرض)
 +
 +*قائمة Tools (أدوات)
 +
 +* قائمة ؟ (المساعدة)
 +
 +====كتابة برنامجك الأول====
 +
 +
 +
 +
 +===‫الخطوة الأولى: فكرة البرنامج===
 +
 +
 +
 +
 +===الخطوة الثانية: إنشاء المشروع===
 +
 +
 +
 +
 +===الخطوة الثالثة: تصميم الواجهة===
 +
 +
 +
 +
 +===الخطوة الرابعة: كتابة التعليمات===
 +
 +
 +
 +
 +===الخطوة الخامسة: التجربة والتعديل===
 +
 +
 +
 +
 +===الخطوة السادسة: الترجمة===
 +
 +
 +
 +
 +=====الفصل الثاني: لغة البرمجة GAMBAS=====
 +
 +
 +
 +
 +====المتغيرات والثوابت====
 +
 +‫المتغيرات والثوابت هي أساس أي لغة برمجة. إن استيعاب أنواع المتغيرات مـن‬ المسائل الضرورية التي تمكنك من اختيار الأنواع المناسبة للمتغيرات سواء‬ لإرسالها إلى الدوال أو لإجراء العمليات الحسابية عليها. بودّي التحدث عن مبدئي‬ قابلية الرؤية وعمر الحياة قبل الخوض في تفاصيل المتغيرات.‬
 +
 +===قابلية الرؤية وعمر الحياة===
 +
 +‫قابلية الرؤية وعمر الحياة من بين المبـادئ الضـرورية فـي جميـع لغـات البرمجـة، و Gambas‬ يعتبر لغة برمجة حقيقية تدعم هذان المبدئان.
 +
 +قابلية الرؤية ‪– Visibility‬أو المدى ‪ -Scope‬للمتغير تمثل قدرة البرنامج على الوصول‬ إلى المتغير واستخدامه، فالمتغير ‪ X‬الموجود في الكود التالي لا يمكن الوصول إليـه‬ خارج الإجراء MySub1
 +<code vb>
 +Sub MySub1()
 +         Dim X As Integer
 +         X‬‬ = 20
 +End Sub
 +Sub MySub2()‬‬
 +         Print X
 +         ´لا يمثل متغير x السابق
 +‫‪End Sub
 +</code>
 +
 +أما عمر الحياة (Life Time) للمتغير فهي تمثل الفترة التي يظل فيها المتغير محتفظا بقيمته، فالمتغير (X) الموجود في الكود السابق، سينتهي ويزال تلقائيا من الذاكرة بمجرد الخروج من الاجراء Sub MySub‬‬1 ولكي تفهم الأسلوب الذي يتبعه Gambas لتطبيق مبدأ قابلية الرؤية وعمر المتغيرات، عليك معرفة أنواع المتغيرات مـن منظور الرؤية وعمر الحياة:
 +
 +
 + 
 +  * المتغيرات المحلية الديناميكية:
 +
 +المتغيرات المحلية الديناميكية Dynamic Local Variables‬ هي متغيرات تولد مع‬ السطر الذي تعلن عنها فيه داخل الإجراء وتموت بعد نهاية الإجراء مباشرة ويتم‬ تحرير المساحة التي حجزتها هذه المتغيرات في الذاكرة، وبالنسـبة لقابلية الرؤية‬ فلن تستطيع الوصول إلى هذه المتغيرات إلاّ في نفس الإجراء الذي صرح فيه‬ المتغير.
 +تستخدم الكلمة المحجوزة **‪Dim‬** للتصريح بالمتغير مع كتابة اسمه ونوعه:
 +
 +<code vb>
 +Dim sName As String‬‬
 +Dim iAge As Integer‬‬
 +‫</code>
 +
 +عليـك الالتزام بالتصريح كما فـي الصيغة السابقة، فلا يمكنك تعريف المتغير مباشرة دون الالتزام بعملية التصريح بإسناد قيمة ابتدائية له:
 +
 +<code vb>
 +sName = ”أعجوبة“ 
 +iAge‬‬ = 99
 +</code>
 +
 +
 +  * المتغيرات المحلية الثابتة:
 +قابلية الرؤية للمتغيرات المحلية الثابتة Static Local Variables هي مثل قابلية الرؤية للمتغيرات المحلية الديناميكية أي لن تتمكن من الوصـول إليها إلا من داخل الإجراء المصرح فيه، وبالنسبة لعمر حياة المتغير الثابت فهو يبقى محتفظا بقيمته حتى نهاية البرنامج إذا كان فـي ملف برمجـة Module أو حتـى يمـوت الكائن التابع له. لتصريح متغير ثابت اسـتخدم الكلمـة المحجـوزة ‪   **Static**عوضا عن ‪:Dim‬‬
 +
 +<code vb>
 + ‪Static bStaticVariable As Boolean
 +</code>
 +
 +‫تستطيع جعل جميع المتغيرات التابعة للإجراءثابتة بوضع نفس الكلمة المحجوزة عند بداية الإجراء:
 +
 +<code vb>
 + Static Sub Counter‬‬‫     ()
 + جميع المتغيرات التالية ستاتيكية ‘
 + Dim iCounter As Integer‬‬
 + ‪Dim iCounter2 As Integer‬‬
 + باقي الكود
 + End Sub‬‬
 +</code>
 +
 +لا تحاول تطبيق الكود السـابق كثيـرا، فـالمتغيرات الثابتة أبطـأ مـن المتغيـرات الديناميكية إلى جانب قيامها بحجز مواقع هـذه المتغيـرات فـي الـذاكرة طـوال فتـرة عمل البرنامج، فلا تحاول استخدامها إلا عند الحاجة كالرغبة في تنفيذ إجـراء معـين لمرة واحدة مثلا أو الاحتفاظ بقيمة المتغير في عدّاد:
 + 
 +<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  
 +</code>
 +
 +‫أخيرا، الكلمة المحجوزة ‪ **Static**‬لا تطبـق إلا على المتغيرات المحلية فلا تحاول استخدامها على متغيرات عامة أو على مستوى الوحدة فهي بطبيعتها ثابتة.
 +
 +‫المتغيرات على مستوى الوحدة:
 + أقصد بالوحـدة البرمجيـة Module المتمثلة في ملف برمجة Module أو نافذة نموذج Form‬ أو فئة Class الخ من الوحدات المكوّنة للمشروع. يمكنك تصريح متغير على مستوى الوحـدة في منطقة الإعلانات العامة للوحدة أي خارج الإجراءات.
 +
 +قابلية الرؤية لهذا النوع مـن المتغيـرات يكـون عـاماً لجميـع أكواد الوحـدة فـي حالة استخدام الكلمة المحجوزة ‪ 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‬‬
 +</code>
 +‫أما إذا كنت تريد تعريف متغيرات عامة قابلة للوصول من جميع أنحاء المشروع،فالكلمة المحجوزة **Public‬** تفي بالغرض:
 +
 +<code vb>
 + في ملف برمجة Module‬‬
 + Public iNumberOfUsers As Integer‬‬
 + في نافذة نموذج 1‪‘ Form‬‬
 + Public sCurrentUser As String‬‬
 + في نافذة النموذج 2‪‘ Form‬‬
 + Private Sub Form_Load‬‬(‪)
 + If iNumberOfUsers <= 0 Then‬‬
 +       ‫‪Exit Sub‬‬
 +   ‫‪Else‬‬
 +       ‫‪Me.Caption = Form1.sCurrentUser‬‬
 +   ‫‪End If‬‬
 +   ‫‪End Sub‬‬
 +</code>
 +
 +أما عمر الحياة لهذا النوع من المتغيرات فيكون مرافق لعمر حياة الكائن التابع له والمصرح فيه –كعمر حياة المتغيرات الثابتة، وبالنسبة للمتغيرات العامة المصرحة في ملفات البرمجة ‪ ،Module‬فستظل محتفظة بقيمتها حتى نهاية تنفيذ البرنامج.‬
 +
 +
 +===المتغيرات===
 +
 +
 +
 +‫‫نستطيع ان نعرف المتغيرات بمنظورين، بالمنظور الرياضي يعرف المتغير على انه مجهول س يحتوي على قيمة معينة، اما بالمنظور البرمجي –وهو الاهم- يعرف المتغير على انه قيمة تحفظ في ذاكرة الجهاز. وتختلف المساحة المحجوزة لحفظ هذه القيمة باختلاف نوع المتغير، فمتغيرمن النوع Byte‬ لا يستهلك سوى بايت واحد من ذاكرة الحاسب، في حين أن متغير من نوع String قد يحجز مساحة تصل‬ الى 2 جيجابايت.‬
 +
 +‫وفيما يلي عرض لجميع انواع المتغيرات المدعومة من قبل Gambas :
 +
 + ====المتغيرات من النوع Byte ====
 +يستطيع هذا النوع الاحتفاظ باي قيمة صحيحة ضمن المجال العددي [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,384,741,2، 746,384,741,2] فهي تحجز مساحة قدرها 4 بايت للمتغير الواحد، وكما ذكرت في الفقرة السابقة اني احبذ استخدامها عوضا عن المتغيرات من النوع ،Integer‬فهي تحمل قيم كبيرة جدا مقللة الخوف من ظهور خطأ وقت التنفيذ ،Overflow‬فلو كتبت كود يقرأ حجم ملف معين وكنت من المدمنين للنوع ‪ ،Integer‬فستصاب بخيبة امل كبيرة عندما تتعامل مع الملفات التي تزيد احجامها عن 767,23:
 +
 +    Dim iFileSize As Integer
 +     iFileSize = FileLen (“C:\MyFile.DAT”) سيظهر خطأ اذا زاد حجم الملف عن 676,23 بايت
 +
 +==== المتغيرات من النوع Boolean‬ ====
 +
 +المتغيرات من النوع Boolean‬ هي نفس المتغيرات من النوع Integer‬ ولكن القيم التي تمكنك من اسنادها اليها تكون اما 0 False‬ او  1 True‬ حجم المتغيرات من النوع Boolean‬ هو 1 بايت، المتغيرات من النوع Boolean‬تسهل عليك عملية قراءة وفهم الاكواد.‬
 +
 +
 +==== المتغيرات من النوع Single ====
 +
 +
 +‫مجال القيم التي يمكن للمتغيرات من النوع Single احتوائها هو الاعداد الموجبة‬ من 1.401298e-54‬ الى 3.402823e38 ‬او الاعداد السالبة من 3.402823e38- الى‬ 1.401298e-45- وتستهلك مساحة 4 بايت.‬
 +ربما يفضل معظم مبرمجي  Gambas ‬النوع  Single‬ على النوع ‪Double‬‬ لاعتقادهم ان الأول اسرع في التنفيذ من الثاني، هذا الاعتقاد صحيح في النوع‬ القديم من المعالجات والتي لا تحتوي على مساعد رياضي ‪، Math Coprocessor‬‬ اما اغلب المعالجات الجديد تحتوي على المساعد الرياضي وهو خاص بالعمليات‬ الحسابية للاعداد ذات الفاصلة العائمة  Floating Point‬ مما يجعل السرعة متقاربة‬ جدا بين النوعين  Single و  Double لذلك ينصح باستخدام النوع Double عوضا عن‬ النوع Single حتى تتقي شر الخطأ OverFlow ودقة اعلى للاعداد لكبر مجال القيم‬ الممكنة بها. من ناحية اخرى، قد تكون المتغيرات من النوع Single‬ اسرع بكثير من‬ المتغيرات من النوع Double‬ عند التعامل مع الخصائص او الطرق التي تحتك مع‬ الاحداثيات بشكل ملحوظ كـ ‪CurrentX ،Circle ،Line ،ScaleWidth ،ScaleHeight‬‬ .... الخ فهذه الاحداثيات تستخدم النوع  Single واستخدام النوع Double‬ معها ابطأ‬ لان Gambas ‬يضطر الى تحويل متغيرات النوع السابق الى Single .
 +
 +==== المتغيرات من النوع 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===
 +
 +
 +
 +
 +====أدوات الملفات====
 +
 +
 +
 +
 +====أدوات أخرى====
 +
 +
 +
 +
 +
 +
 +=====الفصل الرابع: مكتبات VB‬ و VBA=====
 +
 +
 +
 +
 +
 +====التعامل مع الأعداد====
 +
 +
 +
 +
 +
 +===المعاملات الرياضية===
 +
 +
 +
 +
 +
 +===الدالات الرياضية===
 +
 +
 +
 +
 +
 +===تنسيق الأعداد===
 +
 +
 +
 +
 +
 +===دوال أخرى===
 +
 +
 +
 +
 +
 +====‫التعامل مع الحروف====
 +
 +
 +
 +
 +
 +
 +===المعاملات الحرفية===
 +
 +
 +
 +
 +
 +===البحث والاستبدال===
 +
 +
 +
 +
 +
 +===تنسيق الحروف===
 +
 +
 +
 +
 +
 +===دوال أخرى===
 +
 +
 +
 +
 +
 +====التعامل مع الوقت والتاريخ====
 +
 +
 +
 +
 +===دوال الوقت والتاريخ===
 +
 +
 +
 +
 +===تنسيق الوقت والتاريخ===
 +
 +
 +
 +
 +
 +====التعامل مع الملفات والمجلدات====
 +
 +
 +
 +
 +===التعامل مع الملفات===
 +
 +
 +
 +
 +
 +
 +===التعامل مع المجلدات===
 +
 +
 +
 +
 +
 +===البحث عن الملفات والمجلدات===
 +
 +
 +
 +
 +
 +
 +===تحرير الملفات===
 +
 +
 +
 +
 +
 +====كائنات أخرى====
 +
 +
 +
 +
 +
 +
 +===كائن البرنامج App===
 +
 +
 +
 +
 +
 +===كائن الحافظة Clipboard===
 +
 +
 +
 +
 +
 +===كائن الشاشة Screen===
 +
 +
 +
 +
 +
 +===كائن الطابعة Printer===
 +
 +
 +
 +
 +
 +====اكتشاف الأخطاء====
 +
 +
 +
 +
 +
 +===فكرة عامة===
 +
 +
 +
 +
 +
 +===الكائن Err===
 +
 +
 +
 +
 +
 +=====الفصل الخامس: البرمجة كائنية التوجه OOP=====
 +
 +
 +
 +
 +
 +====مقدمة إلى OOP====
 +
 +
 +
 +
 +
 +===لماذا ‪OOP‬؟===
 +
 +
 +
 +
 +
 +===سِمات OOP===
 +
 +
 +
 +
 +
 +===بناء أول فئة مبسّطة===
 +
 +
 +
 +
 +
 +====بناء الفئات====
 +
 +
 +
 +
 +
 +===بناء الخصائص===
 +
 +
 +
 +
 +
 +===بناء الطرق===
 +
 +
 +
 +
 +
 +===بناء الأحداث===
 +
 +
 +
 +
 +
 +
 +===مثال تطبيقي===
 +
 +
 +
 +
 +
 +
 +====استخدام الكائنات====
 +
 +
 +
 +
 +
 +===عبارات وكلمات خاصة بالكائنات===
 +
 +
 +
 +
 +
 +===ماهي حقيقة الكائن ؟===
 +
 +
 +
 +
 +
 +===صورة الكائن بالذاكرة===
 +
 +
 +
 +
 +
 +===الربط Binding===
 +
 +
 +
 +
 +
 +
 +===ولادة وموت الكائن===
 +
 +
 +
 +
 +
 +===إرسال الكائن بالمرجع أو القيمة===
 +
 +
 +
 +
 +
 +
 +=====الفصل السادس: تعدد الواجهات والوراثة=====
 +
 +
 +
 +
 +
 +====تعدد الواجهات Polymorphism====
 +
 +
 +
 +
 +
 +===تطبيق عملي===
 +
 +
 +
 +
 +
 +
 +====الوراثة Inheritance====
 +
 +
 +
 +
 +
 +===محاكاة الوراثة بـ Gambas===
 +
 +
 +
 +
 +
 +===علاقة "يحتوي على"===
 +
 +
 +
 +
 +
 +===التفويض Delegation===
 +
 +
 +
 +
 +
 +===وراثة الواجهات===
 +
 +
 +
 +
 +
 +
 +===التصنيف الفرعي Subclassing===
 +
 +
 +
 +
 +
 +
 +====الأهرام الكائنية====
 +
 +
 +
 +
 +
 +
 +===العلاقات بين الفئات===
 +
 +
 +
 +
 +
 +===فئات المجموعات Collection Classes===
 +
 +
 +
 +
 +
 +
 +
 +======الجزء الثاني: برمجة قواعد البيانات‬======
 +
 +
 +
 +
 +
 +=====الفصل السابع: مدخلك إلى قواعد البيانات=====
 +
 +
 +
 +
 +
 +====تقنيات الوصول إلى البيانات====
 +
 +
 +
 +
 +
 +
 +====التعامل مع قواعد البيانات====
 +
 +
 +
 +
 +
 +
 +
 +====لغة الاستعلام SQL====
 +
 +
 +
 +
 +
 +
 +=====الفصل الثامن: الأدوات والتقارير=====
 +
 +
 +
 +
 +
 +====أداة DataGrid====
 +
 +
 +
 +
 +
 +====أداة FlexGrid====
 +
 +
 +
 +
 +
 +====الأداتين DataCombo‬ و DataList====
 +
 +
 +
 +
 +
 +
 +====مصمم التقارير====
 +
 +
 +
 +
  
docs/gambas_tutorial.txt · آخر تعديل: 2015/04/23 03:19 بواسطة 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki