السلام عليكم
لدى سوال اخوانى
مثلا انا اريد استخدام timer1 و timer2 و timer3 وكل منهم لة زمن قدح 1 ملى ثانية ويفترض ان لايتعارض عمل ايهم مع الاخر
وكل واحد يعمل مع دالة مختلفة عن الاخر
باختصار هل يمكن تنفيز اجزاء مختلفة من البرنامج فى نفس الوقت
وشكرا
السلام عليكم
لدى سوال اخوانى
مثلا انا اريد استخدام timer1 و timer2 و timer3 وكل منهم لة زمن قدح 1 ملى ثانية ويفترض ان لايتعارض عمل ايهم مع الاخر
وكل واحد يعمل مع دالة مختلفة عن الاخر
باختصار هل يمكن تنفيز اجزاء مختلفة من البرنامج فى نفس الوقت
وشكرا
الى حد علمى البسيط والمبتدئ يوجد ما يسمى بالـ Thread وبها يمكن تنفيذ جزء من البرنامج دون توقف باقى البرنامج ان كان هذا مقصدقك فيمكنك الرد عليا وارسل لك كيفية عمل هذا بالكود ان شاء الله.
غالبا ما يتم تنفيذ الدوال في تسلسل حسب ذكرها في الكود ، الاول ، الثاني ، الثالث و هكذا
لكن حالتك مختلفة ، وهي انك ستقوم بتنفيذ الدوال من ال events تبع ال timers ، و في هذه الحالة ، سيتم نداء الدالة لحالها في وقت مختلف ، و ذلك عندما يحدث ال event
اطمئن تماما ، يمكنك نداء دوال مختلفة في نفس الوقت ، لكن في حالة معينة ،،، حالة الevents
او يمكنك استخدام ال Multi Threading ، و هي امكانية تشغيل اكثر من Thread في نفس الوقت ، يعني مثلا يكون البرنامج شغال في code ، يقوم يعمل thread تانية و يبدأ ينفذ في كود مختلف عن طريق ال thread التانية ، في نفس الوقت ، ينفذ الكود الاول
لكن ليس لديها فائدة في مثل حالتك هذه
تم تعديل هذه المشاركة بواسطة yasirhantoush في 24 مايو 2008 في 08:08
اخوانى yasirhantoush و basemshetewy
اولا اشكركم على الرد والتفاعل
اما بخصوص انا قاصد شنو . فعلا كلامكم انتو الاتنين صاح
انا اريد ان انفز اكثر من 5 اكواد مختلفة شرط ان تكون فى نفس الوقت مثلا هذة خوارزمية بسيطة توضح الفكرة
-----------------------------
اقراء المنفز التسلسلى رقم 1 كل 1 ملى ثانية
انقل قيمة المقروءة الى المتغير landingGear
-------------------------------
قراء المنفز التسلسلى رقم 2 كل 1 ملى ثانية
انقل القيمة الى المتغير GPS
------------------------------
اقراء اليو اس بى كل 1 ملى ثانية
انقل المتغير الى RADAR
------------------------------
اجراء عمليات حسابية
---------------------------
مع العلم ان كل الدوال يجب ان تنفذ فى نفس الوقت :) بحيث يكون هنلك لوووب لكل كود يعيد نفسة كل 1 ملى ثانية
ارجو ان اكون قد وضحت قصدى
ولكم منى جزيل الشكر
اخوكم محمد
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,
أتمنى الإفادة, وشكرا
thanx man your topic is very help full
thanx man again :) that what am talking about
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…