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

دورة للغه C# .Net 2005 من البداية حتى الاحتراف

مغلق
بدأه محـ جمال مـد في 3 أغسطس 2007 · 48 رد · 8,865 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#26

عندي اقتراح

ليش ما نعمل هذه الدروس والأمثلة على شكل ملفات pdf

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

#27

حياكم الله اخواني الافاضل

ومشكورين على ردودكم

اخي الكريم اسماعيل الحلو اذا كنت تود ان تقوم بعمل هذه الدروس على شكل ملفات PDF فليس لدي اي مانع

بشرط ان تبقي حقوقي عليها كالتالي

محـ جمال مـد

Mr.asp@Hotmail.com

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

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#28

Object Oriented Essentials

الاوبجكت اورينتد

نبذة تعريفية حول ال Object Oriented

اقتباس
البرمجة موجهة الهدف object Oriented Programming

في هذا الجزء نتناول مفاهيم البرمجة الموجهة الهدف OOP من خلال تناولنا للنقاط التالية :

1. مفاهيم البرمجة موجهة الأهداف object Oriented Programming

2. الأهداف objects والفصائل Classes

3. دالة البناء Constructor

4. التحميل الزائد لدوال البناء Constructor Overloading

اقتباس
مفاهيم البرمجة موجهة الأهداف OOP Concepts

وكما هو معروف فان البرمجة موجهة الاهداف تعتمد أو تقوم فكرتها على 4 مبادئ رئيسية زهي :

1. الكبسلة Encapsulation

2. اخفاء البيانات Data Hiding

3. الوراثة Inheritance

4. تعدد الأشكال Polymorphism

لنبدأ بالقاء نظره على ما تعنيه هذة المبادئء بشيء من الايجاز ..

اولا : الكبسلة Encapsulation

لكي نفهم فكرة الكبسله ممكن ان نأخذ مثال وليكن صندوق جهاز الحاسوب box والذي يتكون من اللوحة الأم motherbord.. والتي بدورها تتكون من دوائر وما الى ذلك .. ويتكون الجهاز ايضا من Power والذي هو وحده مكونه من أجزاء داخليه .. ومن ثم هناك معالج والذي عباره عن جزء أو وحدة مكون من عدة أجزاء .. وبالنهايه سنلاحظ ان جهاز الحاسوب مكون من تجمع أجزاء وهذة الاجزاء كل منها مكون من أجزاء ووحدات داخلية ..

ومن المثال نستطيع ان نقول ان الكبسله خاصيه ان اي كائن يتكون من وحدات داخليه تتكامل مع بعضها لتكوين الكائن الأكبر

ولاحظ انك من مبدأ الكبسله تستطيع ان تحقق مبدأ اخفاء البيانات

ثانيا : اخفاء البيانات Data Hiding

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

ثالثا : الوراثة Inheritance

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

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

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

رابعا : تعدد الأشكال Polymorphism

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

اقتباس
الأهداف Objects والفصائل Classes

لنفهم معني objects دعنا ناخذ مثال..

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

وهو يشبه تماما كيفية بناء البرامج باستخدام البرمجة موجهة الأهداف OOP فكل عنصر من عناصر البناء انما هو عبارة عن هدف object والبرنامج (كالبيت) عبارة عن مجموعة من الأهداف تتفاعل مع بعضها البعض

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

وهذا القالب هو ما يمثل الفصيله Class بالبرمجة موجهة الاهداف .. ويمكنك بناءها ببرنامجك لتنتج العناصر Objects التي تريدها

وبالطبع الفصيله الواحده تستطيع ان تنشيء منها أى عدد من الأهداف objects

كما انك عليك ملاحظة ان الفصيلة class في لغة #C تتكون من جزءين وهما

1. الخصائص Attributes وهي البيانات data او المتغيرات member variables

2. السلوك أو بمعنى اخر الوظيفة Behavior وهي الدوال member functions أو member method وهو الاسم الغالب في لغة #c

لنأخذ مثال على ذلك وهو اانسان .. فالانسان له عدة خصائص منها االاسم والعمر ...

وله وظائف : يتحرك ويتعلم ويفكر و ... ...

دعونا نري كيف يمكننا ان نكتب الكود للفصيله الانسان Human Class

قم بفتح مشروع جديد من نوع Console

واكتب به الكود التالي ..

using System;

namespace HumanBeing
{

class human
{
public string Name;
public int Age;
public void Move()
{
System.Console.WriteLine("I move");
}
public void think()
{
System.Console.WriteLine("I think");
}
public void Learn()
{
System.Console.WriteLine("I learn");
}
}
class CMain
{
static void Main1(string["> args)
{
human H = new human();
H.Name="Ali";
H.Age=15;
System.Console.WriteLine("My name is "+H.Name);
System.Console.WriteLine("I am "+H.Age+" years old");
H.Move();
H.Learn();
H.think();
System.Console.ReadLine();

}
}
}

لو قمنا بتنفيذ المشروع سيكون لدينا الناتج التالي ..

humanClass.gif

وكما لاحظتم فانه لتعريف هدف object من الفصيلة class نتبع طريقة التعريف التاليه

className objectName = new className();

وهي الصيغة التي عرفنا بها الهدف H من الفصيلة human

ولاستدعاء اي خاصيه واسناد قيمه لها فما علينا الا اتباع الصيغة التاليه

objectName.variableName=value;

ونفس الشيء عند استدعاء دالة من فصيله

objectName.methodName();

أحب ان الفت الانتباه ان Console انما هي فصيلة من فصائل المكتبه namespase التي تسمي System

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

كود:using System;

فيجب اعليك ستدعاء الدالة Console بالطريقة التاليه

كود:

System.Console.WriteLine();

هنا نكون قد استدعينا الدالة writeLine من الفصيله Console التي توجد داخل المكتبة (النطاق) System

اقتباس
دالة البناء Constructor

في الدروس السابقه كنا نعرف متغيرات ونعطيها قيم ابتدائيه ..

كما كان يمكننا ان نغير قيم المتغيرات متي نشاء في البرنامج

int i=0;
.
.
.
i=10;

فقد كانت القيمة الابتدائية مجرد ضمان منا لوجود قيمه محدده بالمتغير اذ انه يمكننا ان نغيرها وقتما نشاء .

ولكن كيف يمكننا فعل ذلك بالفصائل classes ؟؟

بالواقع يوجد داله خاصة تتوفر بالفصائل classes تسمي دالة البناء Constructor وهي المسئولة عن اعطاء قيم ابتدائية لمتغيرات الفصيلة حيث يتم استدعائها تلقائيا عندما نقوم بانشاء هدف Object من هذه الفصيلة

من الجدير بالذكر ان دالة البناء يمكنها ان تستقبل أي عدد من المعاملات Parameters لتحديد القيم الابتدائية لمتغيرات الفصيلة Class

الان قد نتساءل عن أوجه الاختلاف بين الدوال العاديه وبين داله البناء ..؟! فهناك عده نقاط تختلف بها دالة البناء عن الدوال العادية وهي :

1. لابد ان يكون اسم دالة البناء نفس اسم الفصيلة class المعرفه بداخلها .

2. دالة البناء لا تقوم بارجاع اي قيمه ولا حتي void

مثلا للفصيلة human يمكننا ان نكتب دوال البناء مثل :

human()
human(string name)
human(int Age)
human(string Name,int Age)

الان اصبح بامكانك التعديل على الكود السابق لكي تنشئ دالة البناء كالتالي

using System;

namespace constructor
{
class human
{
public string Name;
public int Age; 

public human(string n, int a) // constructor method 
{
Name=n;
Age=a;
}
public void Move()
{
System.Console.WriteLine("I move");
}
public void think()
{
System.Console.WriteLine("I think");
}
public void Learn()
{
System.Console.WriteLine("I learn");
}

}
class CMain
{
static void Main(string["> args)
{
human H = new human("Ali",15);
// H.Name="Ali";
// H.Age=15;
System.Console.WriteLine("My name is "+H.Name);
System.Console.WriteLine("I am "+H.Age+" years old");
H.Move();
H.Learn();
H.think();
System.Console.ReadLine();

}
}
}

بالتالي ستلاحظ انك لم تعد بحاجه لاسناد قيم لمتغيرات الفصيله عند انشاء هدف بل تمرر القيم مباشره عند تعريف الهدف ..

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

اقتباس
التحميل الزائد لدوال البناء Constructor Overloading

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

1. عدد المعاملات Parameters

2. نوع المعاملات ولو كان اختلاف لنةع معامل واحد على الاقل أو حتي اختلاف ترتيب للمعاملات ..

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

لكتابه دوال بناء يمكننا ان نضف على الكود السابق هذه الدوال داخل الفصيله human

class human
{
public string Name;
public int Age; 

public human(string n, int a) // constructor method 
{
Name=n;
Age=a;
}
public human(string n) 
{
Name=n;
Age=0;
}
public human(int a) 
{
Name="Unknown";
Age=a;
}
public human() 
{
Name="UnKnown";
Age=0;
}
public void Move()
{
System.Console.WriteLine("I move");
}
public void think()
{
System.Console.WriteLine("I think");
}
public void Learn()
{
System.Console.WriteLine("I learn");
}

}

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

http://www.arabmoheet.net/forum/default.as...mp;topic_no=336

قام بكتابته اخونا العزيز : النور

وجدت كافة المعلومات التي ساعطيها لكم موجودة هنا فوضعتها لكم هنا

تحياتي للجميع

تم تعديل هذه المشاركة بواسطة محـ جمال مـد في 13 أغسطس 2007 في 01:41

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#29

Inheritance In C# 2005

الوراثة

بسم الله الرحمن الرحيم

اخواننا الافاضل اليوم سنتكلم عن الوراثة

في السي شارب دوت نت 2005

فماذا نقصد بالوراثة

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

حيث يمكننا انشاء كلاس

وان نقوم بعمل وراثة منه من الكلاس بدلا من اعاة الكود المكتوب

مثال على ذلك

Public Class Person 
{
Public String Name;
Public int age;
public string id;

public void M1()
{
Console.WriteLine("Person");
}

}


Public Class Employee : Person
{
Public double Salary
public void M1()
{
Console.WriteLine("Employee");
}
}


public class manager : employee
{
public double com;
public void M1()
{
Console.WriteLine("Manager");

}
}


Static Void Main()
{
Person p = new Person();
Person e = new Employee();
Person m = new Manager();
}

Person [ ] ar = new Person [ ] {p,e,m};

foreach ( person el in ar)
{
el.M1();
}

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

اي اننا نلاحظ اننا عرفنا متغير من نوع person على ال employee

وعرفنا ايضا person في ال manager

بدون ان يعطينا اي خلل

وذلك لان ال person جزء من كل منهما ويمكن تعريفها من خلالهم

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

وتنقل كافة المعلومات من الكلاس الام الى الكلاس الابن

هذه هي كل الوراثة

اليست بسيطة

تحياتي لكم

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#31

اليوم

كل الدروس على كتاب

واحد

pdf

من اعدادوتنسيق :

Fox -_-

طبعا للكاتب الكبير

مجــ جمال ــد (h)

c___mcp_version_0.pdf

تم تعديل هذه المشاركة بواسطة Ben_Laiid في 25 أغسطس 2007 في 15:22

#32

اشكرك وبشدة اخي الفاضل

fox

على التنسيق الرائع

بس اسمي محمد وليس مجمد

ومشكور مرة اخرى

تحياتي لك

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#33

Index And Properties

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

Index & Properties

سنقوم الان بشرح مفصل عنها

اولا ما فائدتها

Index & Properties ستسهل علينا عمليات كثيرة في النظام يمكننا ان نقوم بها بكل سهولة

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

كل هذه الامور تمكننا اياها الدوت نت بشكل سهل جدا

واكثر من ذلك

سناخذ مبدأيا مثال بسيط للـ Index & Properties

اولا نضيف كلاس بشكل مبدأيا نسمية BankAccount

ونكتب فيه الكود التالي

Class BankAccount
{
private double balance;
set balance;
get balance;
}

public void setbalance ( double v)
{

}

public void getbalance 
{
Return balance;
}

في المثال السابق قمنا بعملية تعريف للمتغير Balance داخل الكلاسة

وقمنا بوضع عملية Set و Get

اي ياخذ قيمة معينه

ويرجعها قيمة معينه

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

اما رح تلاحظة الاختلاف لو قلنا Return Balance * 2;

على كل حال

الان سناخذ مثال اخر لتسهيل العملية عليكم

اولا نقوم بعملية اضافة كلاسة

Private Double Balance;
Public Double Bal
{
Set 
{
Balance = Math.Abs(Value);
}
Get
{
Return Balance;
}

}

طبعا المثال واضح مثل المثال السابق ولكن بطريقة اخرى

قمنا هنا بتعريف Set و Get

وجعلنا ال Set تا خذ القيمة وتحولها لعدد صحيح

وال Get ترجعها مثل ما تم التعديل عليها بال Get

نلاحظ ان المسألة بسيطة جدا

بس بدها شوية تركيز

======================================================

Private Double Balance;
Public String ClientName;
Public String BankName;
Public String id;

Public String This [int index]
{
Set 
{
Switch (Index)
{
Case 0 :
ClientName = Value;
break;

case 1 :
bankName = Value;
break;

Case 2 :
id = value;
break;
}
}


Get 
{
Switch (Index)
{
Case 0 :
return ClientName;
break;

Case 1 :
Return BankName;
Break;

Case 2 :
Return id;
Break;

Default :
Return "";
break;
}
}

Public double bal;
{
Set 
{
Balance = math.abs(value);
}
Get 
{
Return balance;
}
}
}

في المثال السابق قمنا بعمل مصفوفة

حيث يمكننا ان نقوم باضافة الاشياء على شكل مصفوفة

ولنقم بذلك نصع في ال Main

الكود التالي

Public static void Main();
{
Bankaccount b = new backaccount();
b.bal = 100;
console.writeline(b.bal);
b.ClientName= “Mohammad”;
console.writeline(b.clname);
b[0]= “Ahmad”;
console.writeline(b[0]);
}

حيث اننا نقوم اولا بعملية تعريف للكلاس ومن ثم نحدد القيمة للعنصر bal

فيقوم باعطاءها القيمة الصحيحة وارجاعها

ومن ثم قمنا بتحديد قيمة ال ClientName

ونطبعها

ومن ثم نقوم بتحديد قيمة من عناصر المصفوفة التي قمنا بانشاءها b

ونطبع العنصر 0 الذي حددنا

هذا كان كل ما لدينا اليوم

ونلقاكم في الدرس القادم ان شاء الله

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

البرنامج بشكل كامل

Class1

using System;
using System.Collections.Generic;
using System.Text;

namespace ddd
{
	class BankAccount
	{
		private double balance;
		public string clientname;
		public string bankname;
		public string id;

		public string this[int index]
		{
			set
			{
				switch (index)
				{ 
					case 0:
						clientname = value;
						break;
					case 1:
						bankname = value;
						break;
					case 2:
						id = value;
						break;
				}
			}
			get
			{
				switch (index)
				{ 
					case 0:
						return clientname;
						break;
					case 1:
						return bankname;
						break;
					case 2:
						return id;
						break;
					default :
						return "";
						break;
				}
			}
		}
		public double bal
		{
			set
			{
				balance = Math.Abs(value);
			}
			get
			{
				return balance;
			}
		}

	}
}

في Program.cs

using System;
using System.Collections.Generic;
using System.Text;

namespace ddd
{
	class Program
	{
		static void Main(string[] args)
		{
			BankAccount b = new BankAccount();
			b.bal = 100.11;
			Console.WriteLine(b.bal);

			b.bankname = "Mohammad";
			Console.WriteLine(b.bankname);

			b[0] = "Ahmad";
			Console.WriteLine(b[0]);
		}
	}
}

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#34

Operator OverLoading

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

موضوع درسنا لهذا اليوم هو Operator OverLoading

حيث سنقوم بشرح هذا الجزء من السي شارب

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

مثال

 a = 1 + 3;

هذا الكود عادي ولن يعطي البرنامج عليه اي خطا يذكر

مثال اخر

int x = 5;
int y = 10;

int a  = x + y;

وهذا الكود لو قمنا بتجربته فلن يعطي عليه اي خطا

الان ماذا لو قمنا بكتابة هذا الكود

MyClass cl1 = new MyClass();
MyClass2 cl2 = new MyClass2

MyClass res = cl1 + cl2;

في الكود السابق سوف يقوم باعطائنا خطا اكيد

فلماذا

لان عملية الجمع غير معرفة في الكلاسات

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

اما عمليات جمع الكلاسات فانت من سيقوم بعملية تجهيز لها

سوف ناخذ المثال التالي

اولا قم باضافة كلاس الى المشروع وسمه Time

وقم بكتابة الكود التالي بداخلة

	  public int Hour, Minute, Second;

	  public static Time operator +(Time r, Time L)
		{
			Time temp = new Time();

			temp.Hour = r.Hour + L.Hour;

			temp.Minute = r.Minute + L.Minute;

			temp.Second = r.Second + L.Second;

			return temp;

		}

الان ساشرح الكود التالي

اولا قمنا بعملية تعريف للمتغيرات في الاعلى

Hour

Minute

Second

الان قمنا بكتابة كود الميثود الجديد وقمنا باضافة دالة Operator +

	  public static Time operator +(Time r, Time L)

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

اولا قمنا بتعريف مثود اسمه Time من نوع Static

وقمنا باضافة كلمة Operator + اي ان هذا االكلاس يستخدم عملية الجمع

وبعدها قمنا بتعريف المتغيرين l , r الى نوع Time

الان قمنا بعملية تعريف لمتغير temp من نوع time

وقمنا باعطاءه القيم

وبعدها يقوم بارجاع قيمة الTime الى الميثود

الان انتهينا من شرح الميثود

وسوف نجرب الميثود في ال main

اذهب الى ال main

واكتب الكود التالي

			Time t1 = new Time();

			t1.Hour = t1.Minute = t1.Second = 4;

			Time t2 = new Time();

			t2.Hour = t2.Minute = t2.Second = 5;

			Time res = t1 + t2;

			Console.WriteLine(res.Minute);

اولا قمنا بعملية تعريف متغير t1 الى الكلاس time

ومن ثم اعطينا القيم لها

وبعدها قمنا بجمع نواتج الكلاسات ووضعناها في المتغير res

ومن ثم طبعناها

لاحظ انه لم يعطنا اي خطا يذكر عند استخدام هذه العملية مع اننا عرفنا كلاسات وجمعناها

وهنا تكمن اهمية ال Operator OverLoading

هذا كان كل ما لدينا لهذا الدرس

نلقاكم في الدرس التالي ان شاء الله

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

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#35

السلام عليكم

اخي مجد

في مشكله صغيره

في هذا الكود

ما بيغى يتنفذ

اقتباس
int x = int.parse(console.readline());

if ( x % 2 ==0) goto event;

console.writeline("odd");

goto end;

event:

console.writeline("Event");

end:;

وقريبا ان شاء الله

اصدار جديد من الكتاب

مع تصليح الاخطاء

تم تعديل هذه المشاركة بواسطة y85.fox في 20 أغسطس 2007 في 01:12

#36

حياك الله اخي الكريم

اعتذر

نسيت ان كلمة event هي كلمة محجوزة في السي شارب لذلك لا تقبلها

قم بتجريب هذا الكود وسينجح باذن الله

 int x = int.Parse(Console.ReadLine());

		if ( x % 2 ==0) goto eevent;
		Console.WriteLine("odd");

		goto end;

		eevent:
		Console.WriteLine("Event");

		end:;

تحياتي

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#37

بجد شكراااااااااااااااااااااااااااااااااااااااا لحضرتك

اسلوب حضرتك رائع فى الشرح بس ياريت حضرتك تستمر فى الكورس وماتسبناش

بس ممكن طلب

معلشى الجزء الخاص بال exception ياريت حضرتك تدعمه بالامثلة عشان نفهمه شوية

وانا اسفة عشان بسال عن الاخطاء دلوقتى بس انا مادخلش من زمان وليسا شايفة الموضوع دوت امبارح

انتظر رد حضرتك

تقبل مروووووووورى

تم تعديل هذه المشاركة بواسطة بطة مصرية في 22 أغسطس 2007 في 01:31

#38

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

#39

جزاك الله خيرا اخي علي الدروس المفيده

ومفيده للمبتدأين في اللغه ومفيده ايضا للمتقدمين في اللغه ليراجعوا علي معلوماتهم

تم تعديل هذه المشاركة بواسطة khaled_tiger في 25 أغسطس 2007 في 14:28

Khaled_Tiger

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

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

#40

السلام عليكم

قمت برفع النسخة الأولى من الكتاب الذي أعدهy85.fox في إحدى مشاركاته السابقة. آمل أن يقوم بتنظيم محتويات الكتاب بشكل أفضل وإن أمكن أن يقوم بنفس الشيء لدورة حماة النهضة

#41

حياكم الله اخواني الافاضل

بالنسبة الاكسبشن فهي لاصطياد الاخطاء

يعني اي خطا بحصل معك في ال Runtime او غيرو

فبدل ما يقوم البرنامج بالخروج من البرنامج بشكل غير لائق واغلاق كافة الامور

يقوم باضهار رسالة

للمستخدم فيها معلومات وبيانات كاملة عن الخطا

وعمليتها بسيطة جدا

try
{
// all code you want to write it in the element
}

catch (Exception ex)
{
MessageBox.Show(ex.Message);
}

فقط

الموضوع بسيط جدا يا اخوان لا توخذوة بانو بمنتهى الصعوبة

وتحياتي لكم

تم تعديل هذه المشاركة بواسطة Ben_Laiid في 26 أغسطس 2007 في 13:10

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#42

شكرا اخى على الرد .... يعنى افهم من كلامك انه ممكن بتم الاستغناء عن هذه الداله

#43

اجل اخي الكريم يمكن

ولكن يفضل استخدامها تحسبا لاي خطا لا تنتبه له

فكما تعلم انه لا يمكنك اصطياد كافة الاخطاء

فهذا الميثود تاتي الحل

تحياتي

مـــبــــــرمـــــــج Asp.Net

لــخدمـ الـــبرمـــجـــة ـــــــات

يــــــــــرجــــى الاضــــافــــــة

Mr.Asp@Hotmail.Com

#44

السلام عليكم

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

يشمل كل شي حتى اليوم

الرابط

http://www.mediafire.com/?cyyctgxisyn

وكل الشكر للاخ محمد جمال

عرفت اسمك ;)

#45

الوصلة لا نعمل معي

هل منرابطة اخري

#47

جزاك الله خيرا y85.fox علي الوصله

Khaled_Tiger

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

يخاطبني السفيه بكل قبح *** فأكره أن أكون له مجيبا

يزيد سفاهة فأزيد حلمــا *** كعود زاده الإحراق طيبا

إذا نطق السفيه فلا تجبه *** فخير من إجابته السكوت

فإن كلَمته فرَجت عنــــه *** وإن خليته كمداً يـمـــوت

#48

جزاك الله خيرا

كل تمام

#49

السلام عليكم

اخي الكريم مجد جمال

مشكله في درس اليثود

حاولت اصبقه ما يشتغل

كلن في خطا انت ضايف كلمه Void مع التابع الذي فيه return

وايضا لم يعمل البرنامج

بعد التعديل طلع ذا الكود

اقتباس
using System;

using System.Collections.Generic;

using System.Text;

namespace ConsoleApplication3

{

class Program

{

static void Main(string[] args)

{

Program ex = new Program();

double xx=ex.M(10);

Console.WriteLine(xx);

}

double M( int x)

{

return Math.Pow (x,3);

}

}

}

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…