ورود

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