1- كيف يمكن أن تتحكم في طول الخطوة التي تتحركها الأداة عندما تحركها عن طريق الأسهم ؟
يمكنك ذلك بتغيير قيمة Grid Units والتي يمكن الوصول لها من قائمة Tools ثم Option ثم General ثم Gird Units.
غير هذه القيمة كما يحلو لك ثم اضغط OK.
_________________
2- كيف تصل لأي خاصية في نافذة الخواص بسرعة عن طريق لوحة المفاتيح؟
هل ترى أن استخدام الماوس أحيانا يكون مزعجا عندما تحاول الوصول لخاصية معينة في نافذة الخواص وترغب في تأدية ذلك عن طريق لوحة المفاتيح ؟
الطريقة ببساطة اضغط مفتاح Ctrl + Shift + الحرف الأول من الخاصية التي تريدها
وباستمرار الضغط تنتقل إلى الخاصية التالية التي تبدأ بنفس الحرف وتستمرالحركة في التكرار.
_________________
كيف تشغل حافظة الشاشة؟
تري هل من الممكن تشغيل حافظة الشاشة الحالية من داخل برنامجك؟ بالطبع نعم ما عليك إلا أن تفح اـ 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
________________
4-كيف تقوم بنسخ الخواص من أداة لأخري أو أكثر؟
بفرض أن لدينا أداة بها خاصية أو أكثر نود نسخ قيمة تلك الخاصية لأدوات أخرى (بالطبع لن تكون هناك أي مشكلة لو كنت تريد النسخ من واحدة لواحدة لكن تصور لوكان الكثير من الأدوات) .
الخطوات:
قم بتحديد الأداة المصدر(التي تود نسخ الخواص منها) .
اضغط مفتاح Shift وقم بتحديد كل الأدوات الهدف(التي تريد النسخ لها) .
اضغط مفتاح F4 لإستعاء نافذة الخواص.
انقر نفرة ثلاثية على الخاصية التي تريد نسخها (نقرة ثلاثية تعني ثلاث مرات سريعة مثل النقر المزدوج ولابد ان يكون النقر على اليسارعلى اسم الخاصية وليس على قيمتها).
_________________
شعارات الجامعات المصرية
كيف تعمل ملف السيت اب
أجمد برنامج ميديا لكل الأعضاء
5- طريقة تجعل خاصية أي أداة ترسمها على الـ Form مضبوطة مسبقا
لنفترض أنك تود وضع عشرة صناديق نصوص عل الـ Form وتريد أن يكون الخط فيهم جميعا متشابه لكن ليس هو الإفتراضي ، فماذا تفعل لتوفر على نفسك جهد صبط خاصية الخط يدويا عشرة مرات؟
إليك الطريقة البسيطة الفعالة :
حدد خاصية الخط كما تريدة للـ Form وضع الادوات التي تريدها.
فقـــــــــــــــــــــــــــــــــــــــط
_________________
6- كيف يمكن تنشيط (تفعيل) برنامج ملحلق (Add-in) لمحرر فيجوال بيسك
تنشيط أو تشغيل برنامج معين من البرامج الملحقة بمحرر فيجوال بيسك نعني به إضافة هذا البرنامج في قائمة Add-ins الموجود في شريط القوائم وذلك حتى يمكنا إختيارها لتشغيلها بعد ذلك (وظهور البرنامج في قائمة Add-In أحيانا يكون له استثناء كما في حالة برنامج VB 6 Resource Editor الذي يظهر في قائمة Tools)، ولأداء ذلك نتبع الآتي نفتح القائمة Add-ins من شريط القوائم ثم نختر Add-in Manger فتفتح لنا شاشة بها جميع البرامج الملحقة بالفيجوال بيسك والمثبته في النظام ، نختر البرنامج الذي نريد تنشيطه ثم نحدد تشغيل أو إيقاف البرنامج عن طريق CheckBox المسمي Load/Unload وكذلك نحدد إن كان هذا البرنامج سيتم تفعيله كل مرة بمجرد تشغيل فيجوال بيسك أم لا عن طريق CheckBox المسمى LoadOnStartup ثم نضغط OK
_________________
7- كيف يمكن قراْة أكواد الباركود باستخدام قارئ الباركود من داخل فيجوال بيسك؟
استخدام الباركود من داخل برنامج فيجوال بيسك لا يحتاج إلى برنامج أو أداة تحكم او كود مخصوص فقارئ الباركود يقوم بالعمل كله ويرسل لك الأرقام وما عليك إلا تهيئة المكان المناسب لإستقبالها.
بمعنى أنه إذا كان قارئ الباركود موصول إلى الكمبيوتر جرب ان تفتح برنامج المفكرة الخاص بالويندوز ثم مرر قارئ الباركود على أي كود لأي منتج وليكن قرص مدمج من الأقراص التي بالتأكيد موجودة أمامك... ماذا حدث ؟
لقد كتب في المفكرة بعض الأرقام التي هي عبارة عن الكود المقروء.
إذان كل ما تحتاجه أنت في برنامجك أن تضع المؤشر في صندوق النصوص المطلوب ثم تقم بقراءة الكود.
إذا كنت تريد أن تسخدم الباركود في برنامج وتود أن تطبع ملصقات الباركود من داخل برنامج فالآن تحتاج لأدأة تحكم تقوم لك بالمطلوب.
_________________
8- جعل البرنامج ملف تنفيذي
البرنامج لايمكن فصله عن بيئة الفجوال بيسيك بعد لهذا عليك ان تجعله ملف تنفيذي اي تجعلة بامتداد exe ليصبح برنامجا كاملا كالذي تشتريه او كالذي تحمله من الانترنت
( بالمناسبة لابد انك تحب البرامج المجانية اليس كذلك ) واذا كنت كذلك فلا تجلب اي برامج من المواقع الشخصية وكذلك مواقع الكراك فغالبا ما تكون ملوثة بالفايرس الآلي واذا كنت محتاج الى البرنامج ولا تحب دفع ثمنه فأشتري على الاقل آخر اصدار لبرنامج مكافحة الفايرس وحدثه بإستمرار واذا لم تفعل فنزل البرنامج واعمل له كشف عبر مواقع شركات مكافحة الفايرس قبل تشغيله على جهازك .
هيا الان نجعل برنامجنا تنفيذيا .
مثلا عندنا برنامج اسمه saudint و نريد ان نجعله برنامج تنفيذي فما علينا الا نتبع الخطوات التالية :
بعد ان حفظنا المشروع ( البرنامج ) باسم saudint اذهب قائمة File ثم اختر منها make saudint.exe
طبعا عند حفظ البرنامج البرنامج فجوال بيسيك تلقائيا يضيف العبارة make sdudint .exe
ليسهل عليك العمل و هذا اكيد يختلف فعندك مثلا لا يظهر make saudint.exe لكن يظهر اسم البرنامج الذي حفظته
الان اذهب للمسار الذي كنت حفظت فيه البرنامج تراه قد عمل ايقونة لبرنامجك اوتوماتيكيا و عند النقر على الايقونة يفتح برنامجك الرائع .
_________________
9- كيف يمكن رسم أكثر من اداة على الـ Form بنقرة واحدة على صندوق الأدوات (Tool Box).
أول خطوة اضغط مفتاح Ctrl وأثتاء الضغط انقر الأداة التي تريدها في صندوق الادوات (ToolBox).
ثانيا ابدأ برسم الأدوات على الـ Form بأي عدد تريدة.
ثالثا قم بضغط مفتاح ESC أو انقر زر السهم في صندوق الأدوات.
_________________
10- كيف يمكن عمل تكبير أو تصغير لجزء معين من الصورة بالنقر عليها ؟
يمكن عمل ذلك باستخدام أداة صندوق صور من نوع ImageBox وتحديد القيمة True للخاصية Stretch ثم وضع الكود التالي في حدث MouseDown لأداة ImageBox.
كود:
Case 1
Image1.Width = Image1.Width * 2
Image1.Height = Image1.Height * 2
Image1.Left = Image1.Left + (Me.ScaleWidth / 2) - (Image1.Left + X * 2)
Image1.Top = Image1.Top + (Me.ScaleHeight / 2) - (Image1.Top + X * 2)
Case 2
Image1.Width = Image1.Width * 0.5
Image1.Height = Image1.Height * 0.5
Image1.Left = Image1.Left + (Me.ScaleWidth / 2) - (Image1.Left + X * 0.5)
Image1.Top = Image1.Top + (Me.ScaleHeight / 2) - (Image1.Top + X * 0.5)
End Select
جرب الاآن النقر بالزر الأيسر للماوس على الصورة ثم بالزر الأيمن.
_________________
11- كيف تغير هيئة التاريخ القصير في نظام الويندوز
ربما كنت تحتاج في برنامجك إلي التعامل مع التاريخ بهيئة معينة مثل "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")
_________________
12- تغلب على قصور دالة 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
_________________
13- تحريك نافذة من أى نقطة. (يمكن استغلاك نفس الفكرة لتحريك أي أداة من أي نقطة)
يمكنك تحريك نافذة من أى نقطة بهذا الكود
هذا الجزء من الكود في قسم الـ General
كود:
Private X1 As Integer
كود:
Private Y1 As Integer
وهذه الجزء من الكود في حدث Form_MouseMove
كود:
X1 = X
Y1 = Y
End If
If Button = 1 Then
Call Me.Move (Me.Left - (X1 - X), Me.Top - (Y1 - Y))
End If
_________________
14- تغيرالتاريخ من الميلادي إلى الهجري
هذا الكود يغير التاريخ من الميلادي إلى الهجري Calendar = vbCalHijri Label1 = Format(Date, "DD-MM-YYYY")
_________________
15- كيف يمكن لبرنامجي أن يظهر رسالة معينة عند تاريخ محدد ؟
يمكن إنجاز ذلك بإستخدام دالة DateDiff التي ترجع الفرق بين تاريخين بالأيام والكود التالي مثال على ذلك
Dim strTheDate As String
strTheDate = [التاريخ المطلوب المقارنة به ويمكن إدخال هذا التاريخ من قاعدة بيانات أو من متغير مثلا ]
If DateDiff("d", Now, strTheDate) = 0 Then
MsgBox "لقد حان التاريخ المحدد", vbMsgBoxRight + vbMsgBoxRtlReading
Else
MsgBox "لم يحن الوقت المحدد بعد", vbMsgBoxRight + vbMsgBoxRtlReading
End If
ويمكن وضع هذا الكود في حدث تحميل الـ Form والمسمى Form_Load أو في حدث Timer لأداة Timer.
_________________
16 - كيف يمكن حساب الفرق بين وقتين بالدقائق؟
DateDiff
وصيغتها العامة
DateDiff(interval, date1, date2[, firstdayofweek[, firstweekofyear]])
الدالة DateDiff ترجع لنا الفرق بين تاريخين بالوحدة التي نختارها والصيغة العامة هي كما نرى في الأعلى ويمثل الجزء Interval الوحدة التي سيرجع بها الفرق أما بالأيام مثلا اوبالشهور أو بالأسابيع إلى آخره وإليك بعض القيم المستخدمة في هذا المجال.
سنة yyyy
شهر m
يوم d
اسبوع ww
ويمثل Date1 التاريخ المرجع الذي نقارن به ويمثل Date2 التاريخ المقارن، فمثلا لتحديد الفرق بين تاريخين باليوم نستخدم الصيغة التالية
MsgBox DateDiff("d",Now,"01/01/2000")
في هذا المثال يرجع لنا عدد الأيام من بداية سنة 2000 وحتى الآن.
والجدير بالذكر أن DataDiff يمكن أن تستخدم في لإيجاد الفرق بين وقتين وإرجاع الفرق بالدقائق أو الثواني مثل هذا المثال
MsgBox DateDiff("n", "9:40:00 AM", "9:50:00 AM")
الذي يرجع 10 دقائق هي الفرق بين الوقتين أو هذا المثال
MsgBox DateDiff("n", "9:40:00 AM", "9:50:00 PM")
هذا المثال يرجع لنا 730 هي قسمة 12 ساعة وعشر دقائق وهي الفرق بين الوقتين
_________________
17-ما هي الدالة التي تقوم بتقريب الأرقام؟
Round
وصيغتها العامة
Round(expression [,numdecimalplaces])
الدالة Round تقوم بتقريب الأرقام ويمثل الجزء Expression الرقم المطلوب تقريبه والجزء numdecimalplaces هو عدد الأجزاء العشرية المطلوبة مثل تقريب لأقرب رقم عشري واحد أو رقمين عشريين مثل
MsgBox Round(9.26,1)
يظهر لنا هنا صندوق الرسائل حاملا الرقم 9.3 فلقد تم تقريب الرقم 9.26 لأقرب رقم عشري واحد.
_________________
18- كيف يمكن عمل تكبير أو تصغير لجزء معين من الصورة بالنقر عليها ؟
يمكن عمل ذلك باستخدام أداة صندوق صور من نوع ImageBox وتحديد القيمة True للخاصية Stretch ثم وضع الكود التالي في حدث MouseDown لأداة ImageBox.
كود:
Case 1
Image1.Width = Image1.Width * 2
Image1.Height = Image1.Height * 2
Image1.Left = Image1.Left + (Me.ScaleWidth / 2) - (Image1.Left + X * 2)
Image1.Top = Image1.Top + (Me.ScaleHeight / 2) - (Image1.Top + X * 2)
Case 2
Image1.Width = Image1.Width * 0.5
Image1.Height = Image1.Height * 0.5
Image1.Left = Image1.Left + (Me.ScaleWidth / 2) - (Image1.Left + X * 0.5)
Image1.Top = Image1.Top + (Me.ScaleHeight / 2) - (Image1.Top + X * 0.5)
End Select
جرب الاآن النقر بالزر الأيسر للماوس على الصورة ثم بالزر الأيمن.
_________________