امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
سه سوال : key press و ...
نویسنده پیام
Vig آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 22
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 15
( 0 تشکر در 0 ارسال )
ارسال: #1
Toungue  سه سوال : key press و ...
سلام

1. می خوام شکل کلی تابع KeyPress

کد:
Private Sub Form_KeyPress(KeyAscii As Integer)

End Sub

می خوام واسه کلید F5 بنوسم اگه کلید کردن

مثلا text1 رو با text2 جمع کن

اگه کاید enter زدم منها کن

2.فرض کنیم و توی form 1 دو مقدار text1 , text2 رو با هم جمع زدم و در داخل text 3 قرار دادم .

و حالا می خوام مقدار text3 در فرم یک رو توی form 2 نشون بدم

سومی هم یادم نماد بعد می نویسم .Question
۱۸-فروردین-۱۳۸۷, ۱۱:۵۴:۲۷
ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #2
RE: سه سوال : key press و ...
1 - يه فرم بساز و داخلش يه ليبل قرار بده. بعد از اجراي برنامه هر كليدي كه فشار بدي كد اون رو مي توني ببيني و از اون تو برنامه ات استفاده كني.
کد php:
Private Sub Form_KeyDown(KeyCode As IntegerShift As Integer)
Label1 KeyCode
End Sub 


2- بايد با رعايت پدر و فرزند آدرس دهي كني مثل زير :

کد php:
Form2.Text1=Text3 

۱۸-فروردین-۱۳۸۷, ۱۲:۱۵:۲۳
وب سایت ارسال‌ها
پاسخ
yeketaz آفلاین
کاربر با تجربه
****

ارسال‌ها: 744
موضوع‌ها: 123
تاریخ عضویت: اسفند ۱۳۸۶

تشکرها : 520
( 1050 تشکر در 294 ارسال )
ارسال: #3
RE: سه سوال : key press و ...
Di Di نوشته است:1 - يه فرم بساز و داخلش يه ليبل قرار بده. بعد از اجراي برنامه هر كليدي كه فشار بدي كد اون رو مي توني ببيني و از اون تو برنامه ات استفاده كني.
کد php:
Private Sub Form_KeyDown(KeyCode As IntegerShift As Integer)
Label1 KeyCode
End Sub 

آقای DiDi ایشون تابع KeyPress رو خواستن نه KeyDown رو البته تقریبا

کارکردهای متشابهی دارن اما اینجوری کار می کنه :

کد:
Private Sub Form_KeyPress(KeyAscii As Integer)
Label1.Caption = Chr(KeyAscii)
End Sub

ما که دیگه توی ایران ویج پیر شدیم 040 کم کم باید جامون رو بدیم به جوونا 028
۱۸-فروردین-۱۳۸۷, ۱۶:۵۶:۳۵
وب سایت ارسال‌ها
پاسخ
Di Di آفلاین
مدير بخش هك و كرك
*****

ارسال‌ها: 2,358
موضوع‌ها: 116
تاریخ عضویت: اسفند ۱۳۸۵

تشکرها : 1816
( 4046 تشکر در 1321 ارسال )
ارسال: #4
RE: سه سوال : key press و ...
دوست گرامي

چيزي به نام تابع KeyPress‌ وجود نداره بلكه اينها ايونت يا وقايع آبجكتها هستند.

ايشون مي خوان كار با كليدهاي صفحه كليد رو ياد بگيرن. كليدهايي غير از كليدهاي تايپي. من هم راه رو نشون دادم.

در هر صورت بعد از فشرده شدن كليد مثلا F5 بايد كنترل كنيد آيا KeyCode كليد فشرده شده برابر با KeyCode اف پنج هست يا خير و بعد واكنش مناسب روانجام بديد.

(آخرین ویرایش در این ارسال: ۱۸-فروردین-۱۳۸۷, ۱۷:۴۷:۴۷، توسط Di Di.)
۱۸-فروردین-۱۳۸۷, ۱۷:۴۳:۱۸
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : mojtabamalaekeh
Vig آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 22
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 15
( 0 تشکر در 0 ارسال )
ارسال: #5
RE: سه سوال : key press و ...
نقل قول: يه فرم بساز و داخلش يه ليبل قرار بده. بعد از اجراي برنامه هر كليدي كه فشار بدي كد اون رو مي توني ببيني و از اون تو برنامه ات استفاده كني.


Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Label1 = KeyCode
سلام دوست عزیزSmile

اینجا ایبل لازم نداریم Exclamation

من توی سوال اشتباه کردم

من می خوام از کلید F5 از روی صحفه کلید فشار داده شد

text1 رو با text 2 جمع کنه

من کد اسکی F5 و ENTER رو نمی دونم
لطفا این چیزی که گفتم به صورت کد بنویسید

با تشکرSmile
(آخرین ویرایش در این ارسال: ۱۸-فروردین-۱۳۸۷, ۲۱:۱۱:۱۹، توسط Vig.)
۱۸-فروردین-۱۳۸۷, ۲۱:۰۸:۴۰
ارسال‌ها
پاسخ
zacaria آفلاین
كاربر دو ستاره
**

ارسال‌ها: 212
موضوع‌ها: 38
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 11
( 98 تشکر در 59 ارسال )
ارسال: #6
RE: سه سوال : key press و ...
سلام
دوست عزيز با روشي كه جناب دي دي گفتن كد هر كليدي رو كه بخواي رو مي توني بدست بياري، ايشون يك روش كلي گفتن تا در موارد ديگه دچار مشكل نشي. ازشون ممنونم(هرچند از من زياد خوششون نمياد، ولي بالاخره با ايشون دوست ميشم.)
بهر حال كد كليد اينتر 13 و كد كليد اف5 برابر با 72 است.

و پاسی از شب را از خواب برخیز، قرآن و نماز بخوان! این یک وظیفه اضافی برای توست، امید آنکه پروردگارت تو را به مقامی در خور ستایش برانگیزد(سوره اسراء آیه79)
۱۸-فروردین-۱۳۸۷, ۲۱:۱۵:۱۳
ارسال‌ها
پاسخ
zacaria آفلاین
كاربر دو ستاره
**

ارسال‌ها: 212
موضوع‌ها: 38
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 11
( 98 تشکر در 59 ارسال )
ارسال: #7
RE: سه سوال : key press و ...
کد php:
Private Sub Form_KeyPress(KeyAscii As Integer)
If 
KeyAscii 72 Then
       text3 
text1 text2
Else
       
'any work
End If
End Sub 

اين هم يك كد نمونه

و پاسی از شب را از خواب برخیز، قرآن و نماز بخوان! این یک وظیفه اضافی برای توست، امید آنکه پروردگارت تو را به مقامی در خور ستایش برانگیزد(سوره اسراء آیه79)
۱۸-فروردین-۱۳۸۷, ۲۱:۲۲:۰۸
ارسال‌ها
پاسخ
Vig آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 22
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 15
( 0 تشکر در 0 ارسال )
ارسال: #8
RE: سه سوال : key press و ...
سلام دوست عزیز

خیلی ببخشید من یه پست که توسط کاربران داده شده بود رو به طور اتفاقی دیدم

نقل قول: سلام
در رویداد KeyPress کافیه با یک دستور شرطی بررسی کنی که مقدار KeyAscii برابر کد کلید مورد نظر هست یا نه؟
کد کلید های f هم از 112 تا 127 هست.
مثال:
Private Sub Command1_KeyPress(KeyAscii As Integer)
If KeyAscii = 112 Then

Else

End If
End Sub
موفق باشی

http://forum.iranled.com/showthread.php?tid=7372


شما به من گفتید

نقل قول: Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 72 Then
text3 = text1 + text2
Else
any work
End If
End Sub

منظور من از کلید F5 همون کلید های تابعی F هستش .
۱۸-فروردین-۱۳۸۷, ۲۱:۵۱:۴۱
ارسال‌ها
پاسخ
zacaria آفلاین
كاربر دو ستاره
**

ارسال‌ها: 212
موضوع‌ها: 38
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 11
( 98 تشکر در 59 ارسال )
ارسال: #9
RE: سه سوال : key press و ...
من در ارسال پاسخ دچار اشتباه شدم. عذر مي خوام
پاسخ صحيح:
کد php:
Private Sub Form_KeyDown(KeyCode As IntegerShift As Integer)
    If 
KeyCode 72 Then
        MsgBox 
"yes"
    
End If
End Sub 
شما بجاي جعبه پيام كد مورد نظر خودت رو بنويس.

و پاسی از شب را از خواب برخیز، قرآن و نماز بخوان! این یک وظیفه اضافی برای توست، امید آنکه پروردگارت تو را به مقامی در خور ستایش برانگیزد(سوره اسراء آیه79)
۱۹-فروردین-۱۳۸۷, ۰۷:۱۳:۲۹
ارسال‌ها
پاسخ
mojtabamalaekeh آفلاین
کاربر با تجربه
****

ارسال‌ها: 566
موضوع‌ها: 104
تاریخ عضویت: آذر ۱۳۸۶

تشکرها : 1378
( 631 تشکر در 223 ارسال )
ارسال: #10
RE: سه سوال : key press و ...
من موندم چرا بجای کدِ اسکی و رویداد KeyPress از مقادیر ثابت کلیدها و رویداد KeyDown استفاده نمی کنید ؟
تو رویداد KeyDown بعد از تایپ عبارت vbkey دکمه ترکیبی Ctrl+Space رو بزنید تا لیست مقادیر ثابت کلیدها ظاهر بشه.
نکته: خاصیت KeyPreview فرم رو True کنید تا اگه Focus روی یکی از آبجکت های فرم بود، رویداد KeyDown خود فرم اجرا بشه.
در ضمن رویداد KeyDown مقدم تر از KeyPress است یعنی زودتر اجرا میشه.
وقتی میخواین چند کلید رو کنترل کنید کافیه یه Select Case توی رویداد KeyDown بنویسید.
مقادیر ثابت برای پارامتر Shift هم به شرح زیر هستند:
vbAltMask , vbCtrlMask, vbShiftMask
اگه بطور مثال خواستین Alt+Shift رو چک کنید که زده شده یا نه از And استفاده کنید.
if Shift = vbAltMask And vbShiftMask Then
KeyDown با وجود تقدم اجراش نسبت به KeyPress یه ایراد داره: برای انکار فشرده شدن یک کلید نمی تونید KeyCode رو برابر صفر قرار بدین باید حتما از رویداد KeyPress استفاده کنید و KeyAscii رو مساوی صفر کنید.
[تصویر:  untitled.JPG]


(آخرین ویرایش در این ارسال: ۱۹-فروردین-۱۳۸۷, ۱۳:۲۵:۳۶، توسط mojtabamalaekeh.)
۱۹-فروردین-۱۳۸۷, ۱۳:۱۵:۲۵
ارسال‌ها
پاسخ
Vig آفلاین
كاربر تک ستاره
*

ارسال‌ها: 45
موضوع‌ها: 22
تاریخ عضویت: آبان ۱۳۸۶

تشکرها : 15
( 0 تشکر در 0 ارسال )
ارسال: #11
RE: سه سوال : key press و ...
نمی دونم چرا جواب نمی ده این رو ش و روش های قبلی

http://i32.tinypic.com/2s1aecj.jpg
این کد ی که نوشتم با زدن f5 فرم دو نمایش داده بشه

این هم عکس تنظیمات انجام شده
http://i25.tinypic.com/20r8h8n.jpg
۱۹-فروردین-۱۳۸۷, ۱۶:۵۸:۵۲
ارسال‌ها
پاسخ


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS