الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برامج تعليمية مفتوحة المصدر

بدأه VB Helper في 4 ديسمبر 2011 · 3 رد · 1,182 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمه الله وبركاته

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

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

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

  private void Number(object sender, EventArgs e)
    	{
        	if(label1.Text=="0") label1.Text = "";
        	label1.Text+=(sender as Button).Text;
    	}

الكود السابق يقوم بمعرفة زر الرقم الذي تم نقره من ثم يظهره في مربع العنوان النتيجه, فلو نلاحظ عملنا حدث واحد فقط لجميع ازرار الارقام ومن ثم استخدام الكائن sender لتمييز الزر الذي تم نقره

 private void button13_Click(object sender, EventArgs e)
    	{
        	operation = '+';
        	operand = Convert.ToDouble(label1.Text);
        	label1.Text = "0";
    	}

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

    	private void button17_Click(object sender, EventArgs e)
    	{
        	switch (operation)
        	{ 
            	case '+':
                	label1.Text = Convert.ToString (operand + Convert.ToDouble(label1.Text));
                	break;
            	case '-':
                	label1.Text = Convert.ToString(operand - Convert.ToDouble(label1.Text));
                	break;
            	case '*':
                	label1.Text = Convert.ToString(operand * Convert.ToDouble(label1.Text));
                	break;
            	case '/':
                	if(Convert.ToDouble(label1.Text)!=0)
                    	label1.Text = Convert.ToString(operand / Convert.ToDouble(label1.Text));
                	break;
        	}
    	}

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

 private void Form1_KeyDown(object sender, KeyEventArgs e)
    	{
        	if (e.KeyValue >= 48 && e.KeyValue <= 57)
        	{
            	if (label1.Text == "0") label1.Text = "";
            	label1.Text += (e.KeyValue - 48).ToString();
        	}
    	}

الكود السابق يمكنك من استخدام لوحة المفاتيح لكتابة الارقام بدلا من النقر على ازرار الارقام

	private void MouseEnter(object sender, EventArgs e)
    	{
        	(sender as Button).BackColor = Color.Azure;
    	}

    	private void MouseLeave(object sender, EventArgs e)
    	{
        	(sender as Button).BackColor = Color.WhiteSmoke;
    	}

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

وهناك الكثير الكثير يمكنكم اكتشافه, وارجو منكم التطوير

Calculator.zip

تم تعديل هذه المشاركة بواسطة VB Helper في 6 ديسمبر 2011 في 13:51

2

.:: Wish to become better and better ::.

#2

بارك الله فيك أخي وجعله في ميزان حسناتك

Be the change you want to see in the world


#3

السلام عليكم ورحمه الله وبركاته

اقدم لكم المشروع الثاني وهي عبارة عن محرر بسيط للغة السي شارب, يركز المشروع كثيرا على الـ Regular Expression والتعرف على مجموعة جديدة من الادوات

 void ParseLine(string line)
    	{
        	if (line.StartsWith("//"))
        	{
            	richTextBox1.SelectionFont = new Font("Courier New", 10, FontStyle.Italic);
            	richTextBox1.SelectionColor = Color.Green;
            	richTextBox1.SelectedText = line +"\n";
            	return;
        	}
        	Regex r = new Regex("([ \\t{}():;])");
        	String[] tokens = r.Split(line);
        	foreach (string token in tokens)
        	{
            	// Set the tokens default color and font.
            	richTextBox1.SelectionColor = Color.Black;
            	richTextBox1.SelectionFont = new Font("Courier New", 10, FontStyle.Regular);
            	// Check whether the token is a keyword. 
            	String[] keywords = { "public", "void", "using", "static", "class"};
            	for (int i = 0; i < keywords.Length; i++)
            	{
                	if (keywords == token)
                	{
                    	// Apply alternative color and font to highlight keyword.
                    	richTextBox1.SelectionColor = Color.Blue;
                    	richTextBox1.SelectionFont = new Font("Courier New", 10, FontStyle.Bold);
                    	break;
                	}
            	}
            	richTextBox1.SelectedText = token;
        	}
        	richTextBox1.SelectedText = "\n";
    	}

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

وهناك الكثير الكثير يمكنكم اكتشافه, وارجو منكم التطوير

Editor.zip

3

.:: Wish to become better and better ::.

#4

كيف يمكنك ادراج كبسة لتغيير لون خلفية

أولا يجب عليك ادراج BUTTON

ثانيا يجب عليك ادراج colorDialog من ال ToolBox

ثالثا اكتب الكود التالي في الزر

colorDialog1.ShowDialog();
ChangeBKColor.BackColor=colorDialog1.Color;

مواضيع مشابهة