PDA

View Full Version : سوال: نحوه نوشتن فقط حروف



majidsoft
چهارشنبه 28 مرداد 1388, 02:00 صبح
با سلام خدمت استید محترم لطفا کدی را برایم بگذارید که در تکست باکس قابلیت نوشتن فقط حروف را داشته باشد

Hossis
چهارشنبه 28 مرداد 1388, 02:09 صبح
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim tx As String = "abcdefghigklmnopqrstuvwxyz"
If InStr(tx, e.KeyChar, CompareMethod.Text) <= 0 Then
e.Handled = True
End If
End Sub

Hossis
چهارشنبه 28 مرداد 1388, 02:10 صبح
به جای حروف لاتین می تونی حروف فارسی راهم اضافه کنی

mahdyeh
چهارشنبه 28 مرداد 1388, 13:37 عصر
سلام
وقت بخیر !
آخه من اینو مینویسم


Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
Dim tx As String = "abcdefghigklmnopqrstuvwxyz"
If InStr(tx, e.KeyChar, CompareMethod.Text) <= 0 Then
e.Handled = True
End If
End Sub


اون بالا هم اینو اضافه می کنم

Imports System.EventArgs

ولی باز ارور میده که


'KeyChar' is not a member of 'System.EventArgs'
و

'Handled' is not a member of 'System.EventArgs'

کمک کنید لطفا
;

Hossis
چهارشنبه 28 مرداد 1388, 13:40 عصر
حواسم نبود باید می‌گفتم یک تکست باکس باید به فرم اضافه کنید
این رویداد KeyPress مال تکست باکس هست ربطی به ایمپورتی که گفتی نداره

Hossis
چهارشنبه 28 مرداد 1388, 13:41 عصر
اصلا رویداد KeyPress مربوط به تکست باکس را ایجاد کنید و این کد رو توش وارد کنید:

Dim tx As String = "abcdefghigklmnopqrstuvwxyz"
If InStr(tx, e.KeyChar, CompareMethod.Text) <= 0 Then
e.Handled = True
End If

mahdyeh
چهارشنبه 28 مرداد 1388, 13:51 عصر
بله من هم همین کارو کردم
ولی همون ارور هارو میده که باز
من هر جا ازً e.KeyChar توی text استفاده کردم همون ارورا بهم میده ولی وقتی در button استفاده کردم این ارور رو نداده مثل کد :


If e.KeyChar = Chr(Keys.Enter) Then
SendKeys.Send("{Tab}")
End If

Hossis
چهارشنبه 28 مرداد 1388, 13:52 عصر
پروژتو آپ کن تا من درستش کنم

mahdyeh
چهارشنبه 28 مرداد 1388, 14:10 عصر
1) ممنون از جوابتون
2) من خودم یک پروژه جدید ایجاد کردم تا همینارو روش امتحان کنم ، میشه شما خودتون لطف کنید و یکی درست کنید و آپ کنید Pleeeeeeeeeeease:خجالت:

sari-1369
چهارشنبه 28 مرداد 1388, 14:18 عصر
اینو تو رویداد KeyPress بنویس



If IsNumeric(e.KeyChar) Then e.Handled = True

ACorvinus
چهارشنبه 28 مرداد 1388, 14:29 عصر
اینو تو رویداد KeyPress بنویس



If IsNumeric(e.KeyChar) Then e.Handled = True



بهترین جوابه .

mahdyeh
چهارشنبه 28 مرداد 1388, 14:38 عصر
وااااااااااااااااااااای ببخشیــــــــــــــــــــ ــــــد:خجالت::خجالت::خجالت:
با اینکه چند بارم گفتید و نوشتید که keypress ولی من باز توی TextChanged می نوشتم
ممنون
شرمنده:خجالت::خجالت::خجالت:: جالت::خجالت::خجالت:

Hossis
چهارشنبه 28 مرداد 1388, 15:05 عصر
1) ممنون از جوابتون
2) من خودم یک پروژه جدید ایجاد کردم تا همینارو روش امتحان کنم ، میشه شما خودتون لطف کنید و یکی درست کنید و آپ کنید Pleeeeeeeeeeease:خجالت:
این هم اپ کردم
امتحان شده درست کار می کند
علاوه بر اعداد،از ورود کاراکتر های دیگر غیر حرفی مثل کوتیشن، پرانتز،‌ +-*/ ()×÷^٪﷼#@! و مانند آن نیز ممانعت می‌کند

Hossis
چهارشنبه 28 مرداد 1388, 15:06 عصر
بهترین جوابه .
اون مورد هرچند درسته ولی جواب کاملش نیست چون از کاراکتر های غیر عددی که غیر از حروف هستند ممانعت نمی‌کنه مثل ()×÷^٪#@!+-*/ ؟ و شبه آن

sari-1369
چهارشنبه 28 مرداد 1388, 21:05 عصر
اون مورد هرچند درسته ولی جواب کاملش نیست چون از کاراکتر های غیر عددی که غیر از حروف هستند ممانعت نمی‌کنه مثل ()×÷^٪#@!+-*/ ؟ و شبه آن

حرف شما کاملا درسته ، دوستمون از ورود هر کاراکتری که میخواد ممانعت کنه فقط کافیه توی دستور if اون کاراکتر رو اضافه کنه .

مثلا :


If IsNumeric(e.KeyChar) OR e.KeyChar="." Then e.Handled = True

majidsoft
چهارشنبه 28 مرداد 1388, 22:13 عصر
ای ول حاجی من یک سوال دیگه هم دارم من این کد رو نوشتم برای سرچ یک فیلد در SQL برای داده های عددی جواب میده ولی برای داده NVARCHAR جواب نمیده لطفا من را راهنمای کن


Public Sub S_search2(ByVal vAutoId As String)
Dim adapter As New SqlDataAdapter("SELECT * from information Where (information.lname = " & vAutoId & ")", Fn_Get_SqlConnection())
Dim gg (As New dataset1) as strng
adapter.Fill(gg, "information_tbl")
frmsearch.ComboBox1.DataSource = gg.Tables("information_tbl")
frmsearch.ComboBox1.DisplayMember = "lname"
End Sub

sari-1369
چهارشنبه 28 مرداد 1388, 23:50 عصر
فکر میکنم پرسیدن 2 سوال در یک تایپیک خلاف قوانین باشه . تایپیک جدید بزنید

Hossis
پنج شنبه 29 مرداد 1388, 05:47 صبح
ای ول حاجی من یک سوال دیگه هم دارم من این کد رو نوشتم برای سرچ یک فیلد در SQL برای داده های عددی جواب میده ولی برای داده NVARCHAR جواب نمیده لطفا من را راهنمای کن


اگه منظورتون از حاجی منم ،‌ من جوابشو بلد نیستم

فکر میکنم پرسیدن 2 سوال در یک تایپیک خلاف قوانین باشه . تایپیک جدید بزنید
ایشون راست می‌گن، باید یه تاپیک دیگه بزنید تا متخصصین این کار پاسخ بدن

anooshiran
پنج شنبه 29 مرداد 1388, 06:06 صبح
ای ول حاجی من یک سوال دیگه هم دارم من این کد رو نوشتم برای سرچ یک فیلد در SQL برای داده های عددی جواب میده ولی برای داده NVARCHAR جواب نمیده لطفا من را راهنمای کن


PublicSub S_search2(ByVal vAutoId AsString)
Dim adapter AsNew SqlDataAdapter("SELECT * from information Where (information.lname = " & vAutoId & ")", Fn_Get_SqlConnection())
Dim gg (AsNew dataset1) as strng
adapter.Fill(gg, "information_tbl")
frmsearch.ComboBox1.DataSource = gg.Tables("information_tbl")
frmsearch.ComboBox1.DisplayMember = "lname"
EndSub


دوست عزيز سلام
اين خط از كد را



Dim adapter AsNew SqlDataAdapter("SELECT * from information Where (information.lname = " & vAutoId & ")", Fn_Get_SqlConnection())

به شكل زير اصلاح كن احتمالا جواب ميگيري




Dim adapter As New SqlClient.SqlDataAdapter("SELECT * from information Where (information.lname = N'" & vAutoId & "')", Fn_Get_SqlConnection())