هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.


 
الرئيسيةالرئيسية  البوابةالبوابة  أحدث الصورأحدث الصور  التسجيلالتسجيل  دخولدخول  

 

 حيل في الفيجوال بيسك

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
ملك الاحزان
...::مدير عام المافيا::...
...::مدير عام المافيا::...
ملك الاحزان


عدد الرسائل : 135
العمر : 36
تاريخ التسجيل : 07/06/2007

حيل في الفيجوال بيسك Empty
مُساهمةموضوع: حيل في الفيجوال بيسك   حيل في الفيجوال بيسك Icon_minitimeالسبت يونيو 09, 2007 2:00 pm

كيف تغير هيئة التاريخ القصير في نظام الويندوز.
ربما كنت تحتاج في برنامجك إلي التعامل مع التاريخ بهيئة معينة مثل "dd/MM/yyyy" وتود التأكيد على تلك الهيئة عند فتح البرنامج فهذا هو الكود الذي يؤدي ذلك.

انسخ الكود التالي إلى قسم الـ General في Module أو الـ Form.

Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Long
Private Const LOCALE_IDATE = &H21 ' short date format ordering
Private Const LOCALE_SSHORTDATE = &H1F ' short date format string

Public Sub SetDateFormat(ByVal theFormat As String)

Dim strBuffer As String
Dim Res As Long

strBuffer = theFormat & Chr(0)
Res = SetLocaleInfo(LOCALE_IDATE, LOCALE_SSHORTDATE, strBuffer)

End Sub


هذا مثال على استخدام تلك الدالة

Call SetDateFormat("dd/MM/yyyy")


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

تغلب على قصور دالة IsDate
لو أنك حاولت اختبار التاريخ بدالة IsDate لتعرف إذا ما كان التاريخ صحيح أم لا فإنك ستفاجأ بسلوك غريب لهذة الدالة بفرض أن إعدادات الويندوز تشير إلى أن هيئة التاريخ القصير هي "dd/MM/yyyy" وكنت تختبر التاريخ "26/01/2000" مثلا سترجع لك الدالة True دلالة على أن هذا النص يمكن أن يمثل تاريخ ولو اختبرت النص "01/26/2000" ستفاجأ بنفس النتيجة حيث أن الدالة حولت النص للهيئة السليمة فبل الإختبار وبذلك كانت النتيجة خاطئة بالنسبة لنا
لذلك فقد كتبت هذه الدالة لإختبار التاريخ بشكل صحيح.
ضع الكود التالي في قسم الـ General من Module

Private Type SYSTEMTIME wYear As Integer
wMonth As Integer
wDayOfWeek As Integer
wDay As Integer
wHour As Integer
wMinute As Integer
wSecond As Integer
wMilliseconds As Integer
End Type

Private Declare Function GetDateFormat Lib "kernel32" Alias "GetDateFormatA" _
(ByVal Locale As Long, ByVal dwFlags As Long, _
lpDate As SYSTEMTIME, ByVal lpFormat As String, ByVal lpDateStr As String, ByVal cchDate As Long) As Long
Private Const LOCALE_IDATE = &H21


Private Sub Main()

If ValidateDate("26/01/2000") Then MsgBox "هذا التاريخ صحيح & "26/01/2000", _
vbMsgBoxRight + vbMsgBoxRtlReading + vbInformation
If Not ValidateDate("01/26/2000") Then MsgBox "هذا التاريخ غير صحيح " & "01/26/2000", _ vbMsgBoxRight + vbMsgBoxRtlReading + vbInformation

End

End Sub


Public Function ValidateDate(theDate As String) As Boolean

Dim cd As SYSTEMTIME
Dim strBuffer As String
Dim Res As Long

cd.wDay = CInt(Left(theDate, 2))
cd.wMonth = CInt(Mid(theDate, 4, 2))
cd.wYear = CInt(Right(theDate, 4))

strBuffer = Space(255)
Res = GetDateFormat(LOCALE_IDATE, 0&, cd, "dd/MM/yyyy", strBuffer, Len(strBuffer))
If Res > 0 Then
ValidateDate = True
End If

End Function


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

تحريك نافذة من أى نقطة.
يمكنك تحريك نافذة من أى نقطة بهذا الكود
هذا الجزء من الكود في قسم الـ General

Private X1 As Integer
Private Y1 As Integer

وهذه الجزء من الكود في حدث Form_MouseMove

If Button = 0 Then
X1 = X
Y1 = Y
End If
If Button = 1 Then
Call Me.Move (Me.Left - (X1 - X), Me.Top - (Y1 - Y))
End If


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

كيف تشغل حافظة الشاشة؟

تري هل من الممكن تشغيل حافظة الشاشة الحالية من داخل برنامجك؟ بالطبع نعم ما عليك إلا أن تفح اـ Form وتضع عليها زر ثم تنسخ هذا الكود إلي قسم General من الـ Form .

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
ByVal lParam As Long) As Long
Private Const WM_SYSCOMMAND = &H112&
Private Const SC_SCREENSAVE = &HF140&

Private Sub Command1_Click()

Dim Res As Long
Res = SendMessage(Me.hWnd, WM_SYSCOMMAND, SC_SCREENSAVE, 0&)

End Sub

.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://hack0.jeeran.com
BAD BOY
..::رئيس شبكة المافيا::...
..::رئيس شبكة المافيا::...
BAD BOY


عدد الرسائل : 80
تاريخ التسجيل : 06/06/2007

حيل في الفيجوال بيسك Empty
مُساهمةموضوع: رد: حيل في الفيجوال بيسك   حيل في الفيجوال بيسك Icon_minitimeالإثنين يونيو 11, 2007 4:04 pm

مشكورررررررررررررررررررررررررررررررررر
مشكورررررررررررررررررررررررررررررررر
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://hack.twilight-mania.com
 
حيل في الفيجوال بيسك
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» حلق مع الفيجوال بيسك
» فوائد متنوعة في الفيجوال بيسك
» الادوات في فيجوال بيسك
» الاحداث في فيجوال بيسك
» الخصائص في فيجوال بيسك

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
 :: مافيا البرمجة :: مافيا الفيجول بيسك-
انتقل الى: