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

هل يمكن ان انفذ اجزاء مختلفة من البرنامج فى نفس الوقت

بدأه eng.alamin في 24 مايو 2008 · 5 رد · 840 مشاهدة · في Microsoft Visual C#.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدى سوال اخوانى

مثلا انا اريد استخدام timer1 و timer2 و timer3 وكل منهم لة زمن قدح 1 ملى ثانية ويفترض ان لايتعارض عمل ايهم مع الاخر

وكل واحد يعمل مع دالة مختلفة عن الاخر

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

وشكرا

#2

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

#3

غالبا ما يتم تنفيذ الدوال في تسلسل حسب ذكرها في الكود ، الاول ، الثاني ، الثالث و هكذا

لكن حالتك مختلفة ، وهي انك ستقوم بتنفيذ الدوال من ال events تبع ال timers ، و في هذه الحالة ، سيتم نداء الدالة لحالها في وقت مختلف ، و ذلك عندما يحدث ال event

اطمئن تماما ، يمكنك نداء دوال مختلفة في نفس الوقت ، لكن في حالة معينة ،،، حالة الevents

او يمكنك استخدام ال Multi Threading ، و هي امكانية تشغيل اكثر من Thread في نفس الوقت ، يعني مثلا يكون البرنامج شغال في code ، يقوم يعمل thread تانية و يبدأ ينفذ في كود مختلف عن طريق ال thread التانية ، في نفس الوقت ، ينفذ الكود الاول

لكن ليس لديها فائدة في مثل حالتك هذه

تم تعديل هذه المشاركة بواسطة yasirhantoush في 24 مايو 2008 في 08:08

#4

اخوانى yasirhantoush و basemshetewy

اولا اشكركم على الرد والتفاعل

اما بخصوص انا قاصد شنو . فعلا كلامكم انتو الاتنين صاح

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

-----------------------------

اقراء المنفز التسلسلى رقم 1 كل 1 ملى ثانية

انقل قيمة المقروءة الى المتغير landingGear

-------------------------------

قراء المنفز التسلسلى رقم 2 كل 1 ملى ثانية

انقل القيمة الى المتغير GPS

------------------------------

اقراء اليو اس بى كل 1 ملى ثانية

انقل المتغير الى RADAR

------------------------------

اجراء عمليات حسابية

---------------------------

مع العلم ان كل الدوال يجب ان تنفذ فى نفس الوقت :) بحيث يكون هنلك لوووب لكل كود يعيد نفسة كل 1 ملى ثانية

ارجو ان اكون قد وضحت قصدى

ولكم منى جزيل الشكر

اخوكم محمد

#5

try using this code:

// this code working with one function or prucedure; if you want to execute more proc. at same time

// just make multi timer threads;

using System;

using System.Threading;

Timer m_Proc1Timer = new Timer(new TimerCallback(Proc1), this, 0, 1000);

/* Timer m_Proc2Timer = new Timer(new TimerCallback(Proc2));

* Timer m_Proc3Timer = new Timer(new TimerCallback(Proc3));

* .

*.

* and so on...

*/

// Hints:

// Param1 'TimerCallback(Proc1)': the manger of callback to for excuting

// Param2 'this': send object that contain information, you can access protected members.

// Param3 '0': The amount of time to delay before callback is invoked in milliseconds.

// Param4 '1000': The time interval between invocations of callback, in milliseconds.

// This method is called by the timer delegate.

protected void Proc1(object stateInfo)

{

// your code place here:

// stateinfo argument contain information about all your object (e.g: forms, classes, structs,....)

}

May i help you,

أتمنى الإفادة, وشكرا

#6

thanx man your topic is very help full

thanx man again :) that what am talking about

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

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

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

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

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