vendredi 12 septembre 2014

[DELPHI] ♥ تـــلـــويــــن أســـطـــــر DBGRID وفق شرط معين

    بسم الله الرحمان الرحيم
 
تـــلـــويــــن أســـطـــــر  DBGRID وفق شرط معين
 
 شرح سريع
 

 
 
http://im49.gulfup.com/Rl4JrW.png

 http://im59.gulfup.com/QbR8zU.png

تحميل المثال
 
 
 
 
 
بالتوفيق ، و بالدعاء
 

(2) تعلّم لغة الـ:C من الصفر


زخرف 
مواضيعك بهذه الفواصل الحلوة المميزة مجموعة خطوط عربية مبهرة [ضروري 
الدخول] 
الصلاة و السلام على أشرف المرسليـن ...
الحمد لله وحده نحمده و نشكره و نستعينه و نستغفره و نعود بالله من شرور أنفسنا و من سيئات أعمالنا ...
  ...من يهده الله فلا مظل له و من يظلل فلن تجد له ولياً مرشدا ...
...و أشهد ألا إلاه إلا الله وحده لا شريك له و أن محمداً عبده و رسوله صلى الله عليه و سلم ...
 ... و على آله و صحبه أجمعين و من تبعهم بإحسان إلى يوم الدين ...
...ربنا لا علم لنا إلا ما علمتنا إنك أنت العليم الخبير ...
  ...ربنا لا فهم لنا إلا ما فهمتنا إنك أنت الجواد الكريم ...
...ربي اشرح لي صدري و يسر لي أمري و احلل عقدة من لساني يفقهوا قولي ...
 ...أما بعد ...
...فإن أصدق الحديث كتاب الله تعالى و خير الهدي هديُ سيدنا محمد صلى الله عليه و سلم ...
...و شر الأمور محدثاتها و كل محدثة بدعة و كل بدعة ضلالة و كل ضلالة في النار ...
... فاللهم أجرنا و قنا عذابها برحمتك يا أرحم الراحمين...
أما بعد ...

::مقدمة:: 
أهلا و سهلا بكل عضو يريد الاستفادة في دورتي لتعليم البرمجة بلغة C/C++ للمبتدئين .. سأكون مرشدتكم ( أو أستاذتكم لو صح القول ) . لننتقل إليكم، لكم هدف معيّن و هو تعلّم البرمجة ، لا تعرفون شيئا عنها و لو كان صغيرا، و لهذا سأساعدكم على فتح بوابة هذا العالم و منه انطلقوا بابداعاتكم إلى الأمام. لا تنسوا بأن كل مشارك بالتمارين له جوائز .
بالتوفيق لنا و لكم

بعد تجاوزنا لدرس أوّل مليئ بالثرثرة و مهم بنفس الوقت، سنشرع في الغوص في أعماق الموضوع، و سنجيب على السؤال التالي : ما الذي يحتاجه المبرمج للشروع في البرمجة ؟ 

لا يوجد شيء صعب لنفعله في هذا المجال، أو الدرس لو أردتم القول، سنأخذ وقتنا للتأقلم مع مصطلحات و برامج جديدة، و ندخل في عالم البرمجة .
::الفهرس::
ملخص المجال:
1. الأدوات اللازمة للمبرمج 
2. الـ:Code::Blocks للـ:Windows و الـ: Mac OS و الـ: Linux 
3. Visual C++ للـ:Windows فقط.
4. Xcode للـ: Mac OS فقط .
5. تمرين
- الأدوات اللازمة للمبرمج : إذن برأيك ، ماذا يحتاج المبرمج قبل الانطلاق في البرمجة ؟ إذا كنتم قد استوعبتم الدرس الأول جيّدا، على الأقل وجب أن تعرفوا واحدا ! طبعا هو المصنف ، للتذكير هو الترجم الذي يحول لغتك الـ:C إلى لغة مزدوجة، و كما قلت لكم كذلك سابقا أنه للغة C / C++ عدة مصنفات مختلفة، و سنرى بأن اختيار المصنف المناسب لن يكون بالشيء الصعب بالنسبة لنا .
إذن أي شيء هو أيضا بحاجة إليه ؟ لن أترككم تخمّنون كثيرا و سألخّص كلّ شيء فيما يلي :
1- برنامج تحرير النصوص éditeur de texte لتكتب فيه برنامج بلغة الـ:C أو الـ:C++ ، و أنصحكم بالـ: Bloc-Notes  للـ:Windows  أو الـ:"vi" للـ:Linux ، و من الحسن جدّا أن تبحثوا عن برنامج كتابة متطوّر يقوم وحده بتلوين ما يجب تلوينه في السطور . 
2- المصنف : طبعا ليحوّل السورس للغة مزدوجة .
3- المكتشف : و الذي يحدد لك أخطائك التي تقع فيها أثناء كتابتك للبرنامج.. بالمناسبة فمع الأسف الشديد لم يتم اختراع المصحح بعد و الذي يصحح وحده الأخطاء.
وجود مكتشف الأخطاء لا يعنى أن تتصرف بتدهور و تسرع في كتابة البرنامج، بل تريّث و كن هادئا .
على أي حال، لحد الآن بامكاننا القيام بشيئين مختلفين :
1- إما أن نحاول الحصول على البرامج الثلاثى كلّ واحد منهم على حدة ( أقصد كلا من برنامج التحرير و المصنف و المكتشف ) و هي الطريقة الصعبة بالرغم من فعاليتها، إذ أنك سترغم على التعامل مع كلّ منها على حدة، و هذا ما لا أحبذه شخصيا ، سأريكم طريقة أسهل لاحقا .
2- نحصل على برنامج " 3 في واحد " يقوم بالأعمال الثلاثة في آن واحد، و هذا النوع من البرامج نسميها الـ:  IDE . أو ما يعرف ببيئات التطوير
يوجد العديد من بيئات التطوير، ستواجهون صعوبة في اختيار الملائم لكم مع البداية، لكن الشيء الأهم هو : أي IDE مهما كانت تحقق لك العمل المطلوب .
- اختيار الـ:IDE خاصتك :قررت أن أعطيكم بعض أنواع الـ:IDE المتوفرة و المعروفة، بالمناسبة فهي مجانية. بالنسبة لي ، أنا أختار جيّدا النوع الذي يناسبنى و لا أختار بعشوائية، على أي حال هاهي الأنواع:
1- واحدة أفضّلها كثيرا ، تدعى Code::Blocks  ، مجاني و يعمل على كلّ برامج التشغيل ( أنصح كلّ واحد مبتدئ أن يختاره لأنه سيلائمه الآن و لاحقا ) . يشتغل على كلّ من الـ:Windows و الـ:Mac و الـ:Linux .
2- الأكثر شهرة على الويندوز هو الـ: Visual C++ ، أوبس ليس مجانيا ! بل و باهش الثمن ! لكن الحمد لله هناك نسخة أخرى منه تدعى Visual C++ Express  و هي ممتازة جدّا، بينها و بين النسخة الأولى فوارق طفيفة فقط، النسخة كاملة جدّا و بها المكتشف الجيد . يشتغل على الـ:Windows فقط !
3- بقي لنا نظام Mac OS X، يمكنكم أن تستخدموا فيه الـ:XCode، يفترض أن تجده مع قرص تسطيب النظام، يناسب كثيرا المبرمجين على الـ:Mac . يشتغل بطبيعة الحال على الـ: Mac OS X فقط .
- ملاحظة لمستخدمى Linux : هناك الكثير من الـ:IDE الخااصة بالنظام، هناك مبرمجين لهم خبرة سابقة، يفهمون اللغة المزدوجة و يتركون الـ:IDE على جنب ليترجموا بنفسهم و يتخلوا على المصنف كذلك، هذا أمر صعب لكن إذا تعلمتم اللغتين جيدا سيكون لكم وقتا للتعرف على لغة الحاسب الغة المزدوجة، سنبدء هذه المرة استخدامات الـ:IDE و أرجوا من كلّ تلميذ تحميل الـ: Code::Blocks  كي يتوافق مع تطبيقاتي و تعليماتى .
- من الأحسن من بين كلّ هذه الـ:IDE ؟كلّ من الـ:IDE التي ذكرتها تقوم بنفس المنهاج، تبرمج عليها بنفس الطريقة و يمكنكم المتابعة بها دون أي مشكل، هناك من لها كمالية أكثر من ناحية الخصائص و هناك من هي حدسية أكثر، لكن يبقى العمل نفسه ، بالنسبة لى منذ بدأت الدخول في المجال اعتمدت الـ:Code::Blocks ، إن أردتم الحصول على نفس نتائج التطبيقات مثلي حمّلوه هو دون غيره، على الأقل ريثما تكتسبون خبرة بالمجال.


- الـ:Code::Blocks للـ:Windows و الـ: Mac OS و الـ: Linux :
كما قلت ، الـ:Code::Blocks هو IDE ملائم جدا، مجاني و يشتغل على الـ:Windows و الـ: Mac OS و الـ: Linux . لغته المتوفرة حاليا هي الانجليزية، و لا تهلعوا للغة فبامكاننا أن نفهمها لأنها ليست هي المهمة بل الـ:C ، و السبب الآخر الذي يجعلنا نقتنع بدراسة تلك اللغة هي أن معظم الملفات التي تخص البرمجة بهذه اللغة.
- تحميل الـ:Code::Blocks :
تفضّلوا إلى هذا الرابط، اختاروا النظام الذي تعتمدونه و قوموا بالتحميل و التسطيب . : من : هـــنـا .
2-  إن كنتم من مستخدمى الـ:Linux فاختاروا الحزمة الخاصة بتوزيعكم المعتمد بالجهاز.
3- في الـ:Mac ، قوموا باختيار الملف الأخير الذي يحمل اسم : codeblocks-8.02-p2-mac.zip.
أكرر مجددا : إن كنتم من مستخدمى نظام الويندوز ، اختاروا البرنامج الذي في اسمع عبارة mingw كـ:codeblocks-8.02mingw-setup.exe ، لأنكم إن اخترتم البرنامج الخطأ لن تستطيعوا تحقيق أي تطبيق من دروسي !
Code::Blocks


التسطيب سهل و الكلّ يعرف كيف يسطب البرنامج .
 الآن واجهة البرنامج :
Code Blocks
نميّز أربعة أقسام رئيسية بواجهة البرنامج :
1- شريط الأدوات أو barre d'outils : بها الكثير من الأيقونات المهمّة، لن نستعمل منها إلا القليل ، سأرجع لهذا فيما بعد.
2- قائمة ملفات المشروع : توجد بيسار النافذة، تحتوى على كلّ ملفات السورس المتعلقة بالبرنامج الذي تعمل عليه . و بما أنها فارغة حسب ما يظهر في الصورة هذا دليل على عدم وجود مصادر سورس في اللائحة لحدّ الآن، سنملأها بعد حوالى 5 دقائق فتابع الدرس.
3- المنطقة الرئيسية : هنا المساحة التي تكتب فيها الكودسورس للغتك الـ:C
4- منطقة البيان و يسميها المبرمجون : منطقة الموت، و هي المنطقة التي تعرض لك الأخطاء التي وقعت فيها أثناء كتابتك للكود سورس، طبعا متسلسلة بانتظام .

ما يهمّنا الآن هو منطقة معيّنة خاصة من شريط الأدوات، عناوين الأيقونات فيها بالترتيب هي : Compile،Exécute،Compile& Exécute،Recompile everything . سنحاول الإستفادة منها بشكل منتظم بحول الله.
1-Compile : كل الكود سورس الخاصة ببرنامجكم ستبعث لمصنف يقوم بالترجمة ثم يستخرج لنا الـ: Code::Blocks  ملفا قابل للتنفيذ أو بالأحرى ملف تنفيذي. لكن إن اقترفت خطأ في الكتابة لن يترجم لك المصنف شيئا و ستظهر الأخطاء في منطقة البيان .
2- Exécute : تقوم بتشغيل آخر ملف تنفيذي قمت بكتابة الكود السورس الخاص به. و هذا عندما تريد تجريب البرنامج قبل الانتهاء منه. و لو كنت تتتبعني جيّدا كنت ستعرف بنفسك أنه قبل التشغيل Exécute يجب الترجمة Compile . و لكى نجرب ما توصلنا إليه نظغط على الأيقونة 3 .
3- Compile & Exécute : لن تحتاج عبقرية زائدة لتعرف ماذا يمثل جمع وظيفتي الأيقونتين السابقتين، أضيفوا لمعلوماتكم أنها الأيقونة التي سنكثر من استخدامها أكثر من باقيها، و أكرر ثانية بأنه إذا اقترفتم خطأ في وضع الكود سورس لن يتم ترجمة الأكواد و لا تشغيل البرنامج ! بل سيكون عليكم تصحيح قائمة من الأكواد التي سبق و أخطأتم فيها .
4- Recompile everything : عندما نقوم بالـ:"ترجمة"، Code::Blocks  لن يقوم بتشغيل سوى الملفات التي عّدلتم عليها أو أضفتموها. أحيانا فقط، تظطرون بأمر الـ:Code::Blocks  بترجمة و تشغيل كلّ شيء Recompile everything  ، و سأريكم لاحقا أين نحتاج هذه الأيقونة، لن أظغط كثيرا من المعلومات عليكم كي لا تتشابك الأمور عليكم . و بالتالى فاعتبروا أن هذه الأيقونة غير مفيدة بالوقت الحالي .

نصيحة و ملاحظة : اعلموا أن المبرمج المحترف قد يصل به الأمر للبرمجة دون رؤية الشاشة و بالتالي كي يقوم بالترجمة و التشغيل في كلّ مرة لن يضع يده في الفأرة و يضيع وقتا في النقر على الأيقونة، بمعنى أوضح سأعلمكم إختصارا للأمر : Compile & Exécute ( الذي نحتاجه أكثر من غيره ) ، لذا للقيام به إظغطوا على F9 .
- بداية مشروع جديد :
كي تبدأ مشروعا جديدا، توجه نحو :  File / New / Project ، ستظهر لك نافذة اختر منها  "Console application" .
Nouveau projet
كما تلاحظون، برنامج الـ:Code::Blocks  يسمح بالعمل على أنماط كثيرة من البرامج المختلفة، منها التي تعمل بمكتبات مشهورة كالـ:SDL للـ:2D و ألـ: OpenGL  للـ:3D و الـ:Qt و wxWidgets  للـ:نوافذ .. إلخ، هذه المكتبات غير مسطبة على جهازكم بعد . و بهذا لا يمكنكم جعلها تعمل. سأعود لهذه النقطة و أشرحها جيدا في درس لاحق، سنبدأ أوّلا بالـ:"Console",  لأنكم غير قادرين في الوقت الراهن على استخدام انماط أخرى من البرامج.
أنقر على  "Go" للشروع في المشروع الجديد، 
أنقر على  "Next",  فالصفحة الأولى ليس بها شيئا مهما.
بعدها سيأتيك اختيار بين لغتي الـ:C أو الـ:C++ ، اختر الـ:C
Nouveau projet
سيطلب منك الآن أن تدخل اسم المشروع، و كذا المسرى الذي تختاره كي يتسطب فيه .
Nouveau projet
آخر خطوة تطلب منكم هي ، كيف ينبغى أن يترجم البرنامج، يمكنكم ترك الاختيارات ' par défaut ' أي على حالها، لن يكون لهذا أي تأثير على ما سنقوم به الآن، قوموا بتحديد زر "Release" .
Nouveau projet
إظغط على Finish ، إنتهى ! . ماالذي قمنا به الآن يا ترى ؟ لقد قام البرنامج Code::Blocks  بفتح مشروع جديد لنا مع احتواءه بعض الكود سورس التي سنحتاجها .
في الخانة الخاصة بالمشاريع على اليسار، إظغطوا على '+' لتوسيعها قليلا، و تظهر قائمة الملفات في المشروع، إنتهى !

- Visual C++ ( للـ: Windows فقط )
تذكيرات قليلة بالبرنامج Visual C++ : 
1- إنها الـ:IDE الخاصة بـ:Microsoft
2- تدفع من أجله نقود، لكن مايكروسوفت أنتجت نسخة مجانية جديدة Visual C++ Express.
3- يمكن للبرنامج أن يعمل على اللغتين C/C++ و ليس فقط C++ كما يظهر بإسمه .
طبعا ستقومون بتحميل النسخة المجانية Visual C++ Express :
Visual C++ Express
( صورة من واجهة البرنامج )
- ما الفرق بين هذه النسخة و النسخة الأصلية Visual يا ترى ؟لا يحتوى على محرر نصوص، يطلب منك إنجاز رسومات أو أيقونات أو نوافذ، لا تقلقوا لن تحتاجوا إليه معي.
تحميل البرنامج Visual C++ Express  من : هنا
1- إختاروا C++ Express Français  في أسفل الصفحة قليلا . سيكون باللغة الفرنسية و مجانى طبعا. و هو كفئ بصفته IDE .
- التسطيب :
التسطيب سهل، كل واحد يعرف ذلك، سيقوم البرنامج تقائيا بتحميل آخر تعديل للنسخة من الأنترنت، أنصحكم أن لا تعبثوا بالإعدادات أثناء التسطيب و اتركوها دائما ' par défaut ' . بعد ذلك سيُطلب منك التسجيل في غضون 30 يوما، لا تقلقوا، إنه سريع و مجاني لكن وجب القيام به، إظغطوا على الرابط الذي تم إعطاؤه لكم، ستدخلون موقع  Microsoft، و للتسجيل فيه وجب وضع الهوتمايل الخاص بكم، فإن لم يكن لكم واحد إصنعوه، أجيبوا بعد ذلك على الأسئلة هناك، سيتم إعطاؤكم في النهاية مفتاح تفعيل ، قوموا بنقله إلى الـ:Menu "?" / "Inscrire le produit". .
- إنشاء مشروع جديد : لفعل ذلك ، أدخوا إلى Fichier / Nouveau / Projet ، إختاروا "Win32" في الخانة على اليسار، ثم "Application console Win32" على اليمين.
ضعوا إسما لمشروعكم الجديد، مثلا  "test" :
Visual C++ Express
ستظهر لكم نافذة جديدة، قوموا بتفعيلها : هذه النافذة لن تفيد بشيء،
Visual C++ Express
  إظغطوا على  "Paramètres de l'application" في الخانة اليسرى :
Visual C++ Express
قوموا باختيار "Projet vide" كما في الصورة أدناه ثم على Terminer .
- إضافة ملف سورس جديد :
مشروعكم لحدّ الآن فارغ، إظغطوا باليمين على "Fichiers sources" في اليسار، ثم إلى Ajouter / Nouvel élément :
Visual C++ Express
ستظهر نافذة، إختاروا "Fichier C++ (.cpp)"  ، ( أنا أعلم لن نبدأ بالـ:C++ لكن ليس هذا بالمهم هنا ) ، ضعوا اسما لملفكم : "main.c" كما هنا :
Visual C++ Express
أنقروا على  "Ajouter".  و انتهى الأمر، بامكانكم الآن كتابة أي كود سورس !

- النافذة الرئيسية للـ:Visual :
كما نرى جميعا أهم الأقسام بالبرنامج  Visual C++ Express  :
Visual C++ Express
سأشرحه لكم هو أيضا : 
1- شريط الأدوات : فيه أيقونات اعتيادية كـ: Ouvrir, enregistrer, enregistrer tout, couper, copier, coller إلخ، و كما ترون لا توجد أيقونة للترجمة compiler ، بامكانكم إضافتها بالنفر باليمين على هذا الشريط ، ثم  "Déboguer" و  "Générer" في القائمة . "Générer" تظغط عليها عندما تريد أن تنشأ ملفا تنفيذيا  (و هذا يعنى "Compiler - ترجم " بالنسبة للـ:  Visual). ، أما "Déboguer" فهي لاكتشاف الأخطاء . عند الظغط على  "Déboguer / Exécuter" يجب عليك أن تقترح الترجمة قبل التشغيل . الإختصارات هي :  F7  للترجمة و F5 للتشغيل .
2- هذه المساحة جدّ مهمّة ، إذ أنها تحتوى على الملفات الخاصة بمشروعكم، أنقروا على "Explorateur de solutions، ستلاحظون أنه تم إنشاء  سجلات جديدة كي تفرّق بين أنواع الملفات التي تستخدمونها و هي : (sources و en-tête  و ressources). سنتعرف لاحقا على مختلف أنواع الملفات التي تكوّن مشروع .
3- المساحة الرئيسية و التي نكتب فيها الكودسورس و التعديل عليها.
4- هي منطقة الموت، ستظهر فيها أخطاء الترجمة، و هي في أسفل الشاشة. الشيء الجيد هنا هو أن الـ:Visual يعطيك طرقا لتصحيح الأخطاء، و بهذا أحب أن أترجم به. سأعلمكم كيف تعملون به في وقت لاحق .
-  Xcode ( للـ: Mac OS فقط ) :
هناك الكثير من الـ:IDE  المتوافقة مع الـ::Mac  على غرار الـ:Code::Blocks  طبعا ، سأقدم لكم الـ:IDE الأكثر شهرة للماك و هو الـ: Xcode . هذه صفحة تعليمية شاملة للبرنامج على موقع  LogicielMac.com .
- Xcode ، أين أنت ؟كلّ مستخدمى الـ:Mac OS  ليسوا مبرمجين، لهذا لهم الفرصة لتعلم البرمجة ، يمكنكم إيجاد البرنامج في القرص الخاص بالنظام . هذا الموقع فيه كل المعلموات الخاصة بتطوير الـ:Mac إن أردتم الإطّلاع عليه . يمكنكم الحصول على كثير من البرامج الخاصة بتطويره و لا تترددوا في التسجيل بالـ:ADC ، الإختصار لـ:Apple Development Connection إنه مجاني و يساعدكم على تتبع كل جديد .
- إنطلاق Xcode :
عندما تفتحون الـ:XCode لأول مرة ستتفاجؤون و هناك سبب وجيه، في معظم برامح الـ:Mac لا تخرج لك نافذة تحرب بك في البرنامج، على أي حال تبدو النافذة فارغة كثيرا لكن البرنامج له قدرات عالية فلا تحكموا من المظاهر .
الـ:Xcode هو الـ:IDE الأكثر استخداما في الـ:Mac ، مصنوع من الشركة Apple نفسها، و معظم أشهر البرامج كـ:iPhoto و Keynote مبرمجة فيه.
أول شيء سنقوم به هو انشاء مشروع جديد، لنبدأ بهذا إذن :
أدخل إلى File / New Project، ستخرج لك النافذة التالية ( أو ربما نافذة أخرى لكن لا تقلق هذا راجع لتغير النسخة فقط ) :
xCode accueil
(صورة للنسخة القديمة )
Accueil xCode
(صورة للنسخة الجديدة)
إذا كانت لديك النسخة القديمة إذهب إلى "Command line utility" و اختر "Standard tool"
إذا كانت لديك نسخة جديدة إذهب إلى "Application" و اختر  "Command Line Tool".
إظغط الآن على Next و سيطلب منك تحديد مسار حفظ المشروع، اختره ثم اختر اسمه أيضا، بعدما يتم إنشاؤه، سيتم تقديم المشروع على شكل سجل يحتوى العديد من الملفات في الباحث، ملف التمديد xcodeproj يقابل ملف المشروع إنه الملف الذي عليكم اختياره مرة أخرى لإعادة فتح مشروعكم.
- نافذة التطوير :
في الـ:Xcode عندما تختارون main.c تظهر لكم النافذة التالية :
Image utilisateur
الواجهة مقسمة إلى أربعة أقسام، مرقمة من 1 إلى 4 :
1- المنطقة الأولى، هي شريط الأزرار في الأعلى، يمكنك التعديل عليه كما تريد، من أهم الأزرار التي فيه التالي :

هذه الأيقونات هي بالترتيب:
1- "Project" : هنا ترى ملفاتك الخاصة و التي عدّلت عليها 
2- "Build" : هنا تجد نتائج ترجمة البرنامج التي تعمل عليه،  و الأخطاء إن ارتكبتها .
3- "Debug" : هنا تتعرف على أساليب تصحيح أخطائك واحدة بواحدة .


هذه الأيقونات هي بالترتيب:
"Build" : تعنى ترجمة برنامجك 
"Build and Go"  و هو الزر الذي تستخدومه في أغلب الأحيان، ترجمة البرنامج و الإنطلاق في تجريبه.
2- المنطقة على اليسار مخصصة لشجرة مشروعك الخاص، بعض المقاطع و الأجزاء فيها تتضمن أخطاء . لكن الـ:Xcode سيضعكم في المقطع الأهم و المفيد، و هو الذي يحمل الإسم في المشروع
3- الجزء الثالث يقوم بالتغيير الوظيفي على حسب ما قمت بتحديده في الجانب الأيسر . و هنا نجد أسماء الملفات الخاصة بالمشروع : 
1/ main.c : و هو الكود سورس الخاص ببرنامجكم الذي تعملون عليه
2/ Mon_Premier_Programme  : و هو البرنامج بعد الترجمة، و هذا يعنى قابل للتشغيل، إذا كان الملف بالأحمر، يعنى هذا أنه غير متواجد بعد ( يعنى لم تترجموا برنامجكم الخاص بعد ، لكن الـ:Xcode لا زال كمرجع ) 
3/Mon_Premier_Programme.l : هو برنامجكم مقدّم بلغة التجميع . 

4- أخيرا المنطقة الرابعة و الأهم، و هي التي تكتبون فيها الكودسورس بلغة الـ:c، و كما تلاحظون فالبرنامج Xcode يظهر عبارة افتراضية تلقائية  "Hello, world!"  في الشاشة .
- إطلاق البرنامج :
لتجريب البرنامج، إظفط على الأيقونة  "Build and Go" في شريط الأدوات، يفترض بالواجهة أن تكون كهذه :
Image utilisateur
1- إنها الأيقونات التي تسمح بتغيير الصفحة . مثلما رأينا الآن، إذا أردتم الرجوع للصفحة الرئيسية إظغطوا على  "Project" .
2- إنه الهدف، الملف الذي يوحد السورس المترجمة .
3- تشغيل تطبيقكم
4- نظام الترجمة و يمكن أن يكون :
-Debug  : كما تعرفون يعطيكم كيفيات لتصحيح أخطائكم المستخدمة أثناء تركيب الكود سورس .
-Release  : لا يستخدم إلا في النهاية ، يمثل فيه البرنامج Xcode التطبيق النهائي للعمل و الذي بامكانك رفعه أو اعطاءه لأي شخص لتجريبه .
5- هذين الزرين يشغلان البرنامج بطريقة مباشرة Run أو طريقة "Debug" لتنفيذ البرنامج تعليمة بتعليمة، وهذا من أجل تصحيح الأخطاء المرتكبة، لا تستخدموا "Debug" إلا إذا كانت في برامجكم أخطاء، عموما هذا ليس مهما حاليا .
6- قائمة ملفات مشروعكم الخاص.
7- محرر الكودسورس. كما رأينا الآن.
8- الـ:Consol هنا سيتم تشغيل البرنامج الخاص بك.
9- الزرين "Build" و "Run" يساعدانك من الانتقال من : الترجمة إلى التشغيل. من الواضح أنه من الأول Build ستعرف مختلف المراحل التي مررت أثناؤ الترجمة. بينما الثاني Run ستعرف من خلاله ماذا أظهر برنامجكم عندما تم تشغيله .
- إضافة ملف جديد :
في البداية لن يكون لكم سوى ملف سورس واحد و هو main.c ، لاحقا عندما نتقدم في الدروس سأطلب منكم صنع ملفات سورس بأنفسكم. كي تصنعون ملفا جديدا بالـ: Xcode إذهبوا نحو :  "File / New File".
سيطلب منكم ادخال نوع الملف الذي تريدون انشاءه، اذهبوا للـ:BSD و اختاروا  "C File" .
Image utilisateur

ستختارون اسما لمشروعكم الخاص، صيغته يجب أن تبقى .c ، هناك أيضا انواع من صيغة .h لتفعيلها قوموا بتحديد العبارة :  "Also create fichier.h" .  على أي حال لن تهمنا حاليا، اظغط على "Finish". انتهى! أصبح في مشروعك ملف آخر غير الملف main.c ، هنيئا أنتم الآن جاهزين للبرمجة على الـ:Mac .


  • كتلخيص للدرس، لقد قمنا اليوم بإلقاء نظرة حول أهم الـ:IDE و أشهرها، لا تنسوا بأنه هناك أخرى لا تمنعكم من استخدامها أو تفضيلها عن باقيها، لكنى اخترت لكم المفضلين عندى في كل من الويتدوز، اللينكس و الماك، و يعتبر هذا الدرس بوابتكم الأولى لدخول عالم البرمجة باللغتين C/C++ . آمل أن تكونوا قد استفد
  • تعلّم لغة الـ:C من الصفر

    ::الفهرس::
    ملخص المجال : 1. من هو المبرمج ؟
    2. البرمجة، بأي لغة يا ترى ؟
    3. هل البرمجة صعبة ؟
    4. تمرين .

    من هو المبرمج ؟ لن أتعبكم و اعطيكم أصل كلمة "programmer" ، لكننى سأختصر كل شيء في جملة : البرمجة تعني صنع برامج كومبيوتر . و هذه البرامج التي تصنعها تأمر الجهاز بالقيام بإجراءات و أفعال معيّنة .
    جهازك الخاص يحتوى على كثير من هذه البرامج و بمختلف أنواعها :
    - الآلة الحاسبة هي أحد البرامج.
    - معالج النصوص هو أحد البرامج.
    - برنامج محادثتك MSN هو أحد البرامج.
    - ألعاب الفيديو برامج كذلك .
    باختصار ، البرامج موجودة في كلّ جهاز تعرفه، و هي التي تعطي للكومبيوتر بداهته في التصرف مع مختلف الأعراض التي تحول إليه، و هذا يوضح ذكاء الكومبيوتر الخارق، يمكنك أن تصنع أي برنامج تشفير من هذه البرامج و كذا صنع لعبة 3D أو 2D من أي نوع كانت .
    Image utilisateur
    أشهر لعبة Half-Life 2 مبرمجة بلغة الـ: C++
    ملاحظة : لم أقل أن صنع لعبة يتطلب إغماض العين و فتحها، لكن أذكركم بأن صنع لعبة يتطلب عملا و جهدا كبيرين و صبرا كثيرا !

    لن أدخل مباشرة في درس برمجة لعبة 3D لأن الدخول إلى ذلك يتطلب العبور بمراحل قاعدية ، سهلة و بسيطة جدّا و أوّلها كيفية إظهار نص معين بالشاشة .. طبعا ستقولون مادخل هذا بصنع الألعاب لكن وجب الوثوق بي . لأنى ساعلمكم أشياء تافهة تعتبر قاعدة البرمجة و بدونها لا يمكنكم الإنطلاق في صنع برنامج. هدف هذا المجال هو أن أعرّفكم على كلّ شيء يتعلق باللغتين كي تتعاملوا مع أب نوع من البرامج كان ، المهم مبرمج بإحدى اللغتين .

    البرمجة، بأي لغة يا ترى ؟جهازك الخاص هو آلة غريبة جدّا، لأننا غالبا ما نتعامل معها أثناء البرمجة بالأرقام ، فمثلا أنا إذا طلبت منه حساب  3 + 5 بلغة الكومبيوتر خاصته ( أثناء البرمجة مثلا )، يعطيني نتائج أعرفها أنا ( التي أبرمج عليه ) لكن لا يفهمها أحد آخر لأنها داخلة في نطاق لغة الكومبيوتر و البرمجة كما قلت! مثلا يعطيني إجابة : 0010110110010011010011110 .. لا تتفاجؤوا أنا عائدة إليكم .

    كما ذكرت للكومبيوتر لغته الخاصة نسميها اللغة الثنائية المزدوجة ( إحفظوا هذا المصطلح جيدا ! )
    مشكلتنا الآن، كيف يمكننا التعامل مع جهازنا بطريقة أسهل من اللغة المزدوجة ؟ هل من وسيط يا ترى ؟
    جهازك الخاص لا يفهم الإنجليزية و لا الفرنسية بل يفهم هذه اللغة فقط،، لهذا طوّره بعد المكتشفين ووضعوا فيه جهاز ترجمة ذاتي ( يترجم لغات البرمجة المختلفة إلى لغة الحاسب ) يقوم بتحليل اللغة البرمجة العادية ( كالـ:C مثلا ) ثم يترجمها إلى لغة الجهاز المزدوجة فيفهمها و يقوم بصنع البرنامج . فبهذا بدل أن يدرس كلّ مبرمج لغة الحاسب المعقّدة، يمكنه تعلّم أحد اللغات الأخرى و التي تعتبر أسهل بكثير من الأولى !
    تكتب البرنامج بلغة مبسّطة ( أحسب 5+3) --> يترجمها المترجم إلى لغة مزدوجة --> ينفذ الجهاز بنتيجة 0010110110010011010011110
    قليل من المفردات !
    كلّ ما تحدّثت به سابقا كان بالبسيط، لكن يجب أن تعلموا بأنه في المعلومات هناك مصطلحات علمية لكل شيء ذكرته من قبل. و هذه فرصتكم مع الدورة لتعلم مصطلحات و مفردات جديدة و بالتالى فعند تحدّثكم مع مبرمج كفائته عالية تفهمون ما يقول.
    نرجع لآخر نقطة وصلنا لها قبل قليل، قلنا بأن البرنامج الذي تعمل عليه يُكتب بلغة مبسّطة، هذه اللغة نسميها في البرمجة باللغة عالية المستوى  ، هناك مستويات عديدة في لغات البرمجة ، و أسهلهم في التعامل هي اللغة عالية المستوى . لا تفرحوا كثيرا لأن لهذا المستوى سلبيات سنتعرّفت عليها مستقبلا.

    هناك العديد من لغات البرمجة ذات المستويات المختلفة ، أشهرها:

  •  C
  •  C++
  • Java
  • Visual Basic
  • Delphi
  • و العديد العديد كما تلاحظون لم أرتب لكم مستوياتها و لم أذكرها، لكن ألا تتخيّلون كذلك بأن الأول بالقائمة أسهل بالكثير من الأخير بها ؟ عموما تبقى اللائحة طويلة و المستويات كثيرة. و بما أنكم مبتدءون سنبدء بالأسهل C إلى أن نصل الى الـ: C++ و نعرف الفرق بينهما.

    مصطلح آخر سأريكم إياه و هو : كود السورس  ، هو ببساطة الكود الخاص ببرنامجكم الذي تبرمجونه بلغة عالية المستوى ، نفهم من هذا أن المبرمج هو من يكتب الكود سورس و المترجم يحوله إلى لغة الحاسب المزدوجة و يطبّق الأوامر.

    نرجع إلى " المترجم التلقائي " ، الذي يحول اللغة عالية مستوى ( كالـ:C و الـ:C++ ) إلى لغة مزدوجة، نسميه ببساطة المترجم أو المصنف . و الترجمة هي التصنيف  .
    ملاحظة هامة : هناك أنواع متعددة من المصنفات، كلّ واحد يختص بترجمة لغة معيّنة من مستوى معين !

    للغتين C و الـ:C++ في حدّ ذاتهما مصنفات عديدة، فهناك الذي يكتب من الـ:Microsoft و هناك من الـ:GNU ..إلخ. سنتعرّفت على كلّ هذا في المجال القادم .
    لحسن الحظ هذه المصنفات تقريبا متطابقة، و هناك اختلافات طفيفة بينها، نتعرف عليها لاحقا .

    أخيرا، البرنامج المزدوج المبرمج من طرف المصنّف نسميه : القابل للتنفيذ أو التعديل، هذا ما يفسّر وجود معظم البرامج بصيغة ".exe" و التي هي مشتقة من كلمة فرنسية هي : EXEcutable بمعنى القابل للتنفيذ .

    تبرمج بلغة عالية المستوى ( أحسب 5+3) --> المصنف --> برنامج قابل للتنفيذ في الويندوز 0010110110010011010011110
    لماذا نختار تعلّم لغتي الـ:C و الـ: C++ ؟
    مثلما قلت لكم في الأعلى، هناك الكثير من اللغات عالية المستوى، فهل ينبغى لنا أن نبدأ بإحداهما على وجه الخصوص ؟ سؤال عظيم !
    على أي حال يجب أن نختار بأي لغة سنبدء البرمجة عاجلا أم آجلا، و بالتالى لديك الخيار في إختيار البدء بـ:
    1- لغة ذات مستوى عالي جدّا : سهلة للاستخدام أو " عامة " ، من بينها لغة Python، Ruby، Visual Basic و آخرين .. هذه الغات تسمح بكتابة البرنامج بشكل أسرع، و يجب أن ترفق لها ملفات مساعدة قابلة للتنفيذ كملف الـ:" الشل " .
    2- لغة بمستوى منخفضة المستوى عن الأولى بقليل: ( فريق المستوى بينهما ليس كبير ! ) : التعامل مع هذه اللغات أصعب بقليل. فلهذا مع لغة مثل الـ:C أو C++ ستتعلّم الكثير من الأمور البرمجة و تكتشف سير عمل كمبيوترك الخاص ! و هذا ما جعلنى أختار لكم هذه اللغة، و خصوصا أنه إذا أتقنتموها سيصبح من السهل تعلم أي لغة كانت و من أي مستوى .
    و كمعلومة، معظم البرامج التي تعرفونها و تستخدمونها مبرمجة بهتين اللغتين C و C++ ، إذا هما لغتان عاميتان .
    كلّ هذا يجعلنى أتحمس أكثر لتعليمكن هذه اللغة قبل أخرى، لا أقول بأنه لا يمكن البدء بلغة أخرى لكن أذكر بأنه الإختيار الأمثل للدخول في هذا المجال.
    أثرثر كثيرا لكن أعرف ما أقوله فهذا يرسّخ المعلومات في رأس المتعلّم، هناك منكم من هو مثقف قليلا بالبرمجة لكن لابأس إذا أعاد من الصفر ليثبّت معلوماته أكثر .
    - توقفي ! أنا سأتعلّم لغة تسمى  "C / C++" أو لغتين إحداهما تسمى C و الأخرى C++ ؟؟
    ببساطة، ستتعلمون لغتين مختلفتين معى، لكن لا تقلقوا لن أضاعف لكم العمل! بل بالتسلسل، سأشرح، اللغتين C و C++ هما لغتان تقريبا متماثلتان، فعندما أقصدهما بكلامى معا ، أكتبهما بالشكل  "C / C++" .
    هذا ما ينقص لتعرفوه عن الاختلافات بينهما، قبل أن نمضى بطبيعة الحال :
    1- أولا و عند بداية تطور هذا المجال، أي تعلمنا أن نقيس أطوال بيوتنا بالحاسب، تم اختراع لغة برمجة نسميها Algol .
    2- بعدها، تطورت الأمور أكثر و تم اختراع لغة CPL التي تطورت بحد ذاتها إلى الـ: BCPL ثم أخذت إسم اللغة B ( إن لم تفهموا ما أعنيه فلا عليكم إذ أننى أعطيكم بعضا من الثقافة التي أكتسبها لا أكثر )
    3- مع مضي الزمن توصل الخبراء إلى لغة الـ:C، التي كانت معدّلة بشكل كبير، و بقيت لحد الآن من أكثر اللغات شعبية.
    4- تقدم الزمن أكثر، أردنا أن نضيف أشياء جديدة للغة C ، يمكننا أن نسيه نوعا من التحسن، و النتيجة سميناها بما يعرف بلغة الـ:C++ ، هذه الأخيرة أساسها و قاعدتها الأساسية هي لغة الـ:C .. و بهذا نتوصل إلى أن الـ:C++ هي تطوير للغة الـ:C ، أطلعكم على التطوّرات في درس لاحق.

    هناك طرق متعددة لتعلم البرمجة، قلتها لكم سابقا، البعض يعتقد بأنه من الجيد تدريس مباشرة لغة C++ لكن هذا بالامر الصعب على المتعلم و على الشارح .. بالنسبة لي، سأخلط كلّ شيء في بعضه البعض و أدرّس اللغتين معاً، و بهذا نرتب الفهرس هكذا :
    - لغة C
    - لغة C++
    إذا تعلّمنا جيدا لغة الـ:C و ننتقل إلى الـ:C++ ستسهل الأمور علينا كثيرا و نتعلم الثانية بسرعة، أنا لن أطلعكم على كل أساسيات الـ:C لكن سأطلعكم على كل التغييرات و الإضافات التي تم إجراؤها على اللغة .
    لكى لا يكون هناك أي سوء تفاهم، لغة الـ:C++ ليست الأحسن من الـ:C ، فقط البرمجة بهما مختلفة، و الثانية أسرع .
    ليس لأن لعبة Half Life برمجت بلغة C++ يعني أنه لبرمجة لعبة احترافية وجب تلك اللغة، و كما أن لغة الـ:C ليست لغة عجوز من عهد قديم، لا بل هي من الأكثر استخداما في هذا العصر، و التي تعتبر أساس الكثير من أنظمة التشغيل كـ: Linux  و Mac OS و Windows . و بهذا فاللغتين مكملتين لبعضهما البعض .
    البرمجة، صعبة يا ترى ؟
    هذا سؤال يعذب أرواحكم جميعا، فهل وجب أن تكون عقلا مفكّرا بالرياضيات كي تستطيع الشروع في تعلم البرمجة ؟ الجواب هو : لا بطبيعة الحال.
    سأسهل عليكم الأمرو أعطيكم ما يجب أن تدركوه في الرياضيات حتى تستطيعون الشروع في البرمجة :
    1- الجمع
    2- الطرح
    3- القسمة
    4- الضرب
    أعتقد بأنكم تعرفون القيام بكل ذلك، سأشرح لكم في مجال قادم، كيف يقوم الحاسب بتنفيذ هذه العمليات الأساسية.
    هناك أشياء أخرى يجب أن تتعلمها في المادة الرياضية، تعتمد على نوع البرمجة الذي ستقوم بها، فإن كنت ستبرمج برنامجا ببرمجيات التشفير cryptage، يجب أن تعرف بعض الأشياء. و إن كنت مثلا ستبرمج برنامجا يعتمد ثلاثيات الأبعاد يجب أن تتعلّم مجال : الهندسة الفضائية.
    على العموم سنحوال التبسيط في هذه الدروس قدر المستطاع لتجنب الوقوع في هذه التعقيدات.
    - إذا أين هو الفخ ؟ و أين تكمن الصعوبة ؟يجب أن تعرفوا كيف يعمل جهازكم الخاص، هذا من وجهة نظرى، لكن لا تقلق سأعلّمك ذلك طبعا .

    المبرمج له صفات أيضت كـ:
    1- الصبر : إذا لم تكن صبورا فأنصحك عدم دخول المجال لأنك ستتعرض كثيرا لخيبات الأمل و ستعاود العمل من جديد .
    2- حسّ المنطق : صحيح قلت ليس مهما أن تكون قويا بالرياضيات، لكن يجب أن تحلل بمنطقك و تكون ذكيا على الأقل !
    3- الهدوء: كي يعمل البرنامج الذي تبرمجه، لا يجب أن تكون عصبيا و تضرب الجهاز و ماشابه لأنك ستوتر نفسك فقط و البرنامج يبقى على حاله!

    وأخيرا أقول بأن السيّء بالرياضيات يمكنه أن يتعلم البرمجة بشكل عادي جدا، فقط يجب أن يكون ذكيا و صبورا و هادئا حينها كل شيء سيفتح أمامه و يصل لمراده بحول الله ، هكذا ينتهى المجال الأول ، أو الدرس الأول لو صح القول في البرمجة ، آمل أن تستفيدوا و لا تنسوا متابعة باقي الدروس! ، سأستجوب فهمكم ببضعة اسئلة في الرد التالي، كي أعرف من فهم الدرس و من لم يفهم .

  • دورة جوملا 3 - صمم موقعك



    بسم الله الرحمن الرحيم
    السلام عليكم ورحمة الله وبركاته
     
    دورة جوملا 3
     
     

    مقدمة
    هده دورة شاملة عن نظام جوملا من التنصيب حتى الاحتراف تابعوها كاملة و لا تفرطوا في اي درس و شاهدوا او حملوا الدروس بجودة hd من اجل متابعة جيدة و ممتعة .

    1. ما هو نظام ادارة المحتوى جوملا ؟ 
     هي برنامج إدارة المحتوى المجاني أي متاح للجميع وهو الحائز على جائزة نظام إدارة المحتوى CMS الذي يمكنك من بناء موقعك من خلال العديد من التطبيقات القوية وبسهولة، مما جعلها الأكثر شعبية لعدة مواقعمختصة ببرمجة المواقع، وتوفر جملة مكتبة عامة وضخمة من التطبيقات التي لا تتطلب مهارة أو خبرة كبيرة مثل مكتبة كتب ومعرض صور والملفات الصوتية والمرئية ومخزن بيع والعديد...
      

    مميزات جوملا
    • سهولة التحكم في المقالات و الزوار و القوائم و المستخدمين و....
    • الدعم الدائم للنظام و العمل على تطويره
    • توفر القوالب و الاضافات المساعدة
    • امكانية انشاء اي نوع من المواقع يمكن انشاء مدونة .منتدى.موقع تجاري.موقع تواصل اجتماعي....
       

    المواقع المشهورة التي تستخدم جوملا

    • ebay
    • ikea
    • barnes and nobles
    هي كثيرة و لا استطيع دكرها كلها

    دروس الدورة

    اعد هده الدورة محمد على ما اظن من مصر



    على بركة الله

    [ دورة تعلم لغة أكشن سكربت 3 FLASH] -جزء1- الدرس 2.2 المتغيرات_تطبيق


     
     

    السلام عليكم و رحمة الله و بركاته
    مرحبا بكم في هذا الدرس الجديد من سلسلة دروس تعلم الاكشن سكربت 3 و سنعطي في هذا درس بعض الامثلة التطبيقية و التمارين

     
    في الدرس السابق تكلمنا باختصار عن الجانب النظري للمتغيرات 
     
    في هذا الدرس ان شاء سيكون تطبيق لما تعلمناه سابقا
     
     
     
     
     
     
     
    1.Affectation:  و نقصد بها  اخذ نفس قيمة متغير اخر مثلا

    var a:int = 2; 
    varb:int = 5; 
     b= a ;
     trace(b);
     

    سيكتب 2
    أي أن b  اخذ نفس قيمة المتغير aو التي هي 2 
    بصفة عامة عندما نكتب
    b= a;
    تعني " سآخذ ما يوجد في المتغير a و اضعه في b"
     
     
     
     
    2.MAX_VALUE / MIN_VALUE: 
     
    قبل اعطاء قيمة عددية للمتغير يجب التأكد من انها تنتمي الى مجال معين و للتعرف عليه نكتب الاتي
    trace(int.MIN_VALUE); 
     trace(int.MAX_VALUE);
     
     
    أنا يكتبلي
    -2147483648
    2147483647

    اي كل متغير من نوعintيجب ان تكون قيمته تنتمي الى هذا المجال 
    نفس الشئ بخصوصNumberوuint
     
     
     
     

    3.Casting:

    في الدرس السابق عملنا ملاحظة لما يكون متغير من نوع Number (مثلا) و نعطيه قيمة من نوع اخر (String مثلا) يتشكل لنا رسالة خطأ
     الطريقة الصحيحة لتخلص من هذا المشكل هو
     
    varmyVar1:Type=type(var_has_other_type);
     
     كمثال

    vara:int = 5;
    varb:String = "2";
    a=int(b);
    trace(a);
     

    يكتب 2 :)
     
    قام المترجم بتحويل "2" الى  2 اي من سلسلة حروف الى عدد طبيعي و اعطاها الى المتغير b 
     
    مثال 2

    var  a:int= int("cerine_dz");
    trace(a); 
     

     نحاول جعل هاته السلسة من الحروف عددا طبيعيا؟
     
    الا ان هذا غير منطقي طبعا و النتيجة يكتب لناNaN
     
    فلهذا يجب الحذر من هذا النوع من الاخطاء فالمترجم لن يشكل رسالة خطأ و انما يعطي قيمة للمتغير ! (و هي NaN)
    و عدم اكتشافها قد يسبب لكم في مشاكل و نتائج غير منتظرة

     
     
     
     
    4.العمليات الحسابية :
     
    للقيام بعملية حسابية لعددين سنتبع نفس الطريقة التي تعلمناها في المدرسة :)

    الجمع : +  
    الطرح: -
    الضرب: *
    القسمة: /
    باقي القسمة : %
     
     trace(5+1);
    يكتب 6
     
    trace(10%3);
    يكتب 1 لان باقي قسمة 10 على 3 = 1 
     
     
    أمثلة

     مثال 1:

    var integ:= 1+2;
     var integ2:int = -10;
    var result:Number = integ * integ2;
    result = result / 3;
    trace(result);
     
    سيكتب لنا -10
     الشرح
    integ:uint = 1+2 سيأخذ قيمة 3
    result  = integ * integ2  يـأخذ قيمة 3 * (-10) و هي -30
    result = result  / 3
    يأخذ قيمة -10 لان
     (-30) / 3 = -10
     
     

     2مثال

    var numb:Number = 3.5;
    var numb2:Number = 1.2; 
    var myInt :int = numb+numb2;   // سيتم تحويل العدد الحقيقي الى عدد طبيعي اوتوماتيكيا
    trace(myInt);
     

    يكتب   4 بالرغم ان numb+num2= 4.7
    أي انه يظهر فقط الجزء الطبيعي للعدد الحقيقي
     
     

     
    5. سلسلة الحروف:

    1.5.كما ذكرنا في الدرس السابقة فان سلسلة الحروف تكتب بين مزدوجتين لطباعة ما هو مكتوب تماما
    trace("startimes");
     
    يكتب startimes
     
    و اذا لم نضع المزدوجتين؟؟
     trace(startimes);

    سيظن المترجم ان هناك متغير اسمه startimes و اذا بحث عنه و لم يجده ستظهر رسالة الخطأ هذه 
    1120: Access of undefined property startimes.
     
    و في حالة ما اذا وجدها ؟ سيظهر قيمتها طبعا :) كما كنا نرى سابقا
     
    _____________________________
     
    2.5: 
    اذا اردنا أن نظهر المزدوجتين في الشاشة مثل هذا  
    hello "startimes"
     
    هل هذا الكود صحيح؟؟
    trace("hello"startimes"");
     
    الجواب هو خطأ  لان مع نهاية كلمة " hello" المترجم سيعبر ان سلسلة الحروف قد انتهت !
    من اجل حل هذا المشكل هناك طريقتين و هما

    trace("hello\"startimes\" ");
     or
    trace('Hello "startimes" ');
     
     
    ____________________________________
     

    3.5 : concatenation
     
    و نقصد بها الصاق كلمتين لتصبح كلمة واحدة  و للقيام بهذا نستعمل ببساطة "+" و كأننا نضيف الكلمة لكلمة اخرى
    trace("hello"+ " startimes" );
     
    يكتب hello startimes أي اننا قمنا بالصاق كلمة hello مع startimes لتصبح كلمة واحدة تم طباعتها بواسطة الدالة trace
     
    مثال
    var first:String = "Hello ";
    var sec:String = "Startimes ";
    var year:int= 2014;
     
    trace(first +"!"+ sep + sec + year);
     
    سيكتب لنا
    Hello !Startimes 2014
     
     
    __________________________
     

    4.5 بعض  الدوال و المتغيرات المهمة في سلاسل الحروف:
     
    طول (أو عدد أحرف) سلسلة:  length
     
    var hello:String= "Hello startimes";
     trace(hello.length);

    يكتب لنا  15 
     
    تحويل الى حروف كبيرة او صغيرة:

    var hello = "HeLLo StArTiMeS";
    trace(hello.toLowerCase());
    trace(hello.toUpperCase());
     
    الاولى ستقوم بتحويل كل الحروف الى احرف صغيرة 
     و الثانية الى احرف كبيرة 
     
     
    ____________________________
     

     البحث داخل سلسلة حروف:

     
    var ss:String = "hello";
    trace(ss.indexOf("e"));
    trace(ss.indexOf("a"));
     
    1 الاولى ستظهر 1 و تعني ان الحرف موجود في المركز
    0الترتيب يبدأ من
    h: مركزها 0
    e: 1
    l:2
    o:4
     
    لأن سلسلة الأحرف يمكن التعامل معها كالجدول (سنرى هذا لاحقا) 
    اما الثانية فالنتيجة -1 لانه غير موجود
     
     
     
    سأكتفي بهذا لان هذا الموضوع فعلا كبير المهم ان نتعلم الاساسيات اما التعمق اكثر فهذا يتطلب مجهوداتكم انتم ايضا و لكن سيكون سهلا جدا ان شاء الله بعد فهم هذه السلسلة
     
     
    لكن من لديه أسئلة فليطرحها

    [ دورة تعلم لغة أكشن سكربت 3 FLASH] -جزء1- الدرس 1.2 [المتغيرات]

     




     

    السلام عليكم و رحمة الله و بركاته
    مرحبا بكم في هذا الدرس الجديد من سلسلة دروس تعلم الاكشن سكربت 3 و سنتحدث في هذا الدرس عن طريقة انشاء المتغيرات و مختلف أنواعها
     
     

     
     
    Syntax:

    في كل لغة برمجية هناك العديد من انواع المتغيرات و لكل واحدة منهم طريقة معينة لانشائها (syntax)

    الطريقة الصحيحة لانشاء متغير في الفلاش هي :
    var name:type = value
    حيث var هي كلمة دلالية 
    name: اسم المتغير و لنا الحرية في اختياره و يجب ان لا يكون كلمة دلالية و يبدأ بحرف 
    type: و هو نوع المتغير (سنتكلم عن مختلف انواع المتغيرات)
    value: و هو قيمة المتغير اذا اردنا اعطاء قيمة للمتغير
     
    مثلا لو كتبنا 
       var myName:String = "cerine-dz"
    قنا بانشاء متغير من نوع String (سلسلة حروف) و قيمتها "cerine-dz" 
    سلسلة الحروف دائما تكون مكتوبة بين مزدوجتين
     
     
    var speed:Number = 12.6;
    انشأنا متغير اسمه speed نوعه عدد حقيقي قيمته 12.6 
     
    ملاحظة1:
    var speed:Number = "12.6";

    سيكون هناك خطأ من هذا النوع:
    1067: Implicit coercion of a value of type String to an unrelated type Number.

    يعني أننا انشأنا متغير من نوع عدد حقيقي لكن قيمته من نوع سلسلة حروف و هذا ما يرفضه المترجم
    هذا يسمى ب mode précis اي مود دقيق في الترجمة 
    بامكاننا نزعه و ترك المترجم يغير اوتوماتيكيا القيم حسب نوعها الا انا هذا قد يشكل خطرا على المبرمج
    الطريقة الامثل هي
     
    var speed:Number = Number("15.5");
    حيث قمنا بترجمة و تغيير قيمة "15.5" الى 15.5 
    سنفهم هذا أكثر مع مرور الوقت
    ملاحظة 2 :
     x
    var myVariable = 15;
    نلاحظ اننا لم نعطي للمتغير أي نوع لكن المترجم يقبلها  و لا ينشئ رسالة خطأ لانه في الحقيقة يقوم باختيار النوع المناسب حسب القيمةالا ان هذا يستغرق بعض الوقت 
    فمن الافضل دائما التصريح بالنوع 
     



     
     
     
    بعض أنواع المتغيرات Data types:
     هناك نوعين من المتغيرات
    1.المتغيرات البدائية primitive value: طريقة انشائها مثلما سبق و ذكرنا في الاعلى (var name:type = value)
      و هي:
    String Number int uint Boolean
    String: متغيرات قيمتها تكون على شكل سلسة من الاحرف مثلما رأينا في الاعلى
     Number : للأعداد الحقيقية 
    int : متغيرات قيمتها عدد طبيعي (سالب أو موجب) 
    uint: متغيرات قيمتها عدد طبيعي موجب 
    Boolean: متغيرات قيمتها صحيح أو خطأ (true,false)

    2.متغيرات معقدة:  و هي ليست كالاولى و تكون طريقة انشائها كالاتي
    var name:type= new type();
     
    مثل:
    Object Array XML MovieClip الخ 
    (سنشرحها لاحقا)
     

     
    القيمة الافتراضية (Default Value ):
     
    اذا قمنا بانشاء متغير دون اعطائه قيمة مثل var age:int و اردنا التعرف على قيمته هل سيتشكل لنا رسالة خطأ؟ ماذا سيحدث
    فلنجرب هذا الكود
     
    var myBool:Boolean;
     trace(myBool);
     
    سيكتب لنا : false
    أي انه أعطى false للمتغير بالرغم من اننا لم نقم بهذا. اذن المترجم يعطي قيم افتراضية للمتغيرات في حالة لم نفعل نحن هذا 
    سأعطيكم مختلف القيم الافتراضية التي يعطيها المترجم حسب النوع
     
    ملاحظة
    الدالة trace مهمة جدا فهي تساعدنا على معرفة قيم المتغيرات و الكثير من الاشياء و هي خاصة بالمبرمج 
    سنيتعملها كثيرا
     
    اليكم القيم الافتراضية التي يعطيها المترجم للمتغيرات حسب النوع

    النوعالقيمة
    Booleanfalse
    int0
    NumberNaN
    Objectnull
    Stringnull
    uint0
    بدون نوع أو *undefined
    نوع اخرnull
     
     
    المتغيرات بدون نوع هي المتغيرات التي انشأناها هكذا
    var myVar;
    فهي لا تملك أي نوع 
     trace(myVar);
    يكتب 
    Undefined
     
     نلتقي في الدرس القادم ان شاء الله و هو عبارة عن أمثلة تطبيقية عن هذا الدرس

    Fourni par Blogger.