صفحة 1 من 4

C# Course

مشاركة غير مقروءةمرسل: الاثنين يوليو 26, 2010 9:11 pm
بواسطة farah_online
السلام عليكم


سيتم وضع السلايدات التي نأخذها في دورة الـ #C ضمن هذا الموضوع

و مناقشة أي استفسار حولها

أتمنى أن تنال إعجابكم و تحقق فائدتكم

يسعدني تلقي أي ملاحظة أو نقد بهدف تحسين هذه الدروس


بسم الله نبدأ :ism:

Re: C# Course

مشاركة غير مقروءةمرسل: الاثنين يوليو 26, 2010 9:19 pm
بواسطة farah_online
الدرس الأول
First Lesson.rar


Re: C# Course

مشاركة غير مقروءةمرسل: الثلاثاء يوليو 27, 2010 12:44 pm
بواسطة Lina
يعطيكِ الف عافيه آنسة فرح
فعلا كان الدرس الاول كثير حلو..
بتمنى تستمري بهال Course

Re: C# Course

مشاركة غير مقروءةمرسل: الثلاثاء يوليو 27, 2010 6:48 pm
بواسطة farah_online

الوظيفة الأولى


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

هي الكلاسات اللي بدنا ياها :
UniversityClassDiagram.png

لح أشرح عنها شوي :
year enum بتمثل السنة الدراسية .
بدي لما عرف object من الـ StudentMark (اللي بتضم علامات طالب واحد بكل المواد ) كون قادرة على التعامل مع هالـobject كمصفوفة دليلها الـid تبع المادة و الvalue فيها هي العلامة تبع الطالب
كل الـData members لازم يكونو private و ألون properties
مشان الـbirthDate حطو حالياً string إذا بدكون و الدرس الجاية منحكي شلون لازم يكون .
توابع الـUpdate بتاخد object من نمط عناصر الـList الموافقة و بتعدل على غرض معين ألو نفس الـid تبع الغرض الممرر ... يعني عنا بحث و من تم تعديل .
كل شي List خلوه Array حالياً .
أي أشياء تانية بتحبو تضيفوها عالوظيفة ما في مشكلة ...
و إذا بتحبو تضيفو مع الـadd , Update الـdelete كمان بكون أحسن ... بس ما حبيت تقل عليكون بالوظيفة :wink2:

Re: C# Course

مشاركة غير مقروءةمرسل: الثلاثاء يوليو 27, 2010 7:50 pm
بواسطة farah_online


تم تغيير موعد الدورة
فأصبح من الساعة 11 و حتى 1:30 ظهراً
في نفس الأيام أحد - ثلاثاء - خميس
بموافقة جمبع من حضر اليوم


Re: C# Course

مشاركة غير مقروءةمرسل: الأربعاء يوليو 28, 2010 5:44 pm
بواسطة farah_online


الدرس الثاني
Second Lesson.rar



Re: C# Course

مشاركة غير مقروءةمرسل: الأربعاء يوليو 28, 2010 5:45 pm
بواسطة farah_online
عذراً منكون نسيت طلب مهم بالوظيفة .... :wink2:
التابع Add لازم ياخد عدد غير محدد من البرامترات كلون من نفس النمط اللي بدنا نضيفو و يضيفون كلون عل مصفوفة .

Re: C# Course

مشاركة غير مقروءةمرسل: الأربعاء يوليو 28, 2010 8:47 pm
بواسطة zabadb
هلأ حابب أطلب طلب صغير من farah_online كونوا عندك خبرة بل #C فياريت تحطيلنا سلايدات بتشرحيلنا فيون #sql with C حتى ولو مابدك تعطيها ضمن منهاج الدورة لأني بلقي هالفكرة من الأفكار المهمة يلي بترلزمنا بعدين وشكرا

Re: C# Course

مشاركة غير مقروءةمرسل: الأربعاء يوليو 28, 2010 8:51 pm
بواسطة zabadb
هلأ أنا مالي مسجل بالدورة وححاول حل الوظيفة بس حابب تحطيلي الإيميل يلي بتحبي أبعتلك عليه الوظيفة مشان تشوفيلي ياه وكمان مافهمت عليكي شو يعني عدد غير محدود من البارمترات للتابع add ياريت توضحيلي قصدك لأني مافهمته

Re: C# Course

مشاركة غير مقروءةمرسل: الأربعاء يوليو 28, 2010 9:28 pm
بواسطة farah_online
zabadb كتب:هلأ حابب أطلب طلب صغير من farah_online كونوا عندك خبرة بل #C فياريت تحطيلنا سلايدات بتشرحيلنا فيون #sql with C حتى ولو مابدك تعطيها ضمن منهاج الدورة لأني بلقي هالفكرة من الأفكار المهمة يلي بترلزمنا بعدين وشكرا


إن شاء الله لح نحاول ناخد الـ ADO.NET بآخر الدورة .. و وقتها بنزل السلايد تبعها ...
ما في وقت ساويون قبل الدرس تبعها ... يا دوب عم لحق سلايدات الدرس اللي بعدو ... :imb:

zabadb كتب:هلأ أنا مالي مسجل بالدورة وححاول حل الوظيفة بس حابب تحطيلي الإيميل يلي بتحبي أبعتلك عليه الوظيفة مشان تشوفيلي ياه وكمان مافهمت عليكي شو يعني عدد غير محدود من البارمترات للتابع add ياريت توضحيلي قصدك لأني مافهمته


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

Re: C# Course

مشاركة غير مقروءةمرسل: السبت يوليو 31, 2010 7:20 pm
بواسطة farah_online
الدرس الثالث
Third Lesson.rar


بالسلايد الرابع من الدرس الثالث كل شي Compiler error بصير It works successfully
و العكس بالعكس ... :imb: يعني متل مو مكتوب بالنظري صح بس طلع خطأ مطبعي بالمثال
أكرر اعتذاري :imb:

Re: C# Course

مشاركة غير مقروءةمرسل: الاثنين أغسطس 02, 2010 2:53 pm
بواسطة zabadb
شو هي الوظيفة تبع الدرسة التالت لأنه مابدنا نكمل الوظيفة يلي بلشنا فيها

Re: C# Course

مشاركة غير مقروءةمرسل: الاثنين أغسطس 02, 2010 4:56 pm
بواسطة farah_online
zabadb كتب:شو هي الوظيفة تبع الدرسة التالت لأنه مابدنا نكمل الوظيفة يلي بلشنا فيها


نظراً لأنو كل الطلاب كانو حالين الوظيفة الماضية ... :evil: :vma:
ما قدرنا نعطيون وظيفة جديدة ... هي الوظيفة يمكن نعمل عليها شي جلسة بس نخلص الـWindows Application ...

الدرس الماضي كان عن الـWindows Application و الدرس بمعظمو عملي .... لهيك ما كنت كاتبة كتير بالسلايدات ...
بس بالنسبة لشخص عم يدرس لحالو السلايدات بالشكل الحالي مو كافيين ... بس لضيق الوقت ما لح أقدر كملون اليوم ... :imb: بلكي إن شاء الله بوكرا أو اللي بعدو بكونو خالصين و بنزلون ... :iok:

الوظيفة تبع الدرس الماضي كانت المثال الأشهر في هذا العالم : آلة حاسبة متل تبع الـWindows ... :wink2:

Re: C# Course

مشاركة غير مقروءةمرسل: السبت أغسطس 07, 2010 5:24 pm
بواسطة farah_online
الدرس الرابع
Fourth Lesson.rar

بعتذر عل التأخر فيه :imb:


كنت حابة أشرح فيه الـevevts و الـdelegates بشكل أعمق مشان ما نكون عم نتعامل مع الـwindows Application بشكل سطحي ، بس الوقت ما سمحلي .... :imb:
لذلك أجلت هالقصة شوي و لح نزلون بسلايد مستقل بعدين ( إن شاء الله )

Re: C# Course

مشاركة غير مقروءةمرسل: السبت أغسطس 07, 2010 6:22 pm
بواسطة farah_online
و هي التطبيقات اللي اللي ساويناها بالدرس الرابع

التطبيق الأول
Application1.rar


التطبيق الثاني
Application2.rar


التطبيق الثالث
Application3.rar


التطبيق الرابع
Application4.rar

التطبيق الأخير ما حكينا عنو بالسلايد هو بيوضح فكرة الـ Multi-purpose event handler
مجرد تطبيق بسيط فيه مجموعة Buttons منكبس على أي زر بيطلع الـtext تبعو بـtextbox ... طبعاً هالشي عم يصير من خلال event handler واحد ...

Re: C# Course

مشاركة غير مقروءةمرسل: السبت أغسطس 07, 2010 7:19 pm
بواسطة zabadb
حابب أسأل فرح سؤال
هاد الكود ساوى عندي مشكلة:
CODE: تحديد الكل
namespace ConsoleApplication2
{
    class Program
    {
        int i;
        string name;
        static void Main(string[] args)
        {
            Program p = new Program();
            Console.Write("i=");
            p.i=Console.Read();
            Console.Write("name");
            p.name = Console.ReadLine();
            Console.WriteLine("i="+p.i+"\n"+"name="+p.name);
        }
    }
}

المشكلة هي سمحلي دخل قيمة المتحول i بس ماسمحلي دخل قيمة name لأنه مباشرة طبعلي قيمة i وخلالي name
فاضية فشو سبب هي المشكلة
هلأ أنا حسنت حلها باستخدام readline و parse بدل read
بس في طريقة تانية
فياريت تخبريني ليش صار هيك وطريقة تانية للتخلص من الخطأ إذا موجود طريقة تانية

Re: C# Course

مشاركة غير مقروءةمرسل: السبت أغسطس 07, 2010 10:05 pm
بواسطة zabadb
حابب أسأل farah_online سؤال تاني
بالسلايدات مكتوب مشان namespace إذا عندي كلاسين إلهون نفس الاسم لازم نحطهون بnamespacesمختلفة طيب هلأ عندي كلاس تالت محطوط بnamespace جديد مختلف عن يلي قبلوه كيف فيني استدعي الكلاس الموجود بnamespace التاني لأنه أنتي كاتبة بالسلايدات منحط اسم الفضاء بعدين اسم الكلاس وبالمثال عم يعطي خطأ ولما طبقتوا طلع كلامك مزبوط بس هيك صار عندي تناقض وماعاد حسنت استدعي الكلاس الموجود بفضاء مختلف فياريت تبينيلي كيف فيني استدعي الكلاس الموجود بفضاء أسماء مختلف لأنه متل ماقلتلك اسم الفضاء وبعدين اسم الكلاس عم يعطي خطأ وأنت حاطة هاد الشي بالمثال فشو الطريقة الصح للاستدعاء وكيف فيني حط أكتر من فضاء أسماء ضمن المشروع الواحد لأني أنا عم أخد console جديد ضمن المشروع فعم يصير عندي أكتر من main بالمروع الواحد فياريت توضحيلي الفكرة وتشرحيلي ياها بمثال وححط الproject يلي حطيط جواة أكتر من فضاء أسماء مشان تتأكدي عم حطون صح ولا خطأ المشروع طبعا مافي جواته إلا فضاءات الأسماء والاستدعاء الخطأ يلي ببين فكرتي وهي هو المشروع يلي بوضح مشكلتي

Re: C# Course

مشاركة غير مقروءةمرسل: السبت أغسطس 07, 2010 11:17 pm
بواسطة farah_online
zabadb كتب:حابب أسأل فرح سؤال
هاد الكود ساوى عندي مشكلة:
CODE: تحديد الكل
namespace ConsoleApplication2
{
    class Program
    {
        int i;
        string name;
        static void Main(string[] args)
        {
            Program p = new Program();
            Console.Write("i=");
            p.i=Console.Read();
            Console.Write("name");
            p.name = Console.ReadLine();
            Console.WriteLine("i="+p.i+"\n"+"name="+p.name);
        }
    }
}

المشكلة هي سمحلي دخل قيمة المتحول i بس ماسمحلي دخل قيمة name لأنه مباشرة طبعلي قيمة i وخلالي name
فاضية فشو سبب هي المشكلة
هلأ أنا حسنت حلها باستخدام readline و parse بدل read
بس في طريقة تانية
فياريت تخبريني ليش صار هيك وطريقة تانية للتخلص من الخطأ إذا موجود طريقة تانية


السبب أنو read بتقرا محرف واحد و بتوقف المؤشر تبع القراءة بعدو مباشرة .. يعني المؤشر لسا ما نزل سطر ...منجي نحنا منكبس enter مشان يكمل تنفيذ ... تحرك مؤشر الكتابة بس تبع القراءة لساتو واقف بعد المحرف اللي قريناه و لما منستدعي readline بيتقرا من عند المؤشر (تبع القراءة) مو واقف لآخر السطر بس المؤشر تبع القراءة لساتو بآخر السطر الأول ... لذلك بتنقرا الـ name تلقائياً و ما بيطلب منك أي إدخال ... و بتكون الname فاضية طبعاً ....

و هي صور بتوضح هالشي :
1.png

2.png

3.png

4.png

5.png


ملاحظة :
غلط أنك تقرا integer بـ read لأنو read بتقرا محرف واحد و لو قرت عدد بتقرا أول رقم منو كمحرف و بترد int هو ترتيبو بالأسكي .
و إذا مصر على read حط بعد ما تقرا الرقم تعليمتين read فاضيين بيمشي الحال ...

Re: C# Course

مشاركة غير مقروءةمرسل: الأحد أغسطس 08, 2010 12:02 am
بواسطة farah_online
zabadb كتب:حابب أسأل farah_online سؤال تاني
بالسلايدات مكتوب مشان namespace إذا عندي كلاسين إلهون نفس الاسم لازم نحطهون بnamespacesمختلفة طيب هلأ عندي كلاس تالت محطوط بnamespace جديد مختلف عن يلي قبلوه كيف فيني استدعي الكلاس الموجود بnamespace التاني لأنه أنتي كاتبة بالسلايدات منحط اسم الفضاء بعدين اسم الكلاس وبالمثال عم يعطي خطأ ولما طبقتوا طلع كلامك مزبوط بس هيك صار عندي تناقض وماعاد حسنت استدعي الكلاس الموجود بفضاء مختلف فياريت تبينيلي كيف فيني استدعي الكلاس الموجود بفضاء أسماء مختلف لأنه متل ماقلتلك اسم الفضاء وبعدين اسم الكلاس عم يعطي خطأ وأنت حاطة هاد الشي بالمثال فشو الطريقة الصح للاستدعاء وكيف فيني حط أكتر من فضاء أسماء ضمن المشروع الواحد لأني أنا عم أخد console جديد ضمن المشروع فعم يصير عندي أكتر من main بالمروع الواحد فياريت توضحيلي الفكرة وتشرحيلي ياها بمثال وححط الproject يلي حطيط جواة أكتر من فضاء أسماء مشان تتأكدي عم حطون صح ولا خطأ المشروع طبعا مافي جواته إلا فضاءات الأسماء والاستدعاء الخطأ يلي ببين فكرتي وهي هو المشروع يلي بوضح مشكلتي


عم يصير معك هالشي لسببين :
الأول : أنو عامل الـ Namespace اللي بدك تتعامل معون بـproject جديد .. بدون ما تعمل reference عليون .
التاني : أنو مو حاطط الكلاسات اللي بدك توصللها puplic .

كيف منعمل reference ؟؟
عميل Right Click على الـJreferenc تبع الـProject اللي بدك توصل فيه لـnamespace تانية بالـ Solution Explorer و اختار Add Reference ... كمل بالصور :
7.png

6.png


لو عامل الـnamespace بنفس المشروع ما بدها reference ...
كيف بعمل namespace تانية بقلب المشروع ...؟؟
ضيف ملف كود جديد و غير اسم الـnamespace اللي فيه بأيدك ... ما بيتأثر شي و لا بيحط علينا أي شرط ... :iok:

Re: C# Course

مشاركة غير مقروءةمرسل: الأحد أغسطس 08, 2010 3:37 pm
بواسطة zabadb
حابب أسألك فرح سؤال
كيف فيني ثبت الشاشة السودا تبع الconsol مشان أحسن شوف النتائج عم أضطر حط متحول وحط تعليمة قراءة مشان ثبتها بس أكيد في طريقة تانية ياريت دليني عليها وشكرا عم عزبك كتير