فوائد متنوعة
لكافة مبرمجي الفيجوال بيسك (2)
كيفية ابطال عمل مفاتيح CTRL+ALT+DEL
ويهدف هذا الإجراء إلى منع المستخدم من إغلاق برنامجك أثناء التنفيذ حيث أن الضغط
على هذه المفاتيح يمكنه من إنهاء البرنامج أو إنهاء ويندوز بكاملها
ويتم ذلك باستخدام الأسطر التالية
ضع التعريفين التاليين في قسم التعريفات Declarations
Private
Declare Function
SystemParametersInfo Lib _
'user32' Alias 'SystemParametersInfoA' (ByVal uAction
_
As Long,
ByVal uParam As
Long, ByVal
lpvParam As Any, _
ByVal fuWinIni As
Long) As
Long
Sub DisableCtrlAltDelete(bDisabled
As Boolean)
Dim X As
Long
X = SystemParametersInfo(97, bDisabled, CStr(1), 0)
End Sub |
لإبطال عمل المفاتيح ضع السطر التالي في المكان المناسب
| Call DisableCtrlAltDelete(True) |
لإعادة عمل المفاتيح ضع السطر التالي في المكان المناسب
| Call DisableCtrlAltDelete(False) |
--------------------------------------------------------------------------------
هـل الملف موجود أم لا ؟
قد يحتاج برنامجك في بعض الأحيان أن يعرف عن أحد الملفات كونه موجوداً على القرص أم
لا ، يمكن عمل ذلك باستخدام الأسطر التالية :
If
Dir(myfilename, vbNormal or vbReadOnly or vbHidden or vbSystem or vbArchive)
= '' then
Msgbox 'الملف غير موجود'
Else
Msgbox 'الملف موجود'
End If |
عدل السطور السابقة حسب احتياج برنامجك
--------------------------------------------------------------------------------
تخصيص مفتاح HotKey لصندوق نص
يمكنك تخصيص مفتاح ساخن HotKey لصندوق نص TextBox بالطريقة التالية : أنشيء أداة من
نوع Label و ضع لها المفتاح الساخن الذي تريده لصندوق النص ثم عدل خاصية TabIndex
لها لتكون أقل بواحد من قيمة نفس الخاصية في صندوق النص ( مثال : إذا كانت قيمة
TabIndex لصندوق النص هي 4 فاجعل قيمتها للأداة من نوع Label الرقم 3 )
--------------------------------------------------------------------------------
كيف تجعل النص يظهر بشكل عمودي في الأداة Labelيمكن
عمل ذلك باستخدام الرمز vbCrLf ، حيث يوضع بعد كل حرف في محتوى الأداة Label كما
يلي :
Private
Sub Form_Activate()
Dim s As
String
For i = 1 To
Len(Label1)
s = s & Mid$(Label1, i, 1) & vbCrLf
Next
Label1 = s
End Sub |
--------------------------------------------------------------------------------
كيفية إغلاق ويندوز من داخل البرنامج أو إعادة تشغيل
ويندوز
قد تحتاج في بعض البرامج أن تقوم بإعادة تشغيل ويندوز بعد قيام المستخدم بتعديل بعض
الخيارات أو لدواع أمنية أو غير ذلك
لعمل ذلك ألصق الأسطر التالية في قسم التعريفات من برنامجك
Public
Const EWX_LOGOFF = 0
Public Const
EWX_SHUTDOWN = 1
Public Const
EWX_REBOOT = 2
Public Const
EWX_FORCE = 4
Declare Function
ExitWindowsEx Lib
'user32' Alias _
'ExitWindowsEx' (ByVal uFlags As Long, ByVal
dwReserved _
As Long)
As Long |
وفي المكان المناسب ، ضع السطر التالي و الذي يقوم بإغلاق ويندوز
| t& = ExitWindowsEx(EWX_REBOOT, 0) |
و يلاحظ أنه يمكن وضع أي من المتغيرات الموجودة أعلاه بدلاً من EWX_REBOOT
--------------------------------------------------------------------------------
تحديد النص في صندوق النص ذاتياً عند الضغط على زر مثلاً
تلاحظ في بعض البرامج عند انتقال التركيز من أداة ما على النافذة إلى صندوق نص
يحتوي على نص فإنه يتم تحديد النص ذاتياً ، للحصول على ذلك في برنامجك قم بكتابة
النص التالي في المكان المناسب ليتم تحديد النص
Text1.SelStart = 0
Text1.SelLength = Len(Text1)
Text1.SetFocus |
--------------------------------------------------------------------------------
إخفاء مؤشر الفأرة في تطبيق فيجوال بيسك
تستطيع إخفاء مؤشر الفأرة في موضع معين من برنامجك باستخدام الدالة ShowCursor و
التي يتم تعريفها في قسم التعريفات أعلى البرنامج لأنها من دوال واجهة برمجة
التطبيقات API على النحو التالي :
Private
Declare Function
ShowCursor Lib 'user32' _
(ByVal bShow As
Long) As
Long |
ومن ثم تستطيع اخفاء المؤشر بتنفيذ الدالة بالشكل التالي
و تستطيع إعادة إظهار المؤشر بتنفيذ الدالة بالشكل التالي
--------------------------------------------------------------------------------
هل يحتوي مشغل الأقراص المدمجة على قرص أم لا ؟؟
تستطيع من خلال إضافة السطور التالية إلى برنامجك تحديد ما إذا كان مشغل الأقراص
المدمجة يحتوي على قرص أم لا
Dim FSO
As FileSystemObject
Dim aDrive As
Drive
Set FSO = New FileSystemObject
For Each aDrive In FSO.Drives
If aDrive.DriveType = CDRom And aDrive.IsReady
= False Then
MsgBox 'لا يوجد قرص في المشغل'
Exit For
ElseIf aDrive.DriveType = CDRom Then
MsgBox aDrive.VolumeName
Exit For
End If
Next
Set FSO = Nothing |
--------------------------------------------------------------------------------
تحديد ما إذا كان تاريخان في نفس الشهر أم لا
تستطيع أن تحدد في برنامجك ما إذا كان تاريخان مدخلان يقعان في نفس الشهر أم لا
باستخدام الدالة DateDiff
المثال التالي يوضح كيفية ذلك
Date1 = '01/02/1999'
Date2 = '15/02/1999'
If DateDiff('m', Date1,
Date2) Then
MsgBox 'التاريخان في شهرين مختلفين'
Else
MsgBox 'التاريخان في نفس الشهر'
End If |
--------------------------------------------------------------------------------
تحديد دقة عرض الشاشة في جهاز المستخدم
تستطيع من خلال أسطر بسيطة تضيفها إلى برنامجك أن تحدد دقة عرض الشاشة في جهاز
المستخدم وذلك كما يلي
Dim x,y
As Integer
x = Screen.Width / 15
y = Screen.Height / 15
If x = 640 And y = 480
Then MsgBox ('640 * 480')
If x = 800 And y = 600
Then MsgBox ('800 * 600')
If x = 1024 And y = 768
Then MsgBox ('1024 * 768') |
وتمنياتي للجميع بالتوفيق
القسم دروس فيجوال بيسك | عدد زيارات الدرس 213 زياره
|