PDA

View Full Version : مبتدی: توضیح در مورد دستور درون تاپیک



mr-adler
پنج شنبه 05 آبان 1390, 00:18 صبح
سلام
خیلی جاها دیدم از این نوع کد ها .اگه میشه یه مختصر در مورد این یکی توضیح میدید؟

Private Const VK_CAPITAL = &H14
VK_CAPITAL یعنی چی؟ یا &H14 ؟

مثلا گفته شده این دستور بالا برای چک کردن روشن یا خاموش بودن Caps Lock به کار میره....

یا به عنوان مثال این کد:

Private Const VK_SHIFT = &H10

محسن واژدی
پنج شنبه 05 آبان 1390, 01:25 صبح
سلام
خیلی جاها دیدم از این نوع کد ها .اگه میشه یه مختصر در مورد این یکی توضیح میدید؟
1
Private Const VK_CAPITAL = &H14




VK_CAPITAL یعنی چی؟ یا &H14 ؟

مثلا گفته شده این دستور بالا برای چک کردن روشن یا خاموش بودن Caps Lock به کار میره....

سلام علیکم
VK_CAPITAL کد اسکای کلید CapsLock را نگهداری میکند، که از آن برای روشن/خاموش کردن کلید CapsLock یا بررسی روشن بودن این کلید میتواند استفاده شود
به عنوان مثال در کد زیر اگر CapsLock روشن باشد مقدار 1 برگردانده میشود:

Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Dim kbk As KeyboardBytes
Private Declare Function GetKeyboardState Lib "user32" (kbk As KeyboardBytes) As Long
Private Const VK_CAPITAL = &H14

Private Sub Command1_Click()
Call GetKeyboardState(kbk)
MsgBox kbk.kbByte(VK_CAPITAL)
End Sub

&H14 مقدار هگز ثابت VK_CAPITAL است که 20 است، در وی بی بدین صورت بدست می آید:
Hex(20) = 14

البته میتوانید از ثابت vbKeyCapital وی بی هم بجای VK_CAPITAL استفاده کنید




Private Const VK_SHIFT = &H10


این ثابت کلید Shift را کنترل میکند، که میتوانیم از vbKeyShift نیز بجای VK_SHIFT استفاده کنیم

موفق باشید

vbhamed
پنج شنبه 05 آبان 1390, 10:27 صبح
سلام

در تكميل پست محسن واژدي عزيز، VK_CAPITAL چيز خاصي نيست، يك نام معمولي با حروف بزرگ
در زبان، ما متغير داريم و ثابت متغير يعني مثلا a, b, ... و ثابت مثل عدد 7 يا رشته "test" و ...
متغيرها حافظه مصرف مي‌كنند و قابل تغيير در برنامه هستند ولي ثابتها حافظه مصرف نمي‌كنند و قابل تغيير هم نيستند
ولي براي ثابت ها هم مي‌تونيم نام در نظر بگيريم مثل همون VK_CAPITAL، قانون كلي هم اينه كه نام ثابت ها حروف بزرگ باشه، طريقه تعريف هم به شكل زير هست با اين تفاوت كه عبارت Const هم اضافه ميشه
مثلا متغير a
Dim a As Integer
ثابت a
Const a = &h10
Private يا Public يا Global هم ابتداي تعريف مي‌تونه بياد كه به ترتيب معنيشون ميشه :

Private : تعريف اختصاصي براي استفاده فقط در ماژول جاري
Public : قابل دسترسي از فرمها و ماژولهاي ديگر با آوردن نام ماژول جاري و تايپ نقطه و سپس نام ثابت
Global : از هر جاي پروژه فقط با تايپ نام ثابت، ميشه ازش استفاده كرد

Global فقط در ماژول قابل استفاده است و اون رو توي فرمها نميشه نوشت

&h10 هم مقدار ثابت هستش حتما هم نياز نيست به هگز باشه، مثلا مي‌تونيد بجاي &h10 معادلش يعني عدد 16 رو بزاريد