ورود

View Full Version : مبتدی: وارد کردن فقط عدد



mohammad1314
دوشنبه 01 اسفند 1390, 20:49 عصر
:چشمک:سلام
میخواستم برنامه ای بنویسم که یک textbox ، فقط عدد بگیره . اگه رشته گرفت پیغام خطا بده .

shahabbasic
دوشنبه 01 اسفند 1390, 20:54 عصر
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii > 47 And KeyAscii < 58 Then
msgbox "number"
else
keyascii=0
msgbox "else number"
end if
End Sub

mohammad1314
چهارشنبه 03 اسفند 1390, 20:46 عصر
با عرض معذرت . منظورم این بود که داخل یک textbox یک عدد یا رشته وارد کنیم . با زدن یک دکمه اگه عدد وارد شده بود که کار خاصی نکنه ولی اگه رشته بود پیغام خطا بده. همونطور که گفتم این کار با زدن دکمه انجام بشه.

mohsen_popo
پنج شنبه 04 اسفند 1390, 10:55 صبح
همین کد بالا رو دا خل یه if دیگه بزار که اگه کد اسکی 13 بود (کد اسکی اینتر==13) بود بعد کاری رو که میخوای انجام میده.......

private void textBox1_KeyDown(object sender,KeyEventArgs e)
{
if (e.KeyValue == 13)
{
}
}
داخل if تیکه کد بالا رو بنویس من نمیدونم شما با چه زبونی کار میکنی..........ولی تیکه کد من به زبان سی شارپ..........

MohammadGh2011
پنج شنبه 04 اسفند 1390, 13:08 عصر
سلام عليکم

همین کد بالا رو دا خل یه if دیگه بزار که اگه کد اسکی 13 بود (کد اسکی اینتر==13) بود بعد کاری رو که میخوای انجام میده.......

private void textBox1_KeyDown(object sender,KeyEventArgs e)
{
if (e.KeyValue == 13)
{
}
}
داخل if تیکه کد بالا رو بنویس من نمیدونم شما با چه زبونی کار میکنی..........ولی تیکه کد من به زبان سی شارپ..........
اگه به بالاي اين صفحه نگاه کنيد ميبينيد که اينجا تالار VB6 ميباشد.


با عرض معذرت . منظورم این بود که داخل یک textbox یک عدد یا رشته وارد کنیم . با زدن یک دکمه اگه عدد وارد شده بود که کار خاصی نکنه ولی اگه رشته بود پیغام خطا بده. همونطور که گفتم این کار با زدن دکمه انجام بشه.
کد زير همون کاري رو ميکنه که شما ميخوايد ولي ديگه دکمه اي لازم نيست.در حالي که شما داخل تکست باکس عددي مينويسيد که هيچي ولي اگه رشته نوشتيد پيغام ميده.
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And Not KeyAscii = 8 Then KeyAscii = 0: MsgBox "Only Number", vbExclamation
End Sub
موفق باشيد

mohammad1314
پنج شنبه 04 اسفند 1390, 21:22 عصر
ممنون از راهنماییتون . خیلی خوب بود

بهروز عباسی
یک شنبه 07 اسفند 1390, 17:21 عصر
درود خدمت همه


'--- Number Filter Function -------------'

Public Function Number_Filter(KeyAscii As Integer)
Dim StrValid As String
StrValid = "0123456789"
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii > 26 Then
If InStr(StrValid, Chr(KeyAscii)) = 0 Then
Number_Filter = 0
Exit Function
End If
End If
Number_Filter = KeyAscii
End Function