إنشاء مفكرتي الخاصة الجزء الخامس

مرحبا بكم في موقع محمد بشير

الدرس السابع عشر إنشاء مفكرتي الخاصة الجزء الخامس

مرحبا بكم في الدرس السابع عشر من دروس لغة البرمجة c#
في هذا الدرس سوف نقوم بواصلة إنشاء مفكرتنا الخاصة
وحتى الآن قمنا بإضافة العديد من خصائص مفكرات النصوص كفتح ملف جديد وقراءة وحفظ الملفات والإضافة إلى خصائص التحرير الأخرى كالنسخ واللصق وغيرهما من الخصائص الكثيرة
وبالرغم من هذا فإن مفكرتنا ما تزال كطفل يحبو لأنها ما زالت تفتقد للكثر من المميزات الضرورية
وفي هذا الدرس سوف نقوم بإضافة ميزة البحث وكما هو معلوم هي الميزات الضرورية والمهمة جدا عند تحرير النصوص
وقبل البدأ في شرح درس اليوم نحب أن ننوه إلى أننا كنا نستعمل ملفا واحدا حتى الآن
ولتسهيل كتابة ومراجعة السطور الإلكترونية سوف نقوم اليوم بكتابة الجزء الخاص بالبحث
في ملف منفصل وربطه بمشروعنا
وبكتابة الجزء الخاص بالبحث أو الإستبدال أو حتى فتح وحفظ الملفات
يمكننا وبكل سهولة تعديل وتصحيح الأخطاء أن وجدت
كما يمكننا استخدام هذه الملفات المنفصلة وإضافتها إلى أي برنامج آخر نود إنشاءه بدون الحوج لكتابة هذه العمليات من جديد
والسؤال الذي يطرح نفسه كيف نضيف ملفات جديدة وربطها مع المشروع الرئيسي للبرنامج
يمكننا فعل ذلك وبكل يسر وسهولة باستخدام بيئة التطوير الخاصة والتي تسمى visual studio أو visual community
وبالتأكيد يمكننا فعل ذلك يدويا ولكن تتطلب منا معرفة ودراية كاملتين
بالملفات الخاصة بالمشاريع وطريقة كتابتها ومعرفة بمحتوى هذه الملفات
لهذا السبب في هذا الدرس سوف نتعرف فقط على طريقة إضافة الملفات وذلك باستخدام بيئة التطوير
بالتأكيد يجب علينا تحميل وتثبيت بيئة التطوير من الموقع الرسمي لشركة licro soft
وبعد ذلك ننتقل إلى مجلد المشروع الخاص بهذا الدرس ونقوم بفتح ملف sample_project.sln وهو موجود في المجلد الرئيسي لهذا المشروع
وبالمناسبة إمتداد .sln هو الإمتداد الخاص بالمشاريع التي تنفذ على بيئة التطوير هذه
وذلك بغض النظر عن لغة البرمجة المستخدمة مثل لغة c# ولغة visual basic
وبعد فتح المشروع نقوم باستخدام القائمة الرئيسية ونبحث عن قائمة باسم project والتي تعني مشروع
ومن خلال هذه القائمة نتمكن من إضافة ملفات جديدة أو إضافة ملفات موجودة لدينا سلفا نريد استخدامها
وإضافة ملفات جديدة نقوم باختيار عنصر add new item بمعنى إضافة عنصر جديد
وبعد فتحه سوف تظهر لنا نافذة جديدة تحتوي على الكثير من العناصر المختلفة وفي البداية يجب علينا التعرف على 3 من هذه العناصر فقط
ولتسهيل الأمر نقوم بالإنتقال بمفتاح التاب حتى نجد مربع تحرير صغير مكتوب به اسم إفتراضي للملف الذي نود إضافته
وبالتأكيد يمكننا تغيير اسم الملف بالاسم الذي نريد
ولكن وقبل مربع التحرير هذا مباشرة نجد مربع خيارات يضم الكثير من الخيارات المختلفة وهي أنواع الملفات التي يمكننا إضافتها
ومثال على هذه الملفات نجد خيار windows form وهو النوع الذي نستخدم حتى الآن وهو يتكون من ملفين كما هو موجود عندنا
ملف form1.cs وملف form1.designer.cs يحملان نفس الاسم مع زيادة كلمة designerفي الملف الثاني
وكما تعلمنا في الدروس السابقة فالملف الثاني نكتب فيه أسماء وخصائص العناصر التي نرغب في استخدامها
أما الملف الأول فهو مخصص لتنفيذ الأوامر البرمجية
ومن ضمن الخيارات الأخرى خيار باسم add class والفرق بينه وبين المثال السابق هو أن هذا النوع يتكون من ملف واحد فقط
وعادة يستخدم لكتابة مجموعة من السطور البرمجية بدون الحوجة لإظهار أي نوافذ
وأيضا يوجد من ضمن الخيارات خيار application configration وهو لإضافة الملف الخاص بإعدادات البرامج وهو يقوم مقام ملفات .ini
وهنالك العديد من الخيارات الأخرى يمكنكم التعرف عليها واستخدامها حسب الحوجة
وبعد أن نقوم باختيار الملف المراد إضافته وفي حالتنا هذه قمنا باختيار الخيار الأول
وبعد تسمية الملفة نقوم بالضغط على زر add بمعنى إضافة وبهذا يمكننا استخدام هذا الملف الجديد
وبهذه الثلاثة خطوات وهي إختيار نوع الملف وتسمية الملف والضغط على زر إضافة يمكننا إضافة أي ملفات جديدة إلى مشاريعنا بدون أي أخطاء ولا عناء
وباستخدام هذه الطريقة قمنا بإضافة ملف خاص لإجراء البحث وقد قمنا بإختيار النوع الول الذي شرحناه وسميناه باسم find.cs
وبهذه الطريقة تمت إضافة ملفين إلى مشروعنا وهما ملف find.cs وملف find.designer.cs
الثاني لتسمية وتعيين العناصر المختلفة والملف الأول لإجراء العمليات وتنفيذ الأوامر المختلفة
فنرجوا مراجعة محتوى هذين الملفين جيدا حتى نتعرف على العناصر والسطور البرمجية التي تحتوي عليها
وقد قمت بكتابة جميع الملاحظات والتوجيهات من خلال هذه الملفات كما عودتكم حتى يسهل على الجميع فهم واستيعاب محتوى السطور البرمجية
فنرجو مراجعتها بصورة جيدة
ملحوظ اسم الملف الذي نقوم بكتابته يصبح تلقائيا هو اسم للإطار أو الكلاس المستخدم في هذا الملف الجديد
وفي حالتنا هذه يصبح اسم الإطار الخاص بنوافذ البحث هو find
وعندما نريد استدعاء أي نافذة موجودة في ملف منفصل كما هو في حالة نافذة البحث هنا
نقوم باستخدام اسم هذا الملف أو بمعنى آخر نقوم باستخدام اسم هذا الإطار لتنفيذ الأوامر
ودعونا نقوم بالتعرف على كيفية أستدعاء النوافذ الأخرى وذلك من خلال المثال التالي
فمثلا عند النقر على عنصر البحث في القائمة الرئيسية ولإظهار نافذة البحث نقوم بكتابة الأكواد كما يلي
// الحزمة الخاصة بعنصر البحث في الكلمات
private void finding_Click(object sender, EventArgs e)
{
//تسمية ووضع قاعدة للتعامل مع إطار أو كلاس البحث find find f = new find();
// قمنا بإنشاء قاعدة إفتراضية لإطار نافذة البحث باسم واضفناها للمتغير f وبالتأكيد يمكنكم تغيير اسم المتغير هذا بأي اسم آخر
وباستخدام اسم المتغير هذا يمكننا إظهار محتوى نافذة البحث
f.ShowDialog(this);
// عندما نستخدم خاصية ShowDialog لا يمكننا التعامل مع نافذة ارئيسية أو أي نوافذ أخى حتى يتم إغلاق النافذة الجديدة التي تم فتحها
وهذه الخاصية هي تستخدم لإظهار النوافذ الجديدة
ولكن إذا أردنا فتح نافذة جديدة وفي نفس الوقت نرغب في التعامل مع النافذة الأم
فقط يجب علينا استخدام خاصية Show بدلا عن خاصية ShowDialog
}
وبهذه الطريقة يمكننا إظهار وتنفيذ أي نافذة موجودة ومرفقة بمشاريعنا
وبالمناسبة قد قمنا بإضافة قائمة جديدة إلى قائمة البرنامج الأساسية باسم البحث واضفنا لها عنصرين هما البحث في الكلمات والبحث التالي
وجعلت مفاتيح إختصارهما هو مشابه لكثير من محررات النصوص الأخرى
مفتاح التحكم مع حرف f لإظهار نافذة البحث الجديدة
ومفتاح f3 لإجراء عملية البحث التالي إذا كان قد تم إجراء عملية بحث سابقا أو إظهار نافذة البحث إذا كانت هذه هي أول مرة يتم فيها البحث عن كلمات
وكما ذكرنا في المرة السابقة اختصارا للوقت والمساحة سوف لن نقوم بنشر محتوى ملفات البرمجة هنا
فنرجوا مراجعتها من خلال ملف البرنامج الرئيسي وملفات البحث الخاصة
وبالنسبة للملف الثاني من ملفات البحث قمنا بإضافة مربع تحرير لكتابة كلمات البحث
وأيضا أضفنا زرين أولهما لإجراء عملية البحث والثاني لإلغاء الأمر والخروج من النافذة
ولإجراء عمليات البحث في النصوص توجد العديد من الأوامر لتنفيذ ذلك
وفي برنامجنا هذا قمنا باستخدام خاصية IndexOf وباستخدام هذه الخاصية يمكننا البحث في النصوص بكل يسر وسهولة
وطريقة استخدامها هي كما يلي
int i = "بسم الله الرحمن الرحيم".IndexOf("ل", 0);
نقوم أولا بكتابة النص المراد البحث فيه ثم نكتب نقطة
ثم نقوم بكتابة اسم الخاصي هذه وبين القوسين نقوم بكتابة النص المراد البحث عنه
وإذا أردنا تحديد نقطة البداية للبحث نقوم بكتابة فاصلة ثم نقطة البداية وفي هذه الحالة هو النقطة 0 أي بمعنى من بداية النص
وإذا لم تكن توجد نتيجة لكلمة البحث تكون المحصلة هي -1
إذا كانت كلمة البحث موجودة تكون النتيجة هي نقطة البداية للكلمة التي تم الحصول عليها
وحتى نتعرف على هذه النتيجة قمنا بإضافة نتيجة البحث إلى المتغير i وهو متغير رقمي
if (i > 0)
إذا كانت النتيجة أكبر من صفر أي بمعنى إذا تم الحصول على كلمة البحث
{
MessageBox.Show("تم الحصول على كلمة البحث");

} else {
وإذا لم تتوفر كلمة البحث
MessageBox.Show("لا توجد أي نتائج للبحث");

}
ولمعرفة المزيد الرجاء مراجعة ملف find.cs وقراءة الملاحظات حتى تتمكن من معرفة الطريقة التي استخدمناها للبحث في هذا البرنامج
وفي الدروس القادمة سوف نتعرف على المزيد من طرق البحث إنشاء الله

ولتحميل المشروع المستخدم في هذا الدرس الرجاء الضغط على رابط

تحميل مشروع الدرس 17

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

للذهاب إلى صفحة المتدى العام الرجاء الضغط على رابط


المنتد العام


وللإشتراك في مجموعة البريد الإلكتروني الرجاء الضغط على



الإشتراك بمجموعة البريد الإلكتروني وإلغاء الإشتراك


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


معلومات عن مجموعة البريد الإلكتروني