ORWA

الدوره الكامله للبرمجة بلغه دلفي

16 ردود في هذا الموضوع

لقد تم بدء الدوره الكامله للغة .

في هذه المشاركه سنضع روابط الدروس (المحاضرات) حتى يسهل للمتتبع العثور عليها بين مشاركات الأعضاء المختلفه :

--------------------------------------------------------------------------------------

المحاضرة الأولى

الرابط :

http://www.arabteam2000-forum.com/index.ph...ndpost&p=273158

العنوان : تطبيقات النوافذ , التصميم وكتابه الشفرة , البرمجه المبنيه على الأحداث , جزء (1)

ملاحظات : معلومات عامه

إعداد : ORWA

--------------------------------------------------------------------------------------

المحاضرة الثانيه

الرابط :

http://www.arabteam2000-forum.com/index.ph...ndpost&p=278633

العنوان : دلفي لغة برمجه , تقديم دلفي

ملاحظات : معلومات عامه

إعداد : ORWA

--------------------------------------------------------------------------------------

المحاضرة الثالثة

الرابط : http://www.arabteam2000-forum.com/index.ph...ndpost&p=296426

العنوان : بيئة تطوير دلفي . (Delphi programming environment.)

ملاحظات :

إعداد : ORWA

--------------------------------------------------------------------------------------

المحاضرة الرابعة

الرابط :http://www.arabteam2000-forum.com/index.php?showtopic=60522&view=findpost&p=298418

العنوان : المحاضرة العملية الأولى (1) . بدء العمل

ملاحظات :

إعداد : ORWA

--------------------------------------------------------------------------------------

تم تعديل بواسطه ORWA
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

تطبيقات النوافذ , التصميم وكتابه الشفرة , البرمجه المبنيه على الأحداث .

الإنتقال من تطبيقات سطر الأوامر DOS إلى تطبيقات النوافذ Windows

عندما تستخدم تطبيقات نوافذ (Windows) فإنك عادة تتعامل مع واجهة مستخدم بيانيه (Graphical User Interface) أو مايعرف بـ GUI , تلفظ (“gooey”) للإختصار .

بشكل عام هي التطبيقات التي تعتمد الرسوميات كأسلوب للتعامل مع المستخدم , والتي عادة ما نستخدم الفأره للتعامل مع مكوناتها .

خذ مثلا معظم تطبيقات ويندوز , MS Word , Excel , PhotoSope , etc .. , ستجد أنها صممت من أجل غايات مختلفه تماما , ولكن آليه التعامل معها هي واحده بشكل عام . حيث أن مفاهيم إستخدامنا لإدوات هذه البرامج هي نفسها , ولكن تختلف طبيعة الأدوات حسب البرنامج . بدليل أنك تستطيع إكتشاف بعض وظائف برنامج ما ولو كنت اول مره تتعامل معه , هل حدث وجربت برنامج رسم جديد على جهازك ؟ , ألم تستطع مباشرة فتح وحفظ الملفات , ورسم بعض الخطوط والأشكال الهندسيه وإضافه بعض التأثيرات .

أمعن النظر في أي من هذه التطبيقات :

Features.gif

- تتألف كل منها من عدة نوافذ . هي عباره عن مستطيل تتوضع ضمنه بقيه أجزاء البرنامج , ويسمى شكل (Form) .

- لكل منها عادة شريط عنوان (Title Bar) يكون في أعلى النافذة , يظهر فيه إسم التطبيق أو معلومات أخرى مثل المسار وإسم الملف المفتوح حاليا .

- ستجد تحته قائمه أساسيه (Main Menue) تحوي عدة خيارات مبوبه مثل (ملف , تحرير ,عرض , مساعدة . الخ ..) .

وهي عباره عن لائحه بكافه التحكمات اللازمه للتعامل مع الملف الحالي . فتح ملف جديد أو حفظه , أو إجراء عمليات مختلفه عليه .

- الإختصارات الشائعه والمستخدمه للقائمه الرئيسيه ستجدها في شريط خاص يسمى شريط الأدوات (Tool Bar) , وتكون على شكل أزرار سرعه معلمّه بصور خاصه حسب وظيفه كل زر , وستجد فيها العديد من الأمور التي تستخدمها بكثره وتريحك من البحث عليها في القائمه , تأمل Microsoft Word مثلا . لاحظ أشرطة الأدوات الغنيه بالأزرار والتحكمات , بإمكانك التعامل مع العديد منها مثل فتح ملف وحفظه , وتنسيق النص , وإختيار الخط والحجم , واللون الخ ...

- قائمه منبثقه تظهر بالنقر على الزر الأيمن مثلا . كذلك تحوي وظائف شائعه ومستخدمه , وأجمل مافي الأمر , أن قائمه هذه الوظائف تتغير حسب المكان الذي ننقر فوقه بالزر الأيمن , فإذا نقرنا بالأيمن فوق شريط الأدوات ستظهر قائمه لتنسيق شريط الأدوات وإضافه وإزاله أدوات منه أو إليه , أما فوق النص ضمن MS Word مثلا , فستظهر قائمه تحوي وظائف مشهوره لتنسيق النص مثل النسق واللصق والإرتباط التشعبي الخ ..

وإلى ماهنالك من ميزات مشتركه بشكل عام بين تطبيقات النوافذ (Windows Application) .

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

كل شيء تراه أمامك هو مكون (أو غرض) . الزر مكون , والقائمه مكون وكل عنصر من هذه القائمه مكون (مكون جزئي) , ونص الإدخال مكون , واللافته مكون .. الخ . ..

يتألف البرنامج (أو التطبيق) من مجموعه من المكونات .

وهدفك انت كمصمم للتطبيق أن تحدد ماهي الأغراض والمكونات التي ستظهر على التطبيق وماهو شكلها وترتيبها , وماهي وظيفتها وماالأعمال التي ستقوم بها

وبناء على ذلك سأقسم بناء البرنامج إلى قسمين :

جزئين لبناء البرنامج :

1- تصميم واجهة البرنامج .

2- كتابه الشفره .

تصميم البرنامج , واجهة المستخدم GUI :

لنفترض انك تريد بناء برنامج محرر نصوص

شبيه مثلا بWord , عليك اولا ان تصمم

شكل البرنامج والهيئه التي سيبدو عليها .

وماهي المكونات التي الموجوده عليه ,

وترتيبها ومكانها على الشكل وضبط خصائص

كل منها وعدد ولونها والعنوان المكتوب عليها ......

ولنقل مثلا انك تريد وجود زر لتغيير الخط .

فإن وضع الزر على الشكل (Form) ومكانه وحجمه

ولونه وكل المعلومات عنه مثل العنوان المكتوب عليه

(وليكن "تغيير الخط" مثلا) كل هذا سيكون تابع

لـ تصميم البرنامج .

Tools.gif

كتابة الشفره , التكويد Coding :

وهي تحديد للأعمال الموكله لكل مكون وماهو تسلسل الأفعال التي سينفذها .

Code.psd.gif

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

مثل إظهار مربع إختيار نوع الخط واللون والحجم , ثم القيام بتطبيق الخط المختار على النص .

وبالتالي سيكون هذا الجزء من العمل هو كتابة التعليمات بلغة البرمجة , وتحديد إستجابه كل مكون .

التصميم هو إختيار مكونات وضبط خصائص هذه المكونات ,

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

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

الحدث يطلق الإستجابه . ويبدأ التنفيذ .

الحدث هو ضغط المستخدم على زر تغيير الخط .

الإستجابه هي تنفيذ شفرة تغيير الخط .

مثلا:

حدث تحريك المؤشر فوق الزر : يولد فعل توهج الزر بشكل جميل

حدث ضغط الزر : يولد فعل إظهار رساله ترحيبيه للمستخدم .

ومن هنا جاءت عبارة البرمجه المبنيه على الاحداث .

أي أنه من أجل كل حدث يمكن ان يقع في مكون ما , يمكن كتابه إجراء برمجي يحدد ردة فعل المكون تجاه هذا الحدث .

أي كأنني ألقن البرنامج , إذا ضغط المستخدم على هذا الزر إعمل كذا , وإذا نقر نقرا مزدوجا أعمل كذا , وإذا ضغط بالزر الأيمن فوق الزر إعمل كذا وإذا حرك المؤشر فوق الزر إعمل كذا ..

وبالتالي من المهم أن أعرف بالإضافه إلى شفرة التنفيذ تحت أي حدث يجب أن أكتب هذه الشفرة , وبالتالي متى سيتم تنفيذ هذه الشفرة .

ملاحظة :

في برامج Consol التي تكتب تحت Dos عادة , والتي لايكون لها واجهه مستخدم , عادة مايتألف البرنامج من جزء واحد يتم تنفيذ تعليماته وراء بعضها بمجرد تشغيل البرنامج .

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

فإذا كنت منتقل جديد من برامج الConsol التي ربما

تعلمتها بالجامعه , لابأس ببعض الوقت للتأقلم مع

الواقع الجديد الذي يكسبك التحكم الكامل بلحظه

تنفيذ الشفرة ونسب الشفرة لمكون محدد ووفق

حدث محدد .

Console.gif

مثال :

إذا أردنا بناء برنامج بسيط لإظهار رساله ترحيبيه عند الضغط على زر ما . يلزمنا إذن :

1- تصميم الواجهه :

وهي عبارة عن زر , يتم وضعه على الشكل , وضبط حجمه حسب الحاجه , وكتابه عنوان يظهر عليه وليكن مثلا ("Hello") . ويمكن وضع صورة عليه أو ماشابه

2- التكويد :

وهو

ا - تحديد الحدث (Event) :

أي متى سيتم تنفيذ الشفرة , وهو هنا عند الضغط : OnClick

ب - تحديد الإستجابه :

أي كتابه الشفرة اللازمه لإظهار رساله ترحيبيه .

مثلا لإظهار رسالة "Hello Word" .

ماستتعلمه هنا هو كيفيه بناء برامجك الخاصه إبتداء من الصفر . وإذا كانت بعض الفقرات غير مفهومه فلا تهتم ذلك متوقع وسيزول كل هذا بعد البدء بالأمثله والدخول الحقيقي في البرمجه .

تم تعديل بواسطه ORWA
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ماهي الملفات القابله للتنفيذ :

لاحظت أثناء تجولك في جهازك بعض أنواع الملفات مثل الملفات ذات الإمتداد EXE و BAT و COM وغيرها...

ماهي هذه الملفات ؟ وبماذا تختلف عن غيرها من الملفات العاديه ؟

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

في حين أن ملفات الوثائق العاديه .. (مثلا ملف نصي ذو الإمتداد (TXT لاتقوم بتنفيذ أي عمل عند فتحها كما أنها غير قادرة على العمل لوحدها , بل تتطلب برامج خاصه لفتحها وإستعراض محتواها .. مثلا تتطلب الملفات النصيه برنامج المفكره لتشغيلها أو أي محرر نصوص آخر ,. وملفات الصور تتطلب برامج ACD See أو أي مستعرض صور آخر . كذلك ملفات الفديو تتطلب Media Player أو Jet Audio أو مشغل ملتيميديا ما ..

هذه الملفات تسمى ملفات الوثائق , إذ أنها بعكس النوع السابق غير قادرة على العمل لوحدها , وتحتاج دائما برامج خدميه أخرى لتشغيلها .

لغات البرمجه تنتج ملفات قابله للتنفيذ :

حسب ماسيق , لبناء برنامج من أجل غايه ما نحن بحاجه لتوليد ملف قابل للتنفيذ لتحقيق الغايه السابقه بطريقه برمجيه .

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

فهي تحول من نص برمجي نكتبه لها عبر تنسيق خاص إلى ملف تنفيذي يحوي ضمنه شفره بلغة الآله يفهمها الحاسب ويستطيع تنفيذها .

أي أن لغات البرمجه إذن هي وسيط بين لغه يمكن ان يفهمها الإنسان , ولغه يمكن أن يفهمها الحاسوب

الإنسان يكتب كود شفره (وهي تعليمات بلغه البرمجه التي يعمل عليها) , وتقوم لغه البرمجه على أساسها بتوليد ملفات بلغة الآله قابله للتنفيذ من الحاسوب .

دلفي هي لغة برمجة :

كثيرا ما يشار إليها بالإسم بورلاند دلفي (Borland Delphi ) حيث بورلاند هي إسم الشركه التي تنتجها وهي شركه رائده في ميدان صناعة لغات البرمجة وتنتج منفذات لغات كثيره مثل C++Builder و JBuilder و C# Builder .

بما إن دلفي لغة برمجة فإن القول ان دلفي تنتج ملفات قابله للتنفيذ لايحتاج لكثير من الذكاء , ومهمتك انت هنا هي أن تتعلم كيف تنتج هذه الملفات , أي كيف تبني برامج ,.

أي كيف تبرمج بإستخدام بورلاند دلفي .

تقديم دلفي , وموقعها بين لغات البرمجة :

لغات البرمجة هي أدوات خاصة صممت لتحقيق أهداف مختلفة.

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

هذه اللغات موجَّهة لحاجات مختلفة, ووجدت لتحل مشكلات مختلفة بطرق مختلفة, وتستخدم في بيئات برمجيّة متباينة.

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

خذ مثلاً بعض اللغات الشائعة:

- لغةC/C++ : صممت تحت راية السرعة ,من أهدافها القوه والتحكم, تتميز بالكثير من التعقيد,.

- الجافا: تسعى لقابليه النقل (المحموليه), مطرزه بالعديد من مزايا القوّة, مميزة في التطبيقات الموزعة والويب . لكنها تنتج ملفات بطيئة نسبيا

- VB : تهدف إلى السهولة وسرعة التطوير . وتبسيط برمجة النوافذ , مميزة في تطبيقات أوفيس . لاتستخدم كثيرا عندما يتم التعويل على القوة والتحكم

يمكننا ببساطه أن نقرر أن نجاح كل من هذه اللغات لا يعود إلى المميزات التي ذكرناها فقط, فما هي إلا غيض من فيض, وتوجد عشرات الأسباب الأخرى المهمة لتقرير أهميّـه لغة برمجة ما أو نجاحها في الانتشار والتسويق.

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

فلا يوجد شيء إسمه ماهي لغه البرمجة الأفضل حتى أعمل عليها , لإن اللغه الأفضل تعتمد على ماتريد منها أنت وماذا تريد أن تعمل عليها .

تم تعديل بواسطه ORWA
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

في هذا القسم سوف تأخذ فكرة عن بيئة تطوير دلفي . (Delphi programming environment.)

إذا كنت قد إستخدمت محرر html مثل front Page , ستكون على الغالب متآلف مع مايسمى بيئات السحب والإفلات . (مستخدمي الفيجوال بيزك مثلا سيجدون البيئة سهله ومألوفه مباشرة) .؟

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

من الآن فصاعدا المصطلح "نموذج" أو Form سيتكرر معنا بإستمرار وهو فعليا النافذة التي تضع عليها عناصر تطبيقك .

بالمقابل يبقى عليك في دلفي ان تكتب الشفرة (أو الكود Code) الذي يحدد تصرف هذه العناصر ويستجيب لها .

أول مرة تفتح دلفي سترى ثلاث نوافذ . النافذة الرئيسية العليا (main menu bar,) و ضابط الكائنات (Object Inspector) , وشجرة الكائنات (Object Tree View) .. طبعا بالإضافة لنموذج مشروع جديد تفتحة دلفي إفتراضيا للبدء مباشرة بالعمل .

النافذة الرئيسية :

img3-0.gif

وهي نافذة دلفي الرئيسية , قائمة دلفي كالعادة تحوي خيارات مألوفه لديك مثل File, Edit, View, Tools و Help.

ويوجد أيضا بعض الخيارات والوظائف الإضافية التي ستتعرف عليها وتتعامل معها لاحقا .

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

لإضافة عنصر إلى النموذج , ببساطة قم بالنقر مرة على العنصر المطلوب , ثم إنقر مرة ثانية في أي مكان تريدة من النموذج , وسيتوضع العنصر مكان النقر تلقائيا .. بإمكانك أيضا ان تنقر مرتين على العنصر في شريط الادوات وسيتوضع تلقائيا في منتصف النموذج .

دائما بإمكانك حذف العنصر بتحديدة اولا ثم ضغط زر delete أو CTRL+DEL .

النموذج :

img3-1.gif

وهو واجهة التصميم التي ستضع عليها عناصرك ..

- ضع العناصر التي تريدها .. أزرار (Buttoms) مربعات تحرير (Edits) لافتة نصية (Lables) الخ ..

- تحكم بموقع العنصر بسهولة عن طريق تحريكة مباشرة على النموذج .

- تحكم بحجم العنصر عن طريق توسيعه من المربعات الصغيرة التي تظهر على الحواف الخارجية

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

هذه النقاط لن تظهر في البرنامج النهائي , وماأن تنفذ المشروع حتى تلاحظ إختفاء نقاط زمن التصميم هذة .

ضابط الكائنات (Object Inspector):

img3-2.gif

يستخدم ضابط الكائنات لنسب قيم الخصائص المختلفة لعنصر ما . لتوضيح ذلك دعنا نتحدث قليلا عن دلفي .

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

مثلا عنصر النموذج . أو الكائن نموذج . يملك عدة خصائص , الإرتفاع (Height) , العرض (Width) وموقعه على الشاشة (Left,Top) ولونة (Color) , وعنوان النافذة في الأعلى (Caption)... الخ ..

ضابط الكائنات مهمتة هي ضبط القيم الإفتراضيه لهذه الخصائص المختلفة .

قم بالنقر على النموذج في مكان فارغ مرة واحدة (لتحديد النموذج) , إنظر الآن إلى ضابط الكائنات وستجد لائحة طويلة بمجموعة من خصائص النموذج المتاحة .

جرب ان تغيير خاصية اللون : color

جرب ان تغيير خاصية العرض : width

لاحظ أن التغيرات تطبق مباشرة أمامك على النموذج . ولاتنتظر لزمن التشغيل ( run time) .

إذن توجد لضابط الكائنات صفحتين , صفحة أحداث وصفحة خصائص .

صفحة الخصائص موضوع سهل وممتع .

صفحة الأحداث ومن هنا نحدد سبب تنفيذ شفرتنا البرمجية . أي متى نريد لشفرتنا البرمجية ان تنفذ .. عند الضغط على زر أم عند تحريك المؤشر , أم عند النقر المزدوج .. ؟

بإختيار هذه الصفحة ستجد الكثير من معالجات الحدث التي يمكنك كتابة شفرات إستجابة لها .

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

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

مثلا المكون زر "Button" الحدث الإفتراضي هو OnClick أي عند ضغط الزر .

مثال :

قم بوضع زر على النموذج

قم بالنقر المزدوج على الزر

ستلاحظ ظهور نافذة تحرير الشفرة . وتقوم دلفي تلقائيا بكتابة جزء الكود المسهل للنقر على الزر , وتضع مؤشر الكتابة داخل Begin و End

أي شفرة برمجية تكتبها هنا , لن تنفذ حتى يتم الضغط على الزر .

ولو كنا كتبناها تحت معالج حدث مختلف . مثلا OnMouseMove أي عند تحريك المؤشر فوق المكون . لكانت الإستجابة للشفرة تتم عند تحريك المؤشر فقط ..

وهذا هو سر البرمجة المبنية على الأحداث (أو المقادة بواسطة الأحداث) التي تعتمدها برامج ويندوز المرئية .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

مرحبا

اريد ان اشاركبحيث لااتعارض مع الدروس السابقة

وهذه الشاركةهي مجموعة من التعاريف التي يجب على كل مبتدأ الالمام بها

هذا الدرس احاول فيه ان اعرف فيه مصطلحات غالبا مايستخدمها المبرمجين

في مناقشاتهم عن الفوارق بين لغات البرمجة

1- الوراثة في لغة ما وهي ان تقوم نسخة حديثةمن لغة مابالتعامل مع شيفرة برنامج مكتوب بنفس اللغة انما بنسخة اقدم

ونضرب مثال انه البرنامج الذي يكون مكتوب بالدلفي 5يمكن ان يعدل في نسخة الدلفي 7

اهميتها

وبحسب راي جمهرة من خبراء اللغات في هذا الموقع او مواقع اخرى عربية او انكليزية

حوالي 28 موقع اطلعت على النقاشات كان بعض المبرمجين يضعون هذه الخاصية في الاولوية

وبعضهم يعطونها اهمية اقل ونسبة قليلة جدا لم تعرها اي اهتمام

وانا من راي انها من احد دعائمما يميز لغة ما عن غيرها من الغات التميز هنا يدل على التفضيل

2- القوة

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

او بطريقة اخرى قوة اللغة وهو برنامج ضخم مكتوب بهذه اللغة لمبرمج محترف يتميز عن غيره لنفس البرانامج المكتوب بلغة اخرى بمبرمج محترف ايضا

الشرح

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

3- دعم اللغة لقواعد البيانات والويب وادخال النصوص بشيفرة لغة اخرى

وهنا اجتمع اغلب الخبراء على انها من اهم الميزات التي تميز لغة عن اخرى

4- الانتاجية وسهولةالتعلم وهو اتمام برنامج ما لمبرمج محترف للغة ما بوقت اقل من اتمام نفس البرنامج لمبرمج محترف ولكن بلغة اخرى

وقليل من المبرمجين المحترفين وكثير من المبرمجين العاديين يرون ان هذه من اهم ميزات لغة ما عن اخرى

فالمبتدء او الغير محترف يريد صنع برنامج بايسر الطرق وبدون الكثير من التعقيد

اما عن راي الخبراء وحدهم

فانهم يرونها نهمة بالنسبة للبرامج الغير ضخمة وغير ذلك للبرامج الضخمة

وهناك اراء اخرى لخبراء ومبرمجين محترفينالمتمرسين ينظرون الىكيفية تعامل لغة ما مع الشيفرةومراحل ترجمتها وانتاجها

ويرون ايضا ان هذا الموضوع مهمل بالنسبة للمبتدءين

ارجو ان اكون قد افدت في هذه التعارف

ملاحظة هذا الدرس هو مجهود بشري ليس خالي من الاخطاء ارحب بكل الاراء وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

شكرا زاهر ...

لدي بعض التعليقات

الوراثة : هي واحده من تقنيات البرمجة غرضية التوجه , وتعني تعريف صنف جديد يرث معلومات صنف آخر لتسهيل عملية البرمجة . مثال :

لبرمجة أداة جديدة ولتكن زر جديد يحوي حقل About لاداعي لإعادة برمجة الزر من الصفر ونسخ ولصق شفرة الزر هناك , بل نورث الزر الجديد من الزر الأصلي الموجود , وبسطر واحد نضيف له خاصية About ,, وبالتالي ستكون شفرة الزر الجديد صغيرة جدا لإننا استفدنا من الزر الأب

يمكن تسمية ماتفضل به الأخ زاهر كذلك بـ "التوافقية الإرتجاعية"

- القوة .. مشكلة القوة أنها شيء غير واضح تماما وغير محدد , (لذلك لم أضع شيء يسمى بند القوة في كتيب "معايير في تقييم لغات البرمجة"

http://www.orwah.net/modules/mybooks/visit.php?cid=15&lid=13

بل قسمتها إلى دعم المؤشرات و الوصول المنخفض وصغر حجم التطبيق وسرعة التطبيق والتكامل مع نظام التشغيل ودعم الoop الخ .. الخ .. )

ورغم تعريف زاهر للقوة لابأس به , قدرة اللغة على إنتاج تطبيقات ضخمة (مثلا دائما تسمع أن لغة VB رائعة من اجل التطبيقات الصغيرة "Vb is great for tiny" وهذا بسبب عدم دعمها للمؤشرات والoop الضعيفة والوصول المنخفض والأسمبلي المضمن وغيرها من الأمور )

وقليل من المبرمجين المحترفين وكثير من المبرمجين العاديين يرون ان هذه من اهم ميزات لغة ما عن اخرى

فالمبتدء او الغير محترف يريد صنع برنامج بايسر الطرق وبدون الكثير من التعقيد

اما عن راي الخبراء وحدهم

فانهم يرونها نهمة بالنسبة للبرامج الغير ضخمة وغير ذلك للبرامج الضخمة

هذا الكلام ليس دقيق برأيي ,,

time is mony

والمشاركة ممتازة جدا ,, نتمنى من الأخوة النقاش بها , وأن لايحرمونا من هذا التفاعل الرائع

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم ورحمة الله

من اجل تعريف الوراثة فكلاهما يوصل للطاحون :D

ولكن تعريفي ليس اكادمي مثل تعريفك :blink:

تذكر اخي عروة هذه القاعدة دائما :)

ليس كل مبرمج هو مهندس برمجيات او متخرج من الجامعة <_<

اما الثانية فانا مختلف معك تماما

لماذا (h)

لان هذا الصطلح القوة

انت تجاهلته تماما حتى انك لن تعترف بوجوده اطلاقا :o

هذا من راي خطا جسيم وقعت به :lol:

لان هذا الصطلح اخي عروة انت الذي تعرف اكثر من غيرك :unsure:

دائما يرد اسمه اثناء التكلم على ميزات لغة ما او مقارنةى لغة باخرى B)

وانت ممن شاركو بنقاشات تلك على مستوى كبير

اما انا اعترفت بوجوده واقررت به على انه احدى ميزات اللغة ;)

ومن هنا اعطيت تعريفا له حسب خبرتي وايضا حسب ما اتفق عليه اغلب الخبراء الذين شاركو بهكذا

مناقشات واولهم انت :lol:

خذها نصيحة مني يااخي واعترف بهذه الميزة :(

اما من اجل انك لم تقتنع بتلك الميزة الانتاجية

فاني اقول

انها موجودة بالفعل اخي عروة وانا ذكرت انها مهملة بالنسبة للبرامج الصغيرة التي لاتتطلب كل ذلك الوقت والجهد والى حد ما التدقيق فيها B)

ولكنها مطلوبة جدا لفريق العمل او لمؤسسة

حتى انني رايت مقالا في هذا الموقع وعدة مقالات في غيره

انه يتم تقيم المبرمج من خلال اسطر الشيفرة التي يكتبها خلال وقت معين

فالانتاجية العالية بحيث الاتؤثر على مستوى البرمجة للبرنامج هي مطلوبة في ذالك ظرف

على كل انا انتظر اي اضافة اوتصحيح لما ذكرت وشكرا

صديقكم زاهر

ملاحظة اعتذر عن التاخير بالرد بسس العمل وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

السلام عليكم هذه المحاضرة الاولى وتتضمن سلسلة من الدروس

تبدا من الصفر

الدرس الاول والثاني يحتويان على المفاهيم العامة والمدخل الى عالم البرمجة والى عالم الدلفي

ملاحظة في هذهالمحاضرة وغيرها من المحاضرات لن يتم الان ذكر المراجع

وسوف اذكرها عند انتهائي من كتابتها

الدرس الثاني

الدرس الثالث ويتضمن شرح عام ومبسط ومختصر عن النظم البرمجية وتطورها

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

1.zip

2.pdf

3.pdf

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الدرس الرابع وهو كتيب من تاليف الاخت اسماء المنقوش وهو في هندسة البرمجيات وانصح به بشدة لمن لم يتعلمو البرمجة اكاديميا

الدرس الخامس هو بالبدأ يتضمن شرح عن التعليقات والطباعة الانيقة والبرمجة المهيكلة بالدلفي7

5.pdf

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

طبعا نسيت ان اذكر ان الاخت اسماء المنقوش اجازت نقل الكتيب على هيئته

الدرس السادس وهو يتحدث عن مفهوم المتغيرات او المتحولات او المتبدلات او او او .... انا معكم مع التسمية التي تحلو لكم

وهو شرح جد مختصر من حوالي 15 صفحة طبعا بالبرمجة التركيبية بالاسلوب المهيكل باستخدام الدلفي 7

6.pdf

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

ارجو لمن لديه اي استفسار ان يضعه في الموضوع الاتياضغط هنا

تم تعديل بواسطه زاهر سعيد
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الدرس التالي مرفق

4.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

الدرس السابع وهو درس بسيط سهل الهضم بدون اي مشروبات مساعدة

طبعا ومع هذا الدرس تنتهي المحاضرة الاولى

7.pdf

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

هذا الدرس يتحدث عن احدى بنى الاختيار وهي البنية if ارجو ان يقدم بعضا من الفائدة

___________.zip

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

اعزائي هذه الدروس تكملة لسلسة الدروس الموضوعة على الرابطالدورة الكاملة بالدلفي

ولاي استفسار او سؤال توج الى الرابط الاتي استفسارات الدروس

هذا الدرس يتكلم عن الحلقات بشكل عام ويبدا بالحلقة While

طبعا قبل ان انسى سوف يتم اضافة امثلة جديدة كل مدة من الزمان للدرس غير الامثلة الموجودة

وشكرا

____________.rar

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .