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

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

قام بنشر (معدل)

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

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

نستخدم كثير الأمر 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

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