فوائد متنوعة لكافة المبرمجين (3)

الناقل : mahmoud | المصدر : www.a3j.com

فوائد متنوعة لكافة مبرمجي الفيجوال بيسك (3)



جعل البرنامج يتوقف عن الإستجابة لفترة معينة

إنسخ السطر التالي إلى قسم التصريحات General

Private Declare Sub Sleep Lib 'kernel32' (ByVal dwMilliseconds As Long)

أكتب مايلي في Command1

Sleep 3000

 

يمكنك تغيير القيمة 3000 وهي جزء من الثانية


--------------------------------------------------------------------------------

طريق هز الفورم:

أضف الكود التالي في قسم التصريحات General

Const FLASHW_STOP = 0
Const FLASHW_CAPTION = &H1
Const FLASHW_TRAY = &H2
Const FLASHW_ALL = (FLASHW_CAPTION Or FLASHW_TRAY)
Const FLASHW_TIMER = &H4
Const FLASHW_TIMERNOFG = &HC
Private Type FLASHWINFO
cbSize As Long
hwnd As Long
dwFlags As Long
uCount As Long
dwTimeout As Long
End Type
Private Declare Function FlashWindowEx Lib 'user32' (pfwi As FLASHWINFO) As Boolean

 

أضف الكود التالي إلى حدث Load للفورم

Dim FlashInfo As FLASHWINFO

FlashInfo.cbSize = Len(FlashInfo)

FlashInfo.dwFlags = FLASHW_ALL Or FLASHW_TIMER

FlashInfo.dwTimeout = 0

FlashInfo.hwnd = Me.hwnd

FlashInfo.uCount = 0
FlashWindowEx FlashInfo

 

أضف أداة التوقيت Timer وغير خاصية Interval إلى 50 مثلاً وأكتب الكود التالي:

Me.Visible = Not Me.Visible

 

--------------------------------------------------------------------------------

ظهور رسالة MsgBox في وقت معين:

أضف زر أمر Command1

ضع الكود التالي في قسم التصريحات General:

Public Sub Delay(HowLong As Date)
TempTime = DateAdd('s', HowLong, Now)
While TempTime > Now
DoEvents
Wend
End Sub

 

ضع السطر التالي في الزر أو في أي مكان أخر

Delay 5
MsgBox ' خالد الزعبي', vbExclamation, ' النمر'

 

--------------------------------------------------------------------------------

تلاشي أداة النصوص Label
أضف إلى الفورم Label1 وTimer1 وغير خاصية Interval إلى 50 مثلاً

أضف الكود اتالي إلى قسم التصريحات General:

Dim a As Integer
Dim b As Boolean

 

أضف الكود التالي إلى التايمر

If a > 455 Then b = True
If a < 10 Then b = False
If b Then a = a - 10 Else a = a + 10
Label1.ForeColor = RGB(a, a, a)

 

--------------------------------------------------------------------------------

إخراج وإدخال السواقة الليزرية
أضف زرين Command و وحدة نمطية Module

إنسخ الأسطر التالية إلى المديول:

Declare Function mciSendString Lib 'winmm.dll' Alias 'mciSendStringA' (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

 

ضع هذه التصريحات في قسم General

Dim lngReturn As Long
Dim strReturn As Long

 

لفتح السواقة ضع هذا الكود في الزر الأول

lngReturn = mciSendString('set CDAudio door open', strReturn, 127, 0)

 

ضع هذا الكود في الزر الثاني للإغلاق:

lngReturn = mciSendString('set CDAudio door closed', strReturn, 127, 0)

 

--------------------------------------------------------------------------------

تدرج اللون لصندوق الصورة Picture
أضف Picture1 و زر أمر Command1

إنسخ الكود التالي إلى زر الأمر Command1

Picture1.ScaleMode = vbPixels
x = Picture1.ScaleWidth
y = Picture1.ScaleHeight
For i = 0 To y - 1
For j = 0 To x - 1
pixel = Picture1.Point(j, i)
red = pixel Mod 256
green = ((pixel And &HFF00) / 256) Mod 256
blue = (pixel And &HFF0000) / 65536
g = ((red * 30) + (green * 60) + (blue * 20)) / 100
Picture1.PSet (j, i), RGB(g, g, g)
Next
Next
Picture1.ScaleMode = vbTwips