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

صناعة وبرمجة الروبوت

مثبّترائج
بدأه ammarroza في 16 يوليو 2009 · 107 رد · 107,549 مشاهدة · في التحكم الصناعي وربط الحاسب بالعالم الخارجي
مشاركة: واتساب X فيسبوك تيليجرام
#51

السلام عليكم

شكرا اخي hassan_82 على كلامك وتشجيعك, وسأحاول ان شاء الله ان اكتب اكثر عن الموضوع ولكن وقتي ضيق الآن, ولكنني سأحاول, واتمنى من المشرفين اضافته مع بعض مواضيع الاعضاء الاخرى على الشاشة الرئيسية, ليس لانه موضوعي ولكن لتعم الفائدة

اخي khiro rca شكرا لك على مرورة واتمنى ان اقدم المزيد

للاسف لا لم ابرمج على لغة الديلفي ولذلك اعتذر عن عدم تحقيق طلبك

#52

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

سأكمل حديثي عن الروبوت, وسأتحدث اليوم عن embedded systems وكيفية الاستفادة منها في صناعة الروبوت

ان ال embedded systems او ما تدعى بالله العربية "النظام المطمور" هو عبارة عن اتحاد بين software and hardware لتكوين جهاز يقوم بمهمة واحدة.

يمكن ان تكون هذه المهمة صغيرة او كبيرة, بسيطة او معقدة. او يمكن ان تكون هذه المهمة هي للتحكم بجزء ميكانيكي معين مثل الذراع Robot Arm.

ويمكننا ملاحظة وجود هذه الانظمة في بعض الاجهزة من حولنا مثل microwave لانه عبارة عن معالج مع برنامج يستخدم للتحكم به.

وكذلك الغسالات الالكترونية الحديثة وبعض اجزاء السيارات (مثل البريك والوسائد الهوائية) وغيرها من الاجهزة التي تحتوي على هذه الانظمة.

ولكن ستجدون سؤال وهو ما الفرق اذا بين embedded systems والكمبيوتر الشخصي؟

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

ولتحديد ما نحتاجه من هذه الانظمة يجب ان نحدد وظيفتها, والفتحات Ports التي نحتاجها, والسرعة المطلوبة ولغة البرمجة وال OS الذي نحتاجه عليها.

وتتكون هذه الانظمة من عدة اجزاع مثل (وحدة المعالجة المركزية, الذاكرة, وحدات الادخال والاخراج) كما وتحتوي على بعض الكروت مثل (كرت الصوت, كرت الشبكة) وغيرهم, كما يمكن وصلها بشاشة كمبيوتر.

post-23774-1258798012_thumb.jpg

post-23774-1258798028_thumb.jpg

تقوم الشركات عند صناعة الاجهزة الالكترونية مثل microwave and car brake control على سبيل المثال, فانها تقوم بصناعة الhardware او طلبه بنائا على مواصفات معينة, او يستخدمون احيانا microcontroller وذلك للحد من التكلفة العالية.

وهنا في حديثنا عن الروبوت, سأتحدث عن embedded system الجاهزة, او المصممة لبرمجتها ووضعها في الاماكن المرغوبة.

ان هذا النوع من الانظمة (انظر الصور) تحتوي على عدة مخرجات ومدخلات مثل الحاسب الشخصي, اي تحتوي على USB, Serial port, Parallel port, Ethernet, ets….

وتستخدم لتوصيلها على الاجهزة الخاصة بكم للتحكم.

كما ان لغة البرمجة تختلف باختلاف نظام التشغيل

مثلا يمكن ان تحتوي على Linux or Windows CE DOS,

ولغة البرمجة تكون C,C++,JAVA, or .net

post-23774-1258798002_thumb.jpg

post-23774-1258798021_thumb.png

في حديثنا عن الروبوت يمكن ان تستخدمون هذا النوع من الانظمة لوصله بشكل مباشر في الروبوت (وضعه بداخله) للتحكم به بشكل استقلالي فيعمل كعقل له.

او يمكنكم وضعه بداخله ووصل جميع اجزاء الروبوت به (كاميرا, التحكم, الحساسات, الماتورات) ووصله بشكل لاسلكي بكمبيوتر آخر لتسهيل عملية الاتصال والتحكم والاهتمام بسرعة نقل المعلومات, اي انكم مثلا عندما تقومون بالتحكم بذراع روبوت يعمل على serial port وتريدون ان تعملون عليه بشكل لاسلكي, يمكنكم ان تصلونه على serial to Bluetooth ووصله بالكمبيوتر المتحكم, ولن المسافة لا تتعدى 100 متر كما ان سرعة نقل المعلومات ستكون 2.1 Mbit/s, اما عندما تصلون هذا الذراع على embedded system وتقومون بعمل اتصال لاسلكي بينه وبين الجهاز الشخصي (المتحكم) فان سرعة الاتصال ستكون 54MB/S وذلك باستخدام 802.11 G والمسافة يمكن ان تصل الى عدة كيلومترات.

كما انكم يمكنكم ان تقومون ببرمجة embedded system ليتحكم بالروبوت بشكل مستقل عندما ينقطع الاتصال بينه وبين المتحكم.

post-23774-1258798035_thumb.jpg

ويوجد هذا الموقع الذي يتيح لك ان تبرمج وتتحكم ب embedded systems عن طريق الانترنت, وعندما يعجبك المنتج يمكنك ان تقوم بشرائه http://www.freescale.com/

علما بأن لغة البرمجة هي C, ولكنك تحتاج الى التسجيل اولا (سمعت عنه من موقع آخر)

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

#53

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

جميل اخي العزيز ...

ونفع الله بك اخي العزيز

نحن معك... استمر لك الشكر

#54

تسلــــــــــــــــــــــم ياخوي ......

الله يجزاك الجنه على هالجهد .......

#55

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

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

بارك الله فيك اخي وان شاء الله يجعل عيد الاضحى عيدا مباركا علينا وعليك

دمت بود

#56

السلام عليكم

كل عام وانتم بألف خير

شكرا اخواني hassan_82 , **صافي** , ونسيم الجنة على التشجيع

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

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

واذا وجدت اي جزء غير واضح او سؤال فيمكنني مساعدتك او يمكنني ان ادلك اين تقرأ

#57

السلام عليكم

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

يمكننا ادخال جهاز كمبيوتر او Embedded system بداخل الروبوت والتحكم به عن طريق جهاز آخر باستخدام wireless lan كما تحدثت سابقا

اقتباس

من embedded system

في حديثنا عن الروبوت يمكن ان تستخدمون هذا النوع من الانظمة لوصله بشكل مباشر في الروبوت (وضعه بداخله) للتحكم به بشكل استقلالي فيعمل كعقل له.

او يمكنكم وضعه بداخله ووصل جميع اجزاء الروبوت به (كاميرا, التحكم, الحساسات, الماتورات) ووصله بشكل لاسلكي بكمبيوتر آخر لتسهيل عملية الاتصال والتحكم والاهتمام بسرعة نقل المعلومات, اي انكم مثلا عندما تقومون بالتحكم بذراع روبوت يعمل على serial port وتريدون ان تعملون عليه بشكل لاسلكي, يمكنكم ان تصلونه على serial to Bluetooth ووصله بالكمبيوتر المتحكم, ولكن المسافة لا تتعدى 100 متر كما ان سرعة نقل المعلومات ستكون 2.1 Mbit/s, اما عندما تصلون هذا الذراع على embedded system وتقومون بعمل اتصال لاسلكي بينه وبين الجهاز الشخصي (المتحكم) فان سرعة الاتصال ستكون 54MB/S وذلك باستخدام 802.11 G والمسافة يمكن ان تصل الى عدة كيلومترات.

وهذا ما سأقوم بشرحه, وهي طريقة الاتصال بين جهازين كمبيوتر واستخدام احدهما بالتحكم بالآخر عن طريق network سواء كان سلكي او لاسلكي.

ملحوظة:

- اريد التذكير هنا ان الكود باستخدام c#.net 2008 ويعمل على الاصدارات السابقة, ولكن تحتاجون الى نسخ الكود وليس فتح المشروع على الاصدارات السابقة.

- لا اريد الدخول هنا في امور الشبكات كثيرا ولذلك سأحاول تبسيط الامور قدر الامكان.

ان البرنامج الذي ساستخدمه هنا تشابه برامج chatting وهي بكل بساطة ارسال اوامر من الكمبيوتر الاول الى الكمبيوتر الثاني, وبدلا من عرضها (كبرامج المحادثة) يقوم بتنفيذها.

ويوجد برنامجين, الاول Server والثاني Client

Server وهو البرنامج الموجود على الكمبيوتر في الروبوت (او المتصل به)

Client هو البرنامج الذي سيكون في جهاز الكمبيوتر المستخدم في التحكم

وعملية الاتصال موضحة بالصورة

post-23774-12600109670025_thumb.jpg

فالنبدأ اذا بال Client

ان عملية الاتصال تقوم عن طريق IP adress and port number الخاصة بال Server وذلك بعد تحديد عملية الاتصال TCP or UDP

اريد ان انبه هنا اننا نستخدم TCP لضمان وصول الاوامر الى الروبوت

يقوم Client بعد انشاء عملية الاتصال بارسال الاوامر الى Server والذي يقوم بدوره بترجمتها وتنفيذها

using System.IO;

using System.Net.Sockets;

نقوم باستخدام هذه الدوال للتعامل مع Socket

TcpClient MyTcpClient = new TcpClient("LocalHost", 3000);

NetworkStream NS = MyTcpClient.GetStream();

StreamWriter SW = new StreamWriter(NS);

SW.WriteLine(Commandtxt.Text);

SW.Close();

NS.Close();

MyTcpClient.Close();

TcpClient MyTcpClient = new TcpClient("LocalHost", 3000);

نقوم بتعريف Protocol المستخدم وهو TCP ونقوم باسناد IP address او HostName له, وهو في هذا المثال "LocalHost" اي ان Sever and Client موجودون بنفس الجهاز (للتجربة فقط)

اما عن Port فهو 3000, وكما هو معلوم لدينا يوجد بالشبكات port 65535, يمكنكم استخدام اي واحد ولكن ينصح ان يكون اعلى من 1024 , لان اول 1024 port محجوزون لبرامج وخدمات معينة

يجب ان يكون Server and Client على نفس قيمة Port ليتم الاتصال

NetworkStream NS = MyTcpClient.GetStream();
StreamWriter SW = new StreamWriter(NS);

ان NetworkStream عبارة عن Class جاهو في .net يقوم بارسال الرسائل عن طريق TCP

SW.WriteLine(Commandtxt.Text);

هنا يقوم بأخذ الامر وارساله عن طريق الشبكة الي Server

يمكنكم وضع الاوامر بداخل البرنامج مثل Left ليدور الروبوت على اليسار, او Stop ليتوقف, وطبعا للسرعة يجب ان تضعون هذه الاوامر داخل Button او ما يناسبكم.

Server

ان Server يقوم بعملية الاستماع الى Port محدد, وعندما يتم طلب الاتصال يتم عن طريق هذا Port.

using System.IO;

using System.Net.Sockets;

using System.Threading;

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

 thread = new Thread(new System.Threading.ThreadStart(Listener));

 	thread.Start();

هنا نقوم بتفعيل Threading عن الدالة Listener والتي يوجد بها الكود الخاص بعملية الاستماع والاتصال

TcpListener MyTcpListener;

NetworkStream NS;

Socket MySocket;

StreamReader SR;

public delegate void MethodInvoker();

تعريفات الدوال المستخدمة في برنامج Server

الدالة Listener

public void Listener()

 	{

 	MyTcpListener = new TcpListener(3000);

 	MyTcpListener.Start();



 	while (true)

 	{

 	MySocket = MyTcpListener.AcceptSocket();

 	NS = new NetworkStream(MySocket);

 	SR = new StreamReader(NS);

 	MethodInvoker invoker1 = new MethodInvoker(delegate()

 	{

 	ShowCommand(SR.ReadLine());

 	}

 	);

 	this.BeginInvoke(invoker1);

 	}

 	}

MyTcpListener = new TcpListener(3000);

نقوم بتعريف TCP ونسند له قيمة Port وهو 3000

MyTcpListener.Start();

نبدأ بعملية الاستماع الى Port

MySocket = MyTcpListener.AcceptSocket();

NS = new NetworkStream(MySocket);

SR = new StreamReader(NS);

نقوم باستقبال الرسالة باستخدام NetworkStream ونقرأها عن طريق StreamReader

MethodInvoker invoker1 = new MethodInvoker(delegate()

{

	ShowCommand(SR.ReadLine());

}

);

عندما حاولة اظهار Message المستقبلة باستخدام .net 2008 واجهتني مشكلة ظهور رسالة خطأ, وبعد البحث على الانترنت وجدة انه يجب استخدام ما يدعى Method Invoker ووضع اظهار الرسالة بداخل ليتم حل المشكلة

ShowCommand(SR.ReadLine());

اقوم بارسال الامر (الرسالة) المستقبلة الى دالة ShowCommand والتي تقوم بتنفيذ الامر

private void ShowCommand(string Comm)

 	{

 	CommandList.Items.Add(Comm);

 	switch (Comm)

 	{

 	case "Left":

 	MessageBox.Show("Action 1");

 	break;



 	case "Stop":

 	MessageBox.Show("Action 2");

 	break;



 	default:

 	MessageBox.Show("Wrong Command");

 	break;


 	}

 	}

وهنا اقوم بكتابة الكود الخاص بالتحكم بالروبوت والتحكم بأي Hardware اريده, وهذا الكود يمكن ان يتضمن التحكم بال Serial or Parallel port او اي شيء اريد تنفيذه.

Server.rar

Client.rar

تم تعديل هذه المشاركة بواسطة ammarroza في 5 ديسمبر 2009 في 14:20

#58

روعة أخي ، بارك الله فيك ، استفدت كثيرا من هذا الموضوع

جعله الله في ميزان حسناتك

lilgirllaptopsoftened2c.jpg

#59

شكرا اختي LibyanITGirl

#60

السلام عليكم

سأحدث قليلا عن الكاميرات

يوجد عدة انواع من الكاميرات, ويهمنا هنا ثلاثة انواع منها فقط:

webcam والتي تعمل على الكمبيوتر وتتصل عن طريق USB

IP Megapixel camera وهي كاميرا ذات دقة وضوح عالية تعمل عن طريق network كما ويوجد نوع يسمى IP Cam ولكن دقته قليلة

GSM camera هي كاميرا تعمل على شريحة الموبايل لارسال الصور الى اي مكان بالعالم باستخدام الانترنت وعن طريق GPRS

web cam

post-23774-12635539949442_thumb.jpg

Gsm Camera

post-23774-12635540466996_thumb.jpg

Megapixel Camera

post-23774-12635540151954_thumb.jpg

بالنسبة لليوم سأقوم بشرح كود webcam لانه اسهل وارخص واشهر واحد يمكن ان نستخدمه

ولأن كود IP Megapixel camera كبير جدا ولكل كاميرا برمجتها الخاصة, اما كود webcam يعمل على كل انواع الكاميرات

يقوم البرنامج باستخدام component يسمى webcamcapture موجود مع البرنامج بالكود اسفل المشاركة (بالمرفقات)

		private void Form1_Load(object sender, System.EventArgs e)
		{
			//webcam  يحدد حجم الصورة القادمة من 
			this.WebCamCapture.CaptureHeight = this.MainImage.Height;
			this.WebCamCapture.CaptureWidth = this.MainImage.Width;
		}

		private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
		{
			// يقوم بتوقيف الكاميرا عن العمل
			this.WebCamCapture.Stop();
		}

		private void WebCamCapture_ImageCaptured(object source, WebCam_Capture.WebcamEventArgs e)
		{
            // MainImage يضع الصورة المأخوذة من الكاميرا في 
			this.MainImage.Image = e.WebCamImage;
		}

		private void cmdStart_Click(object sender, System.EventArgs e)
		{
	        // يقوم بتغيير سرعة اخذ الصور من الكاميرا
			this.WebCamCapture.TimeToCapture_milliseconds = (int) this.CaptureTime.Value;
            // يقوم بتشغيل الكاميرا
			this.WebCamCapture.Start(0);

		}

		private void cmdStop_Click(object sender, System.EventArgs e)
		{
			// يقوم بتوقيف الكاميرا
			this.WebCamCapture.Stop();
		}


        private void button1_Click(object sender, EventArgs e)
        {
            // يقوم بنسخ لصورة المرادة
            CopyImage.Image = MainImage.Image;
        }

طبعا الملاحظات هي الشرح

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

جزء من الكود من موقع www.planetsourcecode.com

Webcam.rar

#61

مشكوووووووووووووووور اخى الكريم

بصراحه مجهود جباااااااااار

انا اشتركت مخصوص فى هذا المنتدى علشان اشكر حضرتك

لما راتيه فيك من روح التفانى وتقبل اراء الاخرين

بارك الله فيك

#62

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

ما شاء الله ، تبارك الله

فعلاً حضرتك دماغ كبير يا أستاذ عمار ammarroza

بارك الله فيك . فعلاً معلومات قيمة جداً جداً نشكر لك إهتمامك بهذا الموضوع الأكثر من رائع

وفقك الله ورزقك الجنة وأدام عليك الصحة والعافية

مشكور شكراً جزيلاً

والله أنت تستحق كل خير يا أستاذ عمار

إلى الأمام إن شاء الله تعالى

post-12787-12741339659298.jpg

ومامن يد إلا يد الله فوقها *** وما من ظالم إلا سيبلى بأظلم

تفضل أخي الكريم | موسوعة الحميدي الذهبية | بأجزائها الثلاثة مع هدية الموسوعة .

#63

شكرا اخي eng_wael7 على تشجيعك واهلا بالمنتدى الرائع

وشكرا لك ايضا اخي hamidymom على كلامك وسأستمر ان شاء الله

واعتذر عن الانقطاع لانشغالي بالعمل

وسأعود قريبا لاذن الله

#64

انا لم أتابع الموضوع من الأول للآخر وانا متأسف وسافعل إن شاء الله يوم ما

لكن فعلت ما لم يستطع فعله الكثير وهو انك مستمر فيه إلى الآن وهذا يشرفنى أن اعرف شخص بهذا الإصرار

لذلك سأثبت الموضوع فى القسم لتعم الفائدة على الجميع

اكمل بارك الله فى عملك

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#65

على فكره انتا ازهلتنى بالموضوع ده

انا ما كنتش مصدق انك حتوصل للمرحله دى

كنت فاكر ان عنوان الموضوع مجرد دعايه للقراءه والمضمون حاجه تانيه

لك كل تقدير واحترام

ودعائى لك بالتوفيق

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

flamelogo.jpg
#66

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

وشكرا اخي amrflame على الثقة

واعتذر عن التاخير لعدم وجود انترنت بالمنزل الجديد وانشغالي بالعمل

وسأستمر قريبا ان شاء الله

#67

السلام عليكم

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

في حال تم تنفيذه سأقوم بوضع الصور والشرح والخطوات بالتفصيل كمشروع كامل

وسنعود لاحقا

#68

موضوع في غاية الروعه

اشكرك اخي على هذه المعلومات انتظر المزيد :)

#69

الف شكرا على مجهودك والعلم اللى مش بتبخل بيه على حد وان شاء الله يجعله فى ميزان حسناتك

#70

أخي الفاضل صاحب الموضوع !

موضوعك رائع ماشاء الله

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

لان تخصصي وان شاء الله الماجستير في ال mechatronics وال ROBOTICS

#71

شكرااا

لى سوال

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

هل هو ميكانيكا خاصة الانتاج والتصميم ولا اتصالات ولا كهربا باور ولماذا

ارجو الرد

#72
AH_ALGAMAL كتب:

شكرااا

لى سوال

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

هل هو ميكانيكا خاصة الانتاج والتصميم ولا اتصالات ولا كهربا باور ولماذا

ارجو الرد

بصراحة انا مش هندسى, الاخوان في القسم ممكن يفيدوك اكثر.

#73
zamalkawi كتب:

أشكرك أخ ammaroza على التوضيح

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

فقط أري أن تضع عنوان أو مقدمة بسيطة لكل مشاركة توضح الهدف منها ومكانها من الموضوع أو من المشروع لتسهيل المتابعة من القارئ كما أنصح بمحاولة وضع نفسك مكان القارئ (الطرف المتلقي) أثناء الكتابة

وبالمناسبة أنا أتابع هذا الموضوع وأعجبتني الفكرة رغم عدم اهتمامي بها وسأظل أقرأ الموضوع وأتابعه لأستفيد واسمحلي أن أتدخل من آن لآخر لأقول رأي أو وجهة نظر

اخي ammaroza

استمر في شرحك شرحك جميل جدا وانا في انتظار جديدك انا من

اهتمامتي الروبوت بكل اشكاله لكنني مبتداء لذلك اريد طرف الخيط ليس فقط

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

انا تخصصي مثلك علوم حاسوب واريد ان اتوسع في هذا العلم

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

#74

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

وسعيده جدا لانك قمت بشرح البرمجه بالغة ال c# انا متحمسه جدا انتظر الباقي بفارغ الصبر

وفي نفس الوقت ندمانه للاني لم ابحث من الاول في هذا المنتدى لرائع

اشكرك مره اخرى :)

#75

شكرا اختي massari-sondos

وانا الان بجهز وبجمع الموضوع كملف واحد كامل ليسهل قراءته

واقوم باعادة كتابة بعض الاجزاء ايضا ولكن الوقت لا يسعف الشخص

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