اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

فكرة بسيطة لطباعة أو إظهار رسائل بنتائج الأكواد مع إمكانية التفعيل والتعطيل


Ahmos

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

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

الأخوة الكرام أسعد الله مسائكم بالخير واليمن والبركات

نستخدم كثير الأمر Debug.print أو Msgbox لطباعة نتائج الأكواد والخطاء أثناء البرمجة 
وبعد المراجعة والإنتهاء من الكود تريد تعطيل هذه الأوامر
ولذلك ولله الحمد والفضل فكرت في هذه الأداة البسيطة (الكود بالأسفل)

 

طريقة الإستخدام :

Call LogMessage "Test message", llInfo, True, True

image.png.6c7c98ab6127a77020e3263265f61c57.png

message = الرسالة او الناتج المراد طباعته
level = أهمية الرسالة وقد تم تعريف 4 مستويات يمكنك الإضافة حسب إحتياجك

 

Public Enum LogLevel
    llInfo = 0
    llWarning = 1
    llError = 2
    llCritical = 3
End Enum

useDebug = هل تريد طباعة النتيجة في الـ Immediate Window
showMsgBox = هل تريد ظهور رسالة بالناتج

 

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

Private Const Debug_Mode_ON   	As Boolean = True
Private Const MsgBox_Mode_ON    As Boolean = False

كما يمكن لاحقاً إضافة خاصية لـ TempMsgBox وهي لإظهار الرسال بشكل مؤقت أعتقد ان الكود موجود بالمنتدي
والنسخة التي أستخدمها بها ميزة لإختيار الزر الإفتراضي عند إنتهاء الوقت المحدد للرسالة (سأشاركها قريباً إن شاء الله)

'-----------------------------------------------------------------------------------------
' Module    : AWS_LOG_Message
' Author    : Original: Ahmos - The Last Egyptian King
'             Enhanced: Ahmos - The Last Egyptian King
' Email     : Phoronex@yahoo.com
' Purpose   : Provide flexible logging functionality with various log levels and options
' Copyright : © 2024 Ahmos. Released under Attribution 4.0 International
'             (CC BY 4.0) - https://creativecommons.org/licenses/by/4.0/
'
' Usage:
' ~~~~~~
' LogMessage "Test message", llInfo, True, True  ' Log a message with debug and message box
'
' Revision History:
' Rev       Date(yyyy-mm-dd)        Description
' ----------------------------------------------------------------------------------------
' 1         2024-10-30              Initial version
'-----------------------------------------------------------------------------------------
' Functions:
' ~~~~~~~~~~
' LogMessage       : Flexible logging with debug and message box options
'
'
' Notes:
' ~~~~~~
' - Logging function supports different levels (Info, Warning, Error, Critical)
' - Options for debug output and message box display
'-----------------------------------------------------------------------------------------
' **-----**_______________{]___________________________________________________________
' {&&&&&&&#%%&#%&%&%&%&%#%&|]__________________________The Last Egyptian King___________\
'                           {]
'-----------------------------------------------------------------------------------------

Public Enum LogLevel
    llInfo = 0
    llWarning = 1
    llError = 2
    llCritical = 3
End Enum

Public Sub LogMessage(ByVal message As String, _
            Optional ByVal level As LogLevel = llInfo, _
            Optional ByVal useDebug As Boolean = False, _
            Optional ByVal showMsgBox As Boolean = False)
    
    Dim prefix 		As String
    Dim msgBoxStyle As VbMsgBoxStyle
    Dim msgBoxTitle As String
    Dim fullMessage As String
    
    Select Case level
        Case llInfo
            prefix = "INFO"
            msgBoxStyle = vbInformation
            msgBoxTitle = "Information"
        Case llWarning
            prefix = "WARNING"
            msgBoxStyle = vbExclamation
            msgBoxTitle = "Warning"
        Case llError
            prefix = "ERROR"
            msgBoxStyle = vbCritical
            msgBoxTitle = "Error"
        Case llCritical
            prefix = "CRITICAL"
            msgBoxStyle = vbCritical
            msgBoxTitle = "Critical Error"
    End Select
    
    
    fullMessage = "[" & prefix & "] " & ": " & message

    If useDebug Then
        Debug.Print fullMessage
    End If
    
    If showMsgBox Then
        MsgBox fullMessage, msgBoxStyle, msgBoxTitle
    End If
    
End Sub

 

تم تعديل بواسطه Ahmos
تصحيح كتابة
  • Like 2
  • Thanks 2
رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information