PDA

View Full Version : سوال: کلید اینتر



hosein3000
دوشنبه 17 بهمن 1390, 12:56 عصر
با سلام دوستان
من برای اینکه تو تکست باکس هام فقط عدد نوشته بشه از کد زیر استفاده کردم
If IsNumeric(Chr(KeyAscii)) = False And KeyAscii <> 8 And KeyAscii <> 46 Then
KeyAscii = 0
End If
خوب حالا می خوام وقتی کاربر اینتر رو زد بره تکست باکس بعدی . من برای این کار هم از کد زیر استفاده کردم یعنی در ادامه کد بالا کد زیر رو نوشتم ولی عمل نمیکنه



If KeyAscii = 13 Then
SendKeys "{tab}"
End If

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

ممنون از لطف همه دوستان

سید حمید حق پرست
دوشنبه 17 بهمن 1390, 13:55 عصر
خب دوست عزیز شما در تکست باکسهات فقط عدد نوشته میشه و کلید اینتر رو قبول نمیکنه برای اینکار دستور اینتر رو قبل از فدستور اول قرار بده یا به دستور اولت کد اسکی اینتر رو اضافه کن

موفق باشی

sehm67
دوشنبه 17 بهمن 1390, 13:55 عصر
البته وقتی تنهایی این کد رو تو روال کی پرس وارد می کنم عمل می کنه اما وقتی با کد بالا باهم استفاده می کنم عمل نمیکنه
میشه دوستان راهنماییم کنن

سلام
کد رو در قسمت keycode بنویسید

If Keycode = 13 Then
SendKeys "{tab}"
End If

mosyhey
دوشنبه 17 بهمن 1390, 13:59 عصر
سلام. اگر ترتیب این قطعه کد ها را عوض کنید درست می شود؛ یک ElseIf هم بگذارید بهتر است:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
SendKeys "{tab}"
ElseIf IsNumeric(Chr(KeyAscii)) = False And KeyAscii <> 8 And KeyAscii <> 46 Then
KeyAscii = 0
End If
End Sub

سید حمید حق پرست
دوشنبه 17 بهمن 1390, 14:11 عصر
اینم مال خودتون با یه نم دستکاری شده





Private Sub Text1_KeyPress(KeyAscii As Integer)
If IsNumeric(Chr(KeyAscii)) = False And KeyAscii <> 8 And KeyAscii <> 46 And KeyAscii <> 13 Then
KeyAscii = 0
End If

If KeyAscii = 13 Then
SendKeys "{tab}"
End If

End Sub

سید حمید حق پرست
دوشنبه 17 بهمن 1390, 14:17 عصر
دوستان یه سوال من میخوام تکسباکسم فقط عدد 1 و 0 رو بخونه کدش چطوریه؟
واسه یه برنامه میخوام که کار با اسمبلی میکنه

ممنون

MP.C-Writer
دوشنبه 17 بهمن 1390, 17:15 عصر
خب دوست عزیز شما خیلی راحت می تونید کد اسکی را با یه برنامه تبدیل مبنا، ببری به مبنای 2. میشه همون صفر و یک.

sr2m72
دوشنبه 17 بهمن 1390, 17:16 عصر
دوستان یه سوال من میخوام تکسباکسم فقط عدد 1 و 0 رو بخونه کدش چطوریه؟
واسه یه برنامه میخوام که کار با اسمبلی میکنه

ممنون

بفرمایید:

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 48 And KeyAscii <> 49 Then
KeyAscii = 0
End If
End Sub

سید حمید حق پرست
دوشنبه 17 بهمن 1390, 17:41 عصر
ممنون از لطف شما . اما منظور بنده این بود که مثلا من یک تکستباکس دارم و میخوام داخلش فقط بتونیم عدد 1 یا 0 بنویسیم و اگر خواستیم 1 بنویسیم فقط 1 بتونیم و نتونیم 11 یا 111 بنویسیم و ... . اگر خواستیم 0 بنویسیم نتونیم 00 یا 000 و ... بنویسیم .

سید حمید حق پرست
دوشنبه 17 بهمن 1390, 17:45 عصر
پیدا کردم :


Private Sub Text1_Change()
Text1.MaxLength = "1"
End Sub

سید حمید حق پرست
دوشنبه 17 بهمن 1390, 17:49 عصر
اما این کار نکرد . به ترتیب نمیره

Veteran
دوشنبه 17 بهمن 1390, 18:56 عصر
برای فقط عدد میتونید از کد زیر استفاده کنید.

Private Sub Text1_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 13, Asc("0") To Asc("9")
Case Else
KeyAscii = 0
End Select
End Sub

برای tab هم اون کد درست نیست
کار میکنه اما شما اگر دقت کنید باید برای همه تکست باکس شرط بزارید که اگه اینتر زد این کارو بکن
خوب چه کاریه ؟ اگه کاربر قصد داشته باشه با زدن دکمه بره به تکست باکس بعدی
خب همون دکمه tab رو میزنه
دیگه نیاز نیست الکی خودتون رو هم خسته کنید
موفق باشید