قواعد المشاركة في المنتدى

(منتدى الأكسس) الموضوع:رسالة تنبيه قبل انتهاء تاريخ بفتره معينة وعرض البيانات بواسطة: (alaa_123) :: (قسم الاعلانات) الموضوع:صيانة غسالات بوش 01017556655 توكيل بوش بواسطة: (الوكيل المعتمد) :: (قسم الدعم الفني) الموضوع:مشكلة فى اكسس بواسطة: (alaa_123) :: (قسم الاعلانات) الموضوع:تطوير الحقائب التدربيبة بواسطة: (تسويق ثروة المعرفة) :: (منتدى الأكسس) الموضوع:طريقه الوارد اولا يصرف اولا بواسطة: (aly elhedewy) :: (أخبار التكنولوجيا) الموضوع:تحميل الفوتوشوب 2017 مجانا بواسطة: (sara100) :: (أخبار التكنولوجيا) الموضوع:برنامج سكايب للكمبيوتر بواسطة: (sara100) :: (أخبار التكنولوجيا) الموضوع:برنامج حسابات للمحلات بواسطة: (لمياء حمود) :: (قسم الاعلانات) الموضوع:اضف موقعك فى دليل بسمة مصرية egybasma.com بواسطة: (EGY BASMA) :: (أخبار التكنولوجيا) الموضوع:تحميل برنامج الايمو مجانا بواسطة: (sara100) :: (أخبار التكنولوجيا) الموضوع:شركة دي سي اس مصر للانظمة الامنية 2017 بواسطة: (كاميرات مراقبة) :: (أخبار التكنولوجيا) الموضوع:شركة دي سي اس مصر للانظمة الامنية 2017 بواسطة: (كاميرات مراقبة) :: (قسم الاعلانات) الموضوع:التدريب الغير متزامن بواسطة: (تسويق ثروة المعرفة) :: (منتدى الأكسس) الموضوع:مشكلة بسيطه في شاشة تقارير اكسس ارجو المساعده بواسطة: (الهيثم999) :: (منتدى الأكسس) الموضوع:مشكلة فتح نظام المستخدمين بواسطة: (saeed2015) :: (قسم الاعلانات) الموضوع:شركة تنظيف منازل بالرياض البيت الافضل بواسطة: (مصطفى خميس) :: (منتدى Microsoft Excel) الموضوع:كيفية اخفاء مفتاح save as بواسطة: (waleed459) :: (منتدى الأكسس) الموضوع:كيف تتم الفلترة فى Crosstab من خلال نموذج بواسطة: (Yassora) :: (قسم الاعلانات) الموضوع:وظائف موارد بشرية في مصر بواسطة: (اميره الحب) :: (منتدى مبرمجي Microsoft Visual VB.NET) الموضوع:طلب تحويل كود لاكمال برنامجي بواسطة: (عماد غزة)


راديو القرآن

المواضيع المثبته: (منتدى ADO.NET العام) الموضوع:شرح ado.net بواسطة: (شهرزاد) :: (منتدى برمجة الألعاب) الموضوع:مقدمة في برمجة الـ (3D) الألعاب...جـ2 بواسطة: (NubiaPrince) :: (منتدى مبرمجي ASP) الموضوع:Compact An Access Database File From ASP بواسطة: (عبدالله جابر شقليه) :: (منتدى مبرمجي ASP.NET) الموضوع:Visual Web Developer 2010 Express بواسطة: (يوسف جميل جادالله) :: (منتدى الكتب و المقالات) الموضوع:هل فكرت يوما أن تستغني عن شريط أوامر الأكسيس ؟ بواسطة: (alasomed) :: (منتدى مبرمجي ASP) الموضوع:دورة احترافيه لبناء منتدى على asp بواسطة: (عبدالله جابر شقليه) :: (منتدى أنظمة الشبكات وأمنها) الموضوع:الشبكات الحاسوبية ..Computer Network.. بواسطة: (مرحبا الساع) :: (منتدى برمجة الألعاب) الموضوع:برنامج رائع لتصميم الألعاب بواسطة: (mjxp) :: (القسم المفتوح) الموضوع:شاهد واشكر ربك على نعمة الاسلام بواسطة: (غزاوية أصيلة) :: (منتدى تصميم صفحات الويب) الموضوع:الجافا سكريبت في كتاب بواسطة: (amricost) :: (منتدى الأكسس) الموضوع:مثال على تغير الكائنات حسب مقاس الشاشه بواسطة: (startnet) :: (منتدى تحليل و تصميم نظم المعلومات) الموضوع:قواعد البيانات بواسطة: (ابو حسام) :: (منتدى مبرمجي لغة جافا JAVA) الموضوع:درس : الاستثناءات في جافا Exceptions بواسطة: (nardien28) :: (Oracle قسم قواعد البيانات أوراكل) الموضوع:بعض ميزات أوركل 10g بواسطة: (وليد القدسي) :: (منتدى برمجة الشبكات في بيئة الدوت نت) الموضوع:عمل برنامج بسيط مع قاعدة بيانات اكسس على شبكة محلية بواسطة: (allnsh 3) :: (قسم الدروس و الدورات) الموضوع:تعلم معي البرمجة بالفيجوال بيسك .. بواسطة: (كوثــــــــــــر) :: (منتدى تصميم صفحات الويب) الموضوع:أرشيف الدروس المصورة بواسطة: (alanees) :: (منتدى Microsoft Visual Basic) الموضوع:دورة التعامل مع قواعد بيانات Oracle بإستخدام ADO بواسطة: (Max Bayne) :: (منتدى برمجة الألعاب) الموضوع:تصميم الألعاب باستخدام game maker بواسطة: (Bahr ahmodah) :: (منتدى تحليل و تصميم نظم المعلومات) الموضوع:تحليل كامل لبرنامج حسابات بواسطة: (الشجرة الطيبة)

عدد الصفحات : 3  1  2  3   > » إضافة رد إضافة موضوع جديد

> دروس دلفى,تعليم واحتراف دلفى
Bookmark and Share
تقييم الموضوع Label معدل التقيم:0
khaled helal
مشاركةالخميس,20/شوال/1425 هـ,07:41 صباحاً
المشاركة #1
ماهو الدلفى ؟

ديلفي هو منتج بورلاند الأكثر مبيعاً للتطوير السريع للتطبيقات RAD (Rapid Application Development) والمستخدم لكتابة تطبيقات ويندوز ، ويمكنك باستخدام الدلفي إنشاء تطبيقات ويندوز بسرعة أكبر وبسهولة أكثر من أي وقت مضى
هذا يعني أنك تستطيع إنشاء واجهة المستخدم ( يقصد بواجهة المستخدم القوائم ومربعات الحوار والإطار الرئيسي ..) لبرنامجك مستخدماً تقنيات السحب والإفلات لمطور تطبيقات سريع ، يمكنك أيضاً وضع تحكمات أكتيف إكس Active X على نماذجك لإنشاء برامج متخصصة مثل برامج استعراض الويب ولكن حتى تصبح مبرمج تطبيقات ويندوز يتطلب منك عمل كبير .
تقوم دلفي بعمل جيد وذلك بإخفاء بعض التفصيلات التي تشكل أحشاء برنامج الويندوز ولكن ليس بإمكانها كتابة البرامج من أجلك ، لذلك يجب في النهاية أن تكون مبرمجا ، ويمكن لهذه العملية أن تكون طويلة ، والخبر الجيد أن دلفي تجعل رحلتك غير متعبة وحتى أنها تجعلها ممتعة .

نظرة عن مكونات ديلفي IDE

سنتعرف في هذا القسم على بيئة التطوير المتكاملة للدلفي IDE (Delphi Integrated Development Environment) .

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

بيئة دلفي مكونة من ثلاثة أقسام :

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

2- مفتش الكائنات : (شرحه التفصيلى فى الدروس قادمة)

والذي يتم بواسطته تعديل الخصائص والأحداث للمكون وسوف تستخدمه بشكل دائم خلال عملك مع ديلفي وهناك بابين لمفتش الكائنات هما الخصائص Properties والأحداث Events.

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

مصطلح الحدث Event هو شيء ما يحصل كنتيجة لتفاعل المكون مع المستخدم أو مع ويندوز.

مصطلح معامل الحدث Event Handler هو مقطع من البرمجة ينفذ استجابة للحدث.

3- منطقة عمل ديلفي

الجزء الثالث هو منطقة عمل ديلفي وعادة ما يظهر مشروعاً جديداً .
في المقدمة مصمم النموذج وخلفه محرر الشيفرة الذي تدخل عبره البرمجة عند كتابة برامجك.
وكلا من مفتش الكائنات ومصمم النموذج ومحرر الشيفرة تتفاعل فيما بينها عند بناء التطبيقات لتكون البرنامج .
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
khaled helal
مشاركةالخميس,20/شوال/1425 هـ,07:54 صباحاً
المشاركة #2
الدرس الثانى


ملفات مشروع ديلفي

سنتعرف في هذا القسم على الملفات التي ينشئها مشروع الدلفي ، لتجسيد ذلك سنقوم بإنشاء تطبيق بسيط ونلقى نظرة على ما يحدث عندما يبني الدلفي ملف تنفيذي للبرنامج

يتم تنفيذ الخطوات التالية :

1- يمكنك قبل البداية إنشاء دليل جديد للدلفي على القرص الصلب لحفظ الملفات

2- بعد تشغيل البرنامج اختر File | Close All لكي تبدأ من جديد ، بعدها اختر File | New Application من القائمة الرئيسية ليعرض فورم خالي

3- اختر File | Save All من القائمة الرئيسية ، سوف تسأل عن اسم ملف الوحدة Unit تأكد من أن تضعه في الدليل الخالي الذي أنشأته.

4- بعدها سوف تسأل عن اسم المشروع Project .

5- اختر Project | Build Test من القائمة الرئيسية ، سوف يقوم الآن الدلفي بتصريف البرنامج وقد يستغرق ذلك دقائق .

6- اختر File | Close All من القائمة وانتقل بعدها لمستكشف ويندوز وحدد مكان الدليل الذي حفظت فيه المشروع ، ستشاهد العديد من الملفات المتنوعة سوف نتعرف على أهمها من خلال السطور القادمة

1- ملف المشروع : والذي يحوي وحدات المشروع له الامتداد Dpr ويمكنك إظهاره باختيار أمر Project |View Source لا تقم بتعديل الملف مالم تعرف ما تفعله بالضبط.

2- ملف الوحدة: ويحوي شيفرة المصدر وله الامتداد Pas وهو الذي تضيف إليه سطور البرمجة.

3- ملف النموذج: ويحتوي على تفصيلات الفورم Form الذي قمت بتصميمه ، يتغير كلما تغير النموذج بإضافة العناصر أو حذفها أوتعيير خصائصها أو خصائص النموذج نفسه

هذه الملفات الازمة لبناء البرنامج ،هناك عدة ملفات ينشئها ديلفي لا يهمنا شرحها الآن ومنها بعض الملفات التي تنتهي بالتوسع (~) وهي ملفات نسخ احتياطي Backup يستخدمها الدلفي في بعض البرامج

محتوى مشروع ديلفي

- يجب أن يتبع مشروع ديلفي تنسيقاً معرفاً مسبقاً لكي يستطيع المترجم قراءته لتنفيذ البرنامج .

- يحتوي مشروع ديلفي على الكلمة Program متبوعاً باسم المشروع وكتلة أوامر محصورة بين الأمرين Begin و End

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


- لنلق نظرة على وحدة باسكال اختر الأمر File| New ثم اختر Unit سينشئ ديلفي وحدة جديدة .

هذه الوحدة تبدأ بكلمة Unit ويتبعا اسم الوحدة وتظهر الكلمة End في آخر الوحدة تختلف هذه الشيفرة عن السابقة بأنها تحتوي على مقاطع Interface , Implementation والوحدة غير الرئيسية في المشروع يجب أن يحتوي على هذين القسمين لاتجد كلمة begin هذة الوحدة لأنها غير قابلة للتفيذ بدون ملف المشروع.

- القسم Interface

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

- القسم Implementation

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


- القسمان Initialization , finalization

يستخدم القسم Initialization لإعداد (تعيين) القيم الابتدائية للمتغيرات أو بناء الكائنات وشحنه إلى الذاكرة ويقوم القسم finalization بهدم الكائن وتحرير الذاكرة منه ، لا يوجد قسم finalization بدون Initialization مع أن كلا القسمين اختياريين.

- كلمات أساسية إضافية مستخدمة في الوحدات:

كلمة const : وتستخدم لتعريف ثوابت معرفة لا يمكن تغييرها أثناء سير البرنامج.

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

كلمة Var : وتستخدم للتصريح عن متغيرات ضمن شيفرة البرمجة.


- يمكن أن تكتب تعليقات داخل البرنامج ليسهل قراءته أو لتذكر الهدف من أوامر معينة وينصح بالتعليق على البرامج خاصة إذا كنت تطور البرنامج لفترات طويلة أو كان من يقوم بتطوير البرنامج مجموعة أشخاص
* * * * * * * * * * * * * * * * * * * * * * * * * *
لعمل تعليقات داخل البرنامج استخدم القوسان { } للعبارات المكتوبة بينهما وأيضا (* *) وأيضا العلامتان // للسطور ،حيث يبدأ التعليق من العلامتان إلى نهاية السطر مع العلم بأن القوسان { } لهما استخدام آخر في ديلفي مع وجود $ وتستخدم كتوجيهات للمترجم }$HINTS OFF}وغيرها
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
khaled helal
مشاركةالخميس,20/شوال/1425 هـ,08:39 صباحاً
المشاركة #3
الدرس الثالث :

خصائص وأحداث عنصر النافذة

كل مشروع له على الأقل نافذة واحدة Form تمثل النافذة الرئيسة ، كما يمكن أن يكون للمشاريع أكثر من نافذة واحدة. لعنصر النافذة خصائص وأحداث سنستعرضهم في هذا الدرس

عند بداية مشروع جديد ينشئ دلفي نافذة يسميها Form1 بإمكانك إضافة نافذة جديدة من خلال الأمر File|New Form ولكل نافذة وحدة Unit خاص بها يحتوي على برمجة هذه النافذة
ويمكنك الدلفي من التعامل مع النافذة والتعامل مع خصائصها وإضافة أحداث لها من خلال العنصر التالي
والذي سنتعرف الآن على أبرز خصائصة التي يمكننا من التعامل معها

أولا : نتعرف على خصائص عنصر النافذة Properities

ActiveControl : يحدد أي عنصر موضوع على النافذة الرئيسة هو العنصر النشط يمكن التحريك بين العناصر باستخدام الزرTab

AutoScroll : إعطها القيمة True لتظهر وتختفي أشرطة التمرير Scroll bars تلقائياً عند حدوث نقص في مساحة النافذة.

Cruser : يعين شكل مؤشر الفأرة عندما تقع على مساحة النافذة.

Enabled : أعطها القيمة True لكي تستجيب النافذة لأحداث الفأرة ولوحة المفاتيح وعنصر التوقيت Timer وعند إعطائها القيمة False لاتستجيب لاتفعل ذلك إلا إذا كنت تدري ما تفعل .

HerzScrollBar: يظهر شريط التمرير الأفقي للنافذة.

Icon: تحديد أيقونة النافذة ويظهرها على شريط العنوان.

KeyPreview: أعطها القيمة True لكي تتلقى النافذة أغلب أحداث لوحة المفاتيح.

Menu: تستخدم لتحديد قوائم النافذة أحياناً في بعض برامج واجهة المستندات المتعددة Multiple Document Interface واختصاراً MDI كبرنامج مايكروسوفت وورد يمكنك إثناء التشغيل تغيير القوائم.

ObjectMenuItem: يستخدم مع تطبيقات OLE لقواعد البيانات.

PixelsPerInch: يحدد كيف يقوم التطبيق لإنشاء النافذة ليتم قياسها بالنقاط لكل بوصة استخدمه مع Scaled لانشاء نافذة متشابهة في الحجم مع دقة شاشة مختلفة إذاكانت Scaled محددة بالقيمة False فإن PixelsPerInch ليس لها أي تأثير
Position: تحدد المناهج لحساب حجم ومكان النافذة حسب القيم التالية

poDefault يعرض النافذة وموضها المصمم
poDefaultPostOnly يحدد المكان المصمم للنافذة ولكن يحسب حجمها وقت التشغيل (يحدد ويندوز الحجم البدائي لها).

poDefaultSizeOnly يحدد الحجم المصمم للنافذة ولكن يحسب موضعها وقت التشغيل

poScreenCenter عرض النافذة في وسط الشاشة

Scaled: تحدد بالقيمة True لاستخدام خاصة PixelsPerInch يقوم بتغيير مقاسات الشاشة وهو هام لضمان ظهور النص بشكل سليم في تحكم النافذة على أنظمة تستخدم خطوط كبيرة ، كما في الويندوز 98 وويندوز NT والتي يستطيع المستخدم فيها اختيار قياسات الخطوط

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

VertScrollBar: يظهر شريط التمرير الرأسي للنافذة

Visible: تحدد بالقيمة True ليجعل العنصر مرئياً أو False ليخفيه حتى يستدعي البرنامج المنهج Show

WindowMenu: يستخدم في تطبيقات واجهة المستندات المتعددة MDI تصمم القائمة لعرض عناوين النوافذ المفتوحة حدد هذه الخاصية في بنود تغيير النوافذ


ثانيا : نتعرف على أحداث عنصر النافذة Events

OnActive: يتم استدعائه عندما يقوم البرنامج بالتعامل مع النافذة عندما تنتقل من تطبيق آخر

OnDblClick: يتم استدعائه عندما يقوم المستخدم بالنقر المزدوج على
النافذة

OnClick: يتم استدعائه عندما يقوم المستخدم بالنقر المفرد على النافذة

OnClose: يتم استدعائه عندما تغلق النافذة

OnCloseQuery: يستدعى قبل أن تغلق النافذة مباشرة ، يمكنك استخدام هذا الحدث لمنع فقدان البيانات وسؤال المستخدم عن موافقتهم على حفظ البيانات التي تم تغييرها قبل أن تغلق النافذة أو منع النافذة من الإغلاق

OnCreate: يستدعى مرة واحدة عند إنشاء النافذة في الذاكرة.

OnDestory: يستدعى قبل (تدمير) النافذة وهي الفرصة الأخيرة لأداء أي عمل قبل إنهاء التطبيق.

OnDonner, OnBlitzen: تحدث عند حدوث أي حدث مهما كان للنافذة.

OnHide: يستخدم لأداء أعمال عندما تكون النافذة مختفية مثلاً تحريرالذاكرة عندما تكون النافذة في حالة غير مرئية.

OnKeyDown: يستدعى عندما يضغط المستخدم أي مفتاح بما في ذلك مفاتيح التي لها وظائف خاصة استخدم هذا الحدث في حالة ضغط أكثر من مفتاح مثل مفاتيح Alt, Shift, Ctrl مع مفاتيح أخرى يمكن تكرار هذا الحدث قبل رفع الزر ، استخدم القيمة True للخاصة KeyPreview عند استخدام هذا الحدث.

OnKeyPress: يستدعى عندما يضغط المستخدم أي مفتاح غير المفاتيح التي لها وظائف خاصة ، هذا الحدث بعدOnKeyDown وقبل OnKeyUp ، استخدم القيمة True للخاصة KeyPreview عند استخدام هذا الحدث.

OnKeyUp: يستدعى عندما يضغط المستخدم أي مفتاح بما في ذلك مفاتيح التي لها وظائف خاصة يمكن استعمال هذا الحدث مع OnKeyDown فقط لتنظيم نشاط لوحة المفاتيح كما في الألعاب مثلاً، استخدم القيمة True للخاصة KeyPreview عند استخدام هذا الحدث.

OnMouseDown: يحدث عندما يضغط المستخدم على أي زر للفأرة .

OnMouseMove: يحدث عندما يحرك المستخدم مؤشر الفأرة داخل مساحة النافذة يمكنك تحديد فيما إذا ضغط المستخدم على المفاتيح Alt, Shift, Ctrl .

OnMouseUp: يحدث عندما يرفع المستخدم زر الفأرة .

OnPaint: عندما تحتاج محتويات النافذة للتحديث مثلاً عندما يقوم المتخدم بتحريك نافذة أخرى جانباً أو عندما تتغير موقع أو أبعاد النافذة.

OnShow: يستدعى قبل أن تصبح النافذة مرئية ، استخدم هذا الحدث لتنفيذ ما تريد ظهوره عند ظهور النافذة.
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالاثنين,24/شوال/1425 هـ,04:19 مساءً
المشاركة #4

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: مجموعة الخبراء المعتمدين
المشاركات: 80
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:عمان
رقم العضوية: 109



شيء رائع بالفعل اخي العزيز


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

الى الامام وتقبل تحياتي


--------------------
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
khaled helal
مشاركةالثلاثاء,25/شوال/1425 هـ,02:48 مساءً
المشاركة #5
الدرس الرابع :

المتغيرات في برنامج الدلفي Variable

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

كود:


var

x:Integer;

y:Integer;


في المثال السابق قمنا بتعريف متغيرين بالذاكرة يحملان الإسمين x,y ويختصان بحفظ بيانات من نوع الأعداد الصحيحة
يمكن التصريح عن قسم Var في عدة أمكنة فيمكن أن يتواجد القسم Var على مستوى الوحدة أو على مستوى الإجرائية أو التابع أو في كليهما حتى أنه من الممكن تواجد عدة أقسام Var في الوحدة الواحدة ، إليك المثال التالي


كود:

proceder TForm1.Test;

var

s: string;


begin

s:=’هذا هو برنامجي الأول’;

Label1.Caption:=s

end;




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


تخضع أسماء المتغيرات لقواعد ، يمكن استخدام الحرف الصغير والكبير والأرقام والخط السفلي (_) ولايحتوي على مسافات ويجب أن لا يبدأ إسم المتغير برقم ، لاتوجد قيود على طول الإسم ولكن في الواقع سيقوم المترجم بتجاهل ما بعد 255 حرف . وفي الواقع إذا تجاوز طول الإسم عن 20 حرفاً فإن هذا لن يكون مفيداً وعمليا

أمثلة للأسماء المقبولة :


كود:

aVaryLongVaribleName:Integer;

my_var1:Integer;

x:=Integer;



ويجب ملاحظة أن لغة باسكال والدلفي ليست حساسة لشكل الحرف كبير كان أو صغير.

للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالسبت,29/شوال/1425 هـ,05:35 مساءً
المشاركة #6

الرتبة في المنتدى:رقيب

أيقونة المجموعة

المجموعة: الأعضاء
المشاركات: 10
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:السعودية
رقم العضوية: 27



السلام عليكم

بارك الله فيك ، جهد رائع أخي khaled helal


أتمنى لك التوفيق ،،


--------------------
إذا استقبلت العالم بالنفس الواسعة رأيت حقائق السرور تزيد وتتسع وحقائق الهموم تصغر وتضيق وأدركت أن دنياك إن ضاقت فأنت الضيق لا هي ،،،

للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
khaled helal
مشاركةالثلاثاء,03/ذو القعدة/1425 هـ,02:56 مساءً
المشاركة #7
الدرس الخامس

الثوابث في الدلفي Const

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

كود:

Unit Unit2;

Interface

Const
AppCaption =’برنامجي الأول ‘;

Procedure DoSomething;

Implementation

Const
X = 20 ;
Y = 200;

Procedure DoSomthing;
Begin
{أوامر الإجراء DoSomthing تكتب هنا }
End;

End.


في المثال السابق أضفنا القسم Const واحد للثوابت العامة ( التي يمكن للوحدات الأخرى التعامل معها ) وآخر للثوابت التي تستخدمها هذه الوحدة فقط .

بما ان الثابت AppCaption مصرح عنه في القسم InterFace ، فإنه يمكن إستخدامه في أي مكان في الوحدة وفي أي وحدة أخرى واردة في لائحة Uses لهذه الوحدة

ولإن الثوابت y و x مصرح عنها في القسم Implementation فمن الممكن إستخدامها فقط في هذه الوحدة
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
مشاركةالأحد,15/ذو القعدة/1425 هـ,12:11 مساءً
المشاركة #8

الرتبة في المنتدى:ملازم

أيقونة المجموعة

المجموعة: أعضاء فعالين
المشاركات: 104
سجل في:الخميس,09/شعبان/1425 هـ,08:02 صباحاً
الدولة:فلسطين
رقم العضوية: 92



شكرا على المعلومات الأكثر من رائعة أخ خالد هلال


--------------------
<embed src=http://eslol.jeeran.com/tw2eee3.swf WIDTH=350 HEIGHT=120>
للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
khaled helal
مشاركةالثلاثاء,17/ذو القعدة/1425 هـ,02:38 مساءً
المشاركة #9
الدرس السادس

الكلمات الأساسية Else – If , Then

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


كود:

var
x:integer;


begin

x:=StrToInt(Edit1.Text)
if x>10 then
Label1.Caption:='عليك أن تدخل عدد من 1 -10';
end;


في المثال السابق يقوم البرنامج بطلب إدخال من المستخدم ويقارن المدخل بشرط بحيث إذا كان الشرط x>10 متحققا وكان العدد المدخل أكبر من عشرة ينفذ البرنامج الجملة بعد الشرط ويطلب بإدخال عدد أصغر من 10

تنفيذ عدة عبارات داخل الشرط
لنفترض أن لديك عدة سطور من البرمجة يجب أن تنفذ عندما يكون الشرط محققاً عندها سوف تحتاج إلى begin..end لتجعل هذه السطور تشكل كتلة واحدة يكون داخلها تنفيذ الشرط إذا كان متحقق

كود:


if x>10 then
begin
Label1.Caption:='عليك أن تدخل عدد من 1 -10';
Edit1.text:= '10';
end;



إستخدام الشرط Else
أحياناً تحتاج لعمل تنفيذ ما إذا كان الشرط محققاً ولكن تريد البرنامج بأن يؤدي عملاً آخر إذا كان الشرط غير محقق مثل:

كود:


if x=0 then
y:=0
else
y:=sin(x);


للأعلىأبلغ المشرف عن هذه المشاركة
لتعقيب على هذه المشاركة مباشرة
khaled helal
مشاركةالثلاثاء,17/ذو القعدة/1425 هـ,02:50 مساءً
المشاركة #10
الدرس السابع

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

الحلقة التكرارية For
وهي تعد أكثر أنواع الحلقات التكرارية شيوعا
تتطلب هذه الحلقة محددتين القيمةالبدائية والقيمة النهائية إذا كانت الحلقة تصاعدية تستخدم To وإذا كانت تنازلية نستخدم كلمة DownTo .

الصيغة العامة لجملة for التصاعدية هي

كود:


for var := initial_value to end_value do
begin
statment;
end;



في المثال السابق حلقة تكرر الشيفرة الممثلة بعبارة statement حتى تصل إلى القيمة النهائية end_value . لا داعي لاستخدام begin , end إذا كان جسم التكرار يتكون من عبارة واحدة. ولكن عندما نريد إضافة العديد من السطور فنحتاج لإستخدام Begin – End


الصيغة العامة لجملة for التنازلية:

كود:


for var := initial_value DownTo end_value do
begin
statment;
end;


في المثال السابق كتلة الشيفرة يجب أن تكون initial_value أكبر من end_value وتتناقص قيمة العداد المتغير var واحداً في كل تكرار للحلقة

مثال عملي :

أنشئ مشروعاً جديداً

وأضف له زراً Button1 ومكون المفكرة Memo1 غير الخاصة Caption للزر واجعله " ابدأ " أنشئ الحدث OnClick له ، واكتب معالج الحدث كالتالي

كود:


var
I:Integer;

begin

Memo1.Clear;

for I := 0 to 9 do
Memo1.Lines.Add('هذا السطر رقم '+IntToStr(I));

end;


الآن يمكنك تشغيل البرنامج ، إضغط الزر ابدأ وشاهد عمل الحلقة …


الحلقتين التكراريتين While - Repeat

والآن بعد أن رأيت كيف تعمل حلقة for لن يكون صعباً جداً عليك أن تطبق ذات المعنى على حلقتي while , repeat

لنلقي الآن نظرة عليهما الآن.

حلقة while

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

إليك الشكل العام للحلقة while

كود:


While cond_expr do
Begin
Statements;
End;



حيث يفحص البرنامج الشرط cond_expr وعند تحقق الشرط فإن البرنامج ينفذ الأوامر بين الأمرين End – Begin ويعود لقراءة الشرط مرة أخرى وهكذا يستمر في تنفيذ التكرار إلى أن يصبح الشرط غير متحقق فيخرج من التكرار

وإذا كان جسم الحلقة مؤلف من عبارة واحدة فليس هناك داعي لإستخدام Begin – End

حلقة Repeat

مثل حلقة while ولكن الحلقة While تقوم بفحص الشرط في بداية الحلقة ولكن في حالة الحلقة Repeat فإن الشرط يفحص في نهاية الحلقة

إليك هذا البرنامج الذي يبين عمل الحلقة Repeat وهو نفس مثال البرنامج للحلقة For مع تعديل سطور البرنامج

ويمكن ملاحظة ان الحلقة repeat تتنفذ على الأقل مرة واحدة ولكن الحلقة While يمكن أن لا تنفذ ولا مرة


كود:


Var
I:Integer;

begin
I:=5;
Memo1.Clear;

Repeat
Memo1.Lines.Add('هذا السطر رقم '+IntToStr(I));
Dec(I);
Until I=-1;

end;



الإجرائين Break , Continue

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

- استخدم الأمر Continue لتجبر البرنامج على الانتقال إلى نهاية الحلقة متجاوزاً كل العبارات التي تليه .

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

    

عدد المتصفحين لهذا المنتدى «1»: (الضيوف «1» - المتخفون «0»)
الأعضاء «0»: .

عدد الصفحات : 3  1  2  3   > » إضافة رد جديد إضافة موضوع جديد



 
الوقت الأن:اليوم,08:12 مساءً بتوقيت القدس المحتلة

Powered By arabmoheet v3.1

منتديات المحيط العربي  -  راسلنا  -   أعلى
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)
X   رسالة المنتدى
(سوف يتم اغلاق هذه النافذة بعد 2 ثانية)