PDA

View Full Version : مبتدی: بدست آوردن کداسکی و محدود کردن ورودی textbox



sajjadrad
چهارشنبه 05 اسفند 1388, 02:13 صبح
سلام دوستان ..من یه ماشین حساب نوشتم ...از لحاظ محاسبه و الگوریتم کامله و مشکلی نداره تنها مشکل اینجاست که اگه کاربر تو textbox حروف تایپ کنه خطا run time میده..حالا چند تا راه داریم:
یکی اینکه کداسکی رو بدست بیاریم و یه شرط بذاریم...
یکی هم اینکه textbox رو به عدد محدود کنیم یعنی textbox فقط ورودی عدد رو قبول کنه...
حالا حتما میگید تو که زرت و پرت میکنی چرا عمل نمیکنی؟:لبخند:مشکلم اینجاست که تابع برگردان به کداسکی رو بلد نیستم...
اگه کسی کمکم کنه ممنون میشم!:لبخند:

xxxxx_xxxxx
چهارشنبه 05 اسفند 1388, 02:34 صبح
تابع Asc یک کاراکتر دریافت میکنه و معادل اسکی اون رو برمیگردونه.
تابع Chr هم برعکس. یک کد اسکی میگیره و کاراکترشو بر میگردونه.

برای اینکه Textbox فقط عدد بگیره، قبلاً نمونه کدهای متعددی (بیش از 3.4 تا) از جانب کاربران سایت مطرح شده. اگر جستجو کنید نمونه های خوبی برای این کار پیدا می کنید.

موفق باشید/

lordarma
چهارشنبه 05 اسفند 1388, 03:30 صبح
از این پست کمک بگیرید،
به طور کامل کمکتان می کند...

http://barnamenevis.org/forum/showpost.php?p=892782&postcount=355

alirezabahrami
چهارشنبه 05 اسفند 1388, 08:31 صبح
سلام دوستان ..من یه ماشین حساب نوشتم ...از لحاظ محاسبه و الگوریتم کامله و مشکلی نداره تنها مشکل اینجاست که اگه کاربر تو textbox حروف تایپ کنه خطا run time میده..حالا چند تا راه داریم:
یکی اینکه کداسکی رو بدست بیاریم و یه شرط بذاریم...
یکی هم اینکه textbox رو به عدد محدود کنیم یعنی textbox فقط ورودی عدد رو قبول کنه...
حالا حتما میگید تو که زرت و پرت میکنی چرا عمل نمیکنی؟:لبخند:مشکلم اینجاست که تابع برگردان به کداسکی رو بلد نیستم...
اگه کسی کمکم کنه ممنون میشم!:لبخند:
سلام!
نمونه زير را ببين ! فكر كنم همون چيزي است كه مي خواهي
موفق باشيد

DoctorJay
شنبه 08 اسفند 1388, 16:25 عصر
کدای دوستان رو چک نکردم ولی بنظر من این خیلی عالیه :


Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim StrValid As String
StrValid = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabc "
KeyAscii = Asc(UCase(Chr(KeyAscii)))
If KeyAscii > 26 Then
If InStr(StrValid, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End If
If KeyAscii = 13 Then
KeyAscii = 0
Call OpenProgram
End If
End Sub

توی StrValid کارکترهای مجاز به تایپ قرار می گیره که من تغییرش ندادم و فقط کپی کردم اینجا . . .

موفق باشی

mhdhp86
یک شنبه 23 بهمن 1390, 18:38 عصر
اگر بخوام textbox فقط کاراکتر بگیره چی؟

Veteran
یک شنبه 23 بهمن 1390, 20:13 عصر
این مشکل رو حل میکنه

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

سید حمید حق پرست
یک شنبه 23 بهمن 1390, 20:26 عصر
این برای فیلتر کردن اعداد :

Private Sub Text1_Change()
Dim R As String
R = Text1.Text
R = Replace(R, "1", "")
R = Replace(R, "2", "")
R = Replace(R, "3", "")
R = Replace(R, "4", "")
R = Replace(R, "5", "")
R = Replace(R, "6", "")
R = Replace(R, "7", "")
R = Replace(R, "8", "")
R = Replace(R, "9", "")
R = Replace(R, "0", "")
R = Replace(R, "-", "")
Text1.Text = R
End Sub

سید حمید حق پرست
یک شنبه 23 بهمن 1390, 20:33 عصر
اینم فیلتر کردن حروف :

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

Veteran
یک شنبه 23 بهمن 1390, 20:40 عصر
ممنون از جوابت.تو c# کدش چی میشه؟
ضمنا این کد رو کچا باید وارد کنم؟
اینجا تالا vB هست.
#c کار نکردم.