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

تنفيذ اوامر كل ثانية من ضمنها لووب وذلك بإستخدام Timer

مغلق
بدأه MohamedAliSalim في 27 أغسطس 2006 · 8 رد · 1,044 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندي زر امر فيه مجموعة من الأوامر لعمل شئ معين

اريد تنفيذ هذه الأوامر كل ثانية بمجرد الضغط مرة واحدة على الزر

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

والكود هو

Private Sub Command3_Click()

Dim value2 As Long

Dim x As String

Dim d As Long

Do Until x = "11111111"

x = x + "1"

d = Bin2Dec(x)

value1 = Inp("&h" + Text1.Text)

'x = Dec2Bin(value1)

value2 = value1 Or d

value2tex = value2

Call leds

'MsgBox Dec2Bin(value2)

Loop

End Sub

اريد تنفيذ هذا كل ثانية

ماذا افعل

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#2

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

اخي ضع أكوادك داخل تايمر

واجعل قيمة الـ Interval تساوي 1000

واجعل قيمة Enabled = False

ثم تحت زر الأمر اكتب الامر التالي

Timer1.Enabled = True

وبذلك سيعمل التايمر بمجرد الضغط على زر الامر

أرجو أن يكون ذلك هو المطلوب

بالتوفيق

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

الى اللقاء

JusT LeT YouR MinD WorK

#3

ضع الشفرة داخل التايمر timer1

وضع في شفرة ال command

الحدث التالي

timer1.interval = 2000

اي تنفيذ الشفرة كل ثانيتين

اي لا تحدد قيمة ال interval لل timer

من الخصائص ولكن اجعل التحكم بها عن طريق الكود

#4

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

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

حاول أن تكتب الكود في نافذة الكود ليكتب في المنتدى بشكل سليم

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

ادعو لي بالهداية فأنا أحتاج هذا الدعاء بشدة

منتدى تصميم التطبيقات (و يشمل نظم التشغيل) و تعريبها. <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

بعض ردودي ومشاراكاتي في المنتدى:

1- هل تريد التحكم بجهازك كأنك محترف, ( إذاً تعال معي وتعلم الرجستري Registry ).

...|-->> فكرة عامة عن الرجستري وكيفية التعامل معه ( رقم المشاركة 1 - 4 )

...|-->> كتابة ملف رجستري

...|-->> تشغيل الرجستري دون رسائل( في الخفاء )

...|-->> بعض التحكمات التي يقدمها الرجستري

...|-->>=>> إيقاف عمل Ctrl+Alt+delete ( Task Manager )

...|-->>=>> إخفاء قائمة ملف file وبذلك لن ترى قائمة file

...|........... في مشاركة أخرى >> حتى ولو قمت بالضغط على أي ملف أو مجلد بزر الفأرة الأيمن

...|-->>=>> لإيقاف وإخفاء عمل البحث Find من على الجهاز

...|-->> بعض المعلومات التي يقدمها الرجستري

...|-->>=>> معرفة الأجهزة المتصلة بالـIDE ورقم السريال الخاص لكل جهاز

...|-->> من أحسن مواقع الرجستري

...|-->>=>> http://technet2.microsoft.com/WindowsServe...3.mspx?mfr=true

منتدى مبرمجي لغة Microsoft Visual Basic <<<<<<

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

برامج من صنعي:

1- لعبة (من صنعي ), جربها وقول رأيك

2- ساعة حائط, من صنعي

بعض ردودي ومشاراكاتي في المنتدى:

1- طريقتان لفتح ملف معين وليكن بامتداد SWF ببرنامجك [ الطريقة الأولى - الطرقة الثانية ]

2- هل تريد ألا يتحكم أحد في الجهاز غيرك؟

3- كود ايقاف عمل زر الاغلاق x بزاوية الفورم

4- عرض صورة متحركة بالكود , أي بدون استخدام أدوات

5- اجعل الـComboBox [ تنسدل - لما تكتب فيا تنسدل وتظهر الاسماء التى تبدأ بالحرف اللي كتبته فى الكومبو ]

6- إنشاء مكون أثناء تشغيل البرنامج ثم إدخاله تحت نطاق مكون آخر مثلاً إدخاله داخل نطاق microsoft tabbed dialog control

أسئلتي في المنتدى التي تم الإجابة عليها:

1- كيف يمكن قراءة الإشارات الصوتية الخارجة من الميكروفون أو السماعات ( لرسمها أو العبث بها ) ؟ أرجو المزيد من الردود ...

2- إيقاف عمل الرجستري

أسئلتي في المنتدى التي لم يتم الإجابة عليها:

اقتباس
ردك يعطي حافذ للإجابة على أسئلتك
#5

السلام عليكم يا شباب

انا فعلا عملت زي ما الأخ MR^King

بس الحدث طلع في النهايا مرة واحدة

بمعنى

انا عندي فورمة وبها 8 دوائر

المفروض الدوائر دي بتنور واحدة تلو الأخر ( تتغير لونها الى الأصفر)

وذلك بحركة تكرارية loop

وعملت االي الأخ MR^King قال عليه

فعند الضغط توقفت شوية ولم يظهر اي تأثير وبعد ثانية او ثانيتين الدوائر كلها نورت مرة واحدة

فما افعل

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

سلامي لكم جميعا

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#6

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

اقتباس
انا فعلا عملت زي ما الأخ MR^King

بس الحدث طلع في النهايا مرة واحدة

بمعنى

انا عندي فورمة وبها 8 دوائر

المفروض الدوائر دي بتنور واحدة تلو الأخر ( تتغير لونها الى الأصفر)

وذلك بحركة تكرارية loop

أخي MohamedAliSalim سبب تنفيذ الكود مرة واحدة هو أنك قمت بالتصريح عن المتغيرات في نفس الـSub الذي فيه الكود

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

لذلك عليك بنقل التصريح عن المتغيرات الى قسم General Declaration

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

فما افعل

سبب التوقف بعد الضغط على الزر هو

أن التايمر لا يبدأ في تنفيذ ما به من أكواد الا بعد مرور الزمن الموجود في الخاصية Interval

فلو كان فيها 1000 يبقى هبيدأ العمل بعد مرور زمن قدره ثانية واحدة

أما لو كنت تريد أن يتم تنفيذ الأكواد بمجرد الضغط على الزر فعليك بوضع الكود تحت زر الأمر قبل السطر Timer1.Enabled = True

ثم قم بوضعه أيضا تحت التايمر (لاختصار تكرار كتابة الكود عليك بوضعه في Sub ثم نادي عليه من زر الكوماند ومن التايمر)

ولكن في هذه الحالة يجب عليك التصريح عن المتغيرات في قسم التصريحات العامة (General Declaration)

وذلك حتى يحدث تتابع بين تنفيذ الكود من زر الكوماند ومن التايمر

عموما جرب التعديل كما ذكرنا وأخبرنا بالنتيجة وان شاء الله يتم تنفيذ ما تريد

بالتوفيق

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

الى اللقاء

JusT LeT YouR MinD WorK

#7

شكرا وجاري التجربة

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

#8

:rolleyes: والله يا أخي MohamedAliSalim أنا ما تمعنت كتير بالكود بس أنا لمحت الجمل التالية

Do Until x = "11111111"

x = x + "1"

أنت الآن تقارن المتغير x بالرقم 11111111 صح ؟

طيب ليش وضعت علامة الأقتباس المزدوجة حول الرقم 11111111 ؟

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

يعني ما في داعي توضع علامات الأقتباس .

وأن شاء الله يزبط معك

:rolleyes: والله يا أخي MohamedAliSalim أنا ما تمعنت كتير بالكود بس أنا لمحت الجمل التالية

Do Until x = "11111111"

x = x + "1"

أنت الآن تقارن المتغير x بالرقم 11111111 صح ؟

طيب ليش وضعت علامة الأقتباس المزدوجة حول الرقم 11111111 ؟

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

يعني ما في داعي توضع علامات الأقتباس .

وأن شاء الله يزبط معك

#9

يا اخي العزيز انا بالعل عاوز اتعامل معاه على انه نص مش اكثر

الحكاية كلها ان انا كنت بتعامل مع المخرج المتوازي Parallel port

وكنت لازم اعطي له قيم ثنائية تتكون من 0 و 1

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

لاني لو عايز اعطي له قيمة ثنائية 00101101

كرقم

سوف يبقى

101101

ومن الممكن ان يحدث مشكلة

وشكرا على اهتمامك

Mohamed Ali Salim

0.1..0...4....7.....6......2.......7........4.........8

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

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

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

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

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

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