اذهب الي المحتوي
أوفيسنا

مثال لساعة توقف Stopwatch


AbuuAhmed
إذهب إلى أفضل إجابة Solved by AbuuAhmed,

الردود الموصى بها

كما العنوان

عداد تنازلي بالميلي ثانية مع خيار بالتوقف المؤقت وخيار استئناف العد من جديد.

StopwatchExample_01.accdb

تم تعديل بواسطه AbuuAhmed
  • Like 4
رابط هذا التعليق
شارك

السلام عليكم 🙂

 

عمل مبدع ، وكود نظيف وسهل التتبع 🙂

الشيء الوحيد اللي عدّلت فيه هو ، عند النقر على ايقاف الساعة ، كانت تختفي ، فقمت بإيقاف السطر  🙂

Me.txtRemainTime = Null

 

جعفر

  • Like 4
  • Thanks 1
رابط هذا التعليق
شارك

يوجد نقطة وحيدة تحتاج إلى مراجعة ، وهي عند جريان المدة بين يومين، أعتقد هناك ستحدث مشكلة.

سأقوم الليلة إن شاء الله بالتجربة قبل الساعة 12 منتصف الليل. أو ربما سأضطر للعب في ساعة الجهاز.

المؤقت "التايمر" عادة يبدأ العد من جديد مع بداية اليوم الجديد فتصبح قيمته أصغر من "بداية الوقت" (StartTime) وربما يكون الحل بتزويده بقيمة يوم كامل بعد المقارنة طبعا.

رابط هذا التعليق
شارك

21 دقائق مضت, rockjone33 said:

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

إذا هو سؤال لي ، فسأتأخر عليكم بالجواب ، لا تنسوا أنا مصاب بالتشتت وهذه الأمور تتعبني مع التركيز الكثير ، بس وعد مني سأرجع للموضوع.
أخي أنت "مفرط في النشاط" وأنا صعب علي ملاحقتك 🙂 .

رابط هذا التعليق
شارك

7 ساعات مضت, jjafferr said:

الشيء الوحيد اللي عدّلت فيه هو ، عند النقر على ايقاف الساعة ، كانت تختفي ، فقمت بإيقاف السطر

تمون عزيزي ، عدل كما تشاء ، هذا لاستخدامه مع زر التوقف المؤقت ، ويمكن عمله بطريقة أخرى ، الليلة نفكر في طريقة أخرى إن شاء الله.

اللي يعرف نوع الخط اللي يظهر أرقام العداد كما الساعة الرقمية الحقيقية فليدلنا عليه والشكر لكم مقدما.

تم تعديل بواسطه AbuuAhmed
رابط هذا التعليق
شارك

24 دقائق مضت, AbuuAhmed said:

نوع الخط اللي يظهر أرقام العداد كما الساعة الرقمية الحقيقية

اسمه Digital ،

وعند البحث عن خط digital ، اول رابط حصلت عليه https://www.1001fonts.com/digital-7-font.html

 

جعفر

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

تمت التعديلات التالية:

- الأخذ في الاعتبار تغير التاريخ عند الساعة 12 ليلا.

- تبديل الخط لصندوق للعداد مع وضع عنوان مصدر الخط لمن يريد انزاله وحفظه في مجلد الخطوط للويندوز.

- أخذ ملاحظة عزيزنا جعفر بإبقاء الوقت عند الإيقاف النهائي للعد واستبداله بالتعامل مع زر الإيقاف المؤقت.

- بعض التحسينات في الكود.

StopwatchExample_02.accdb

  • Like 4
رابط هذا التعليق
شارك

واذا تسمح لي اخوي ابو احمد ، بجعل البرنامج تلقائيا يستخدم الخط ويحذفه عند الخروج من البرنامج (استخدمت هذه الطريقة في احد برامجي في لخط الباركود 🙂 ) ،

وعليه ، صورة نموذجك بالخط الصحيح سيكون

image.png.a2bceb20083f87ab01c2d809ed45393a.png

.

والوحدة النمطية لإضافة وحذف الخط


Private Declare PtrSafe Function AddFontResource Lib "gdi32.dll" Alias "AddFontResourceA" ( _
    ByVal lpFileName As String) As Long
Private Declare PtrSafe Function RemoveFontResource Lib "gdi32" Alias "RemoveFontResourceA" ( _
    ByVal lpFileName As String) As Long
'

Public Function AddFonts(Font_Name_Path As String)

  Dim result As Long
  
  result = AddFontResource(Font_Name_Path)
  'MsgBox Result & " fonts added"
  
End Function

Public Function RemoveFonts(Font_Name_Path As String)

  Dim result As Long
  
  result = RemoveFontResource(Font_Name_Path)
  'MsgBox Result & " fonts added"
  
End Function

.

وننادي الاضافة عند فتح النموذج ، ثم ننادي الحذف عند اغلاق النموذج:

Private Sub Form_Open(Cancel As Integer)

    Call AddFonts(CurrentProject.Path & "\Digital_Font\digital-7 (mono).ttf")
End Sub

Private Sub Form_Close()

    Call RemoveFonts(CurrentProject.Path & "\Digital_Font\digital-7 (mono).ttf")
End Sub

.

مع مراعاة اني عملت مجلد للخط "digital-7 (mono).ttf" اسميته Digital_Font في مجلد البرنامج

image.png.cb499c3b8a98ab660df4d5050cbacc8e.png

.

جعفر

StopWatch.zip

  • Like 4
رابط هذا التعليق
شارك

7 ساعات مضت, jjafferr said:

واذا تسمح لي اخوي ابو احمد

أكيد أسمح ، وبما أنك توسعت وهذا يخالف أسلوبي حيث أنا أحب التركيز على الفكرة الأساس 🙂 فأنا مشيت مع التيار وتوسعت أيضا بإضافة ملف الصوت.

سؤالي لك : في إضافة الخط نشير إلى مسار الملف واسمه وهذا منطقيا سليم ، فلماذا عند الإزالة نشير إلى نفس المسار عند الإضافة؟!!

 

StopwatchExample_04.rar

تم تعديل بواسطه AbuuAhmed
  • Like 1
رابط هذا التعليق
شارك

آخر نسخة مني إلا إذا كان هناك خللا يحتاج إلى إصلاح

الآن المثال يحمل نموذجين واحد لعرض الوقت المتبقي (تنازليا)

والآخر لعرض الوقت المنقضي (تصاعديا).

 

StopwatchExample_05.rar

رابط هذا التعليق
شارك

17 ساعات مضت, rockjone33 said:

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

لم أستطع أن أصل إلى الموضوع ، لو تزودني بالرابط فضلا وليس أمرا.

  • Like 1
رابط هذا التعليق
شارك

وعليكم السلام 🙂

 

6 ساعات مضت, AbuuAhmed said:

1. فأنا مشيت مع التيار وتوسعت أيضا بإضافة ملف الصوت.

2. سؤالي لك : في إضافة الخط نشير إلى مسار الملف واسمه وهذا منطقيا سليم ، فلماذا عند الإزالة نشير إلى نفس المسار عند الإضافة؟!!

 

1. اضافة جميلة وملف صوت مميز ، والاحلى انك جمعت المرفقات في مجلد واحد 🙂
2. انا كذلك كنت مستغرب من هذا ، وبحثت ولم اصل الى نتيجة ، وبعدها جرّبت واقتنعت 🙂

وكذلك للتجربة ،

1. افتح برنامجك ،

2. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بان الوندوز حذفه ،

3. رجاء ارجاع المجلد Tools مرة اخرى ، باستعمال Ctrl + Z ،

4. افتح اي من النموذجين Up او Dn ،

5. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بأنك لا تستطيع حذفه ، لأن الوندوز يستعمل ملف الخط ،

6. اغلق النموذج الذي فتحته ،

7. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، وستجد ان الوندوز حذفه ،

8. رجاء ارجاع المجلد Tools مرة اخرى ، باستعمال Ctrl + Z ،

 

من هنا نرى ، انه اذا كان الوندوز يستخدم ملف الخط ، فلن يحذف المجلد.

 

9. اعمل هذا التغيير على احد النموذجين Up او Dn ،

Private Sub Form_Close()
    'Call RemoveFonts(CurrentProject.Path & "\Tools\digital-7 (mono).ttf")
    Call RemoveFonts("digital-7 (mono).ttf")
    Call RemoveFonts("C:\Windows\Fonts\digital-7 (mono).ttf")
End Sub

 

10. افتح النموذج ثم اغلقه ،

11. اذهب الى مجلد البرنامج ، احذف المجلد Tools ، ستجد بأنك لا تستطيع حذفه ، لأن الوندوز يستعمل ملف الخط ،

من هنا عرفت انه لسبب ما

9 ساعات مضت, AbuuAhmed said:

عند الإزالة نشير إلى نفس المسار عند الإضافة

 

🙂

 

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

باضافة Debug لمعرفة نتيجة عمل Api :

1 = تم حذف الخط ،

0 = لم يتم حذف الخط (ونلاحظ انه مرتين ، لأن الكود الاخير فيه حذف الخط من مسارين) :

image.png.757134a27a8ffd5409e3926a4e82b339.png

 

جعفر

  • Like 3
  • Thanks 1
رابط هذا التعليق
شارك

9 ساعات مضت, مبرمج متقاعد said:

متميز ابو احمد

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

  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information