السلام عليكم اساتذتي الافاضل ورحمة الله وبركاته
طلبي في هذا البرنامج هو تثبيت قراءة الوزن في الشاشة السوداء بعد مضي دقيقة
مثلا عند صعود الشاحنة على الميزان الالكتروني سوف يظهر الوزن في الشاشة السوداء هكذا كمثال 45500 كغم ولكن بعد ثانية يرجع الوزن هكذا 0 ثم بعد ثانية يرجع الوزن 500 ثم بعد ثانية يرجع الوزن 5500
ثم بعد ثانية يرجع الوزن 45500 وعندما يصل الى هذا الرقم تعاد الكرة مرة ثانية وهكذا ( كيف يتم تثبيت الرقم بعد مضي دقيقة او دقيقتين الى الرقم مثلا 45500 الذي هو وزن الشاحنة الحقيقي
مع وافر التحايا
السلام عليكم ورحمة الله وبركاته
--
انا لم ابرمج مثل هذا من قبل
ولكن بعد الاطلاع على الكود يتبين ان الخطأ يكمن في استخدامك للتايمر (لانه كل ثانية يقوم بعملية تفحص جديد حسب ما قمت باعطاءه امر للفحص (1000))
والشيء الاخر من الخطأ ان تعتمد على كود (On Error Resume Next) في بداية كل كود وبرنامجك لازال قيد التطوير ..
بالعادة المبرمج عندما يتأكد من برنامجه اصبح جاهز للاستخدام الفعلي يقم باضافة هذا الكود قبل تحويله لملف تنفيذي وتحزيمه.. مع اضافة قاعدة بيانات لتسجيل الاخطاء فيما لو حدثت ويعرف في اي نموذج واي وقت واي عملية حصلت للرجوع اليها لاحقا واصلاحها ..
===.
1 - قم بحذف كود تجاوز الخطأ.
2- راجع خطوات عمل الكود في التايمر جزء جزء وتقرأ الكود في التايمر وكأنك انت البرنامج الذي يأخذ البيانات من الميزان(ماذا ستفعل في كل خطوة) ولا تنسى أنه في كل ثانية سيقوم البرنامج بتكرار الخطوات نفسها(فهل من الصحيح برأيك أن يقرأ نفس البيانات في كل ثانية وهل سيقرأها نفسها أم هناك ضوابط تجعله يغير بالبيانات ثم يبدأ فحصها من جديد)...
3- حاول قدر المستطاع ان تستغني عن كتابة الاكواد ضمن التايمر الا ما كان ضروريا ولا يمكن ان يعمل الا داخله.
فلا تستدعي التايمر الا عند الضرورة القصوى.
فأكثر اخطاء المبرمجين تبدأ من استخدامهم للتايمر وعدم القدرة على ضبط الكود وضبط استخدام التايمر للحاجة المطلوبة ثم فصله.
استاذي الفاضل Taha Okla السلام عليكم ورحمة الله وبركاته
اولا شكرا جزيلا لسرعة الرد بارك الله فيك وجزاك الله خيرا
ثانيا الكود الموجود في التايمر زائد انا وضعته فيه وهو اصلا غير موجود في البرنامج لكني بعد ان يأست من ان اثبت القراءة في الشاشة السوداء
لجات الى وضع تايمر ووضع الكود داخله ارجو من حضرتك مسح التايمر مع الكود الموجود فيه وايجاد حل في الكود الموجود في اداة الاتصال
اساتذتي الافاضل السلام عليكم ورحمة الله وبركاته هذا شرح اكثر وضوح للحالة الي تصير معايا الشرح على النموذج داخل البرنامج وهذا البرنامج في المرفقات
مع وافر التحايا
أخي الكريم المفروض الخروج من الحلقة أو الاجراء عند تحقق الشرط
جرب تعديل الكود كالتالي
كود :
Private Sub MSComm1_OnComm()
Dim c As Variant
If MSComm1.CommEvent = comEvReceive Then
If comEvEOF Then
MSComm1.InputLen = 8
c = MSComm1.Input
c1 = ""
For i = 1 To Len(c)
cut = Mid(c, i, 1)
If (IsNumeric(cut)) Or (cut = ".") Then
c1 = c1 & cut
Label5.Caption = Val(c1)
Exit For
End If
Next i
End If
End If
'MSComm1.InBufferCount = 0
استاذي الفاضل Mohamad Anan السلام عليكم ورحمة الله وبركاته
الله يبارك في حضرتك وجزاك الله خيرا اللهم ربي يحفظك اللهم آميين يارب العالمين
ان شاء الله اقوم بتجربة التعديل واعطيك النتيجة شكرا لك مرة ثانية مع وافر التحايا
السلام عليكم استاذي الفاضل Mohamad Anan لم تنجح الطريقة كما تفضلت بها بحيث عندما أضفت الكود الذي تفضلت به حضرتك لم يظهر رقم الوزن في الشاشة السوداء
الحقيقة تعبت ولم اجد ضالتي بتثبيت الرقم في الشاشة السوداء كما شرحتها بالصورة المرفقة في المشاركات اعلاه
هل يمكن مساعدتي مع وافر التحايا
اساتذتي الافاضل السلام عليكم ورحمة الله وبركاته
اساتذتي الافاضل هذه الصورة المرفقة والتي ارفقتها في مشاركاتي السابقة سوف اعيد رفعها مرة ثانية طلبي هو وضع كود برمجي يثبت الوزن الصحيح في الشاشة السوداءاخواني الوزن يتذبذب كما في الصورة المرفقة
طلبي هو عندما يظهر الوزن الصحيح يثبت في الشاشة السوداء البرنامج موجود في المشاركات السابقة والاكواد فيه شاكرا تعاونكم معي
اساتذتي الافاضل الله يحفظكم جميعا ويمن عليكم بالصحة والعافية
ماذا اصاب هذا المنتدى الاكثر من رائع لماذا لايتم الرد على الاعضاء المشاركين بأسئلتهم هل اسئلة الاعضاء صعبة أو غير مفهومة
تحياتي لكم جميعا