View Full Version : ? KeyAscii+1 ?
atlantic_nights
سه شنبه 19 آذر 1387, 12:02 عصر
ســــــــــــــلام خسته نباشید
بدون مقدمـــــــــــه سوال خودم رو مـــی پرسم
چطور میشه؟(که....کد اسکی 97 به 98 تبدیل کرد)
KeyAscii+1
یعنی +1 به اون اضافه کرد
اگر از این طریق بری
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = 1 Then
KeyAscii = 27
End If
End Sub
Private Sub Form_Load()
Me.KeyPreview = True
End Sub
از این طرق فقط جای گزینی صوری میگیره
و... ... ...
کلی if , Case و ..... میشه
می خواستم +1 بشه چطور باید انجامش بدم
ممنون از همه دوستانی که منو هم راهی و راهنمایی میکنن
Pr0grammer
سه شنبه 19 آذر 1387, 12:13 عصر
Private Sub Form_KeyPress(KeyAscii As Integer)
KeyAscii = KeyAscii + 10
End Sub
atlantic_nights
سه شنبه 19 آذر 1387, 14:27 عصر
بــــــــــــــــــــــــ ـــــــــــــــــــا تــــــــــــــــــــــــ ـــــــشکر فـــــــــــــــــــــــر اوان از M/f :
Pr0grammer (http://barnamenevis.org/forum/member.php?u=70458)
یک سوالی دیگه داشتم
اگر دوباره من بخوام برعکس این کار انجام بشه باید چی کار کنم؟یعتی -1 اتفاق بیوفته
Pr0grammer
سه شنبه 19 آذر 1387, 15:01 عصر
طبیعتاً همینطوره و باید به مقداری که می خواین کمش کنید!
Private Sub Form_KeyPress(KeyAscii As Integer)
KeyAscii = KeyAscii - 10
End Sub
atlantic_nights
سه شنبه 19 آذر 1387, 16:24 عصر
بازم تشکر
دویاره سوال : من حرفی مثل Ali در Text 1 رو key ascii +1 کردم که type می کنه :
Cmj
تایپ میکنه
حلا میخوام این محرف رو از تکست باکس 1 بگیره -1 کنه در تکست 2 چاپ کنه
که من به خطا بر میخورم
اگر بخوام تو محیط ویندوز استفاده کنم باید از این funtion ها
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function SetForegroundWindow Lib "user32" (ByVal hwnd As Long) As Long
استفاده کنم ؟
درسته؟
از SetForegroundWindow , FindWindow, GetAsyncKeyState چه طور باید استفاده کنم؟
atlantic_nights
چهارشنبه 20 آذر 1387, 16:33 عصر
من 1 سال VB کار نکردم اینارو هم ته ذهنم یه چیزی مونده
منمنون میشم راهنمایی کنید.....
Armin060
جمعه 22 آذر 1387, 19:52 عصر
تابعی به نام Asc وجود داره که کد اسکی کاراکتر مورد نظر رو به دست میاره. شما باید کد اسکی حرف به حرف کاراکتر های چاپ شده در TextBox1 رو به دست بیارید و بعد -1 کنید و سپس با استفاده از تابع Chr کد اسکی رو به کاراکتر تبدیل کنید و بعد در TextBox2 بنویسید.
TextBox2.Text = ""
For i As Integer = 1 To Len(TextBox1.Text)
Dim a As String = Chr(Asc(Mid(TextBox1.Text, i, 1)) - 1)
TextBox2.Text = TextBox2.Text + a
Next
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.