PDA

View Full Version : آموزش: وارد کردن فقط عدد و یا فقط حروف در TEXTBOX



R2du-soft
دوشنبه 12 خرداد 1393, 13:15 عصر
با سلام چون خیلی خودم به این توی بیشتر برنامه ها نیاز داشتم گفتم که روش ایکار رو براتون بزارم تا شاید جایی بدردتون بخوره:
ما 2 تا تکست باکس داریم و میخوایم فقط textbox1 حروف رو بگیره و فقط در Textbox2 عدد گرفته بشه:

برای اینکار در رویداد keypress باید دستورات رو بنویسیتم که زمانی که کلید از روی کیبرد خورد و چیزی بجز اون چیزی که ما تعریف کرده بودیم بود! اون داخل تکست باکس ما ثبت نشه!


فقط حروف:
این کد کارش اینکه که اگه در تکست باکس ما هر چیزی بجز حروف a-z یا A-Z ثبت شد اون رو قبول نکنه + ما تعیین کردیم که کلیدDelete و Back Space و Space هم قبول کنه!

Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 97 Or KeyAscii > 122) And (KeyAscii < 65 Or KeyAscii > 90) And (KeyAscii <> 8 And KeyAscii <> 127 And KeyAscii <> 32) Then
KeyAscii = 0
End If
End Sub


توضیح:
در انتهای همین صفحه جدول کدهای دیکه ها رو براتون قرار دادم که بفهمید کد مثلا عدد 63 علامت سوال یا همون ؟ رو نشون میده
در کد استفاده شده در بالا (فقط حروف):
KeyAscii < 97 Or KeyAscii > 122 یعنی از حروف a-z کوچیک رو قبول کنه
KeyAscii < 65 Or KeyAscii > 90 یعنی از حروف A-Z بزرگ رو قبول کنه
KeyAscii <> 8 یعنی دکمه Back Space برای پاک کردن یک اشتیاه تایپی
KeyAscii <> 127 یعنی دکمه Delete برای پاک کردن یک اشتیاه تایپی
KeyAscii <> 32 یعنی دکمه Space برای ایجاد فاصله

فقط عدد:
در این کد فقط و فقط ما یعیین کردیم که تکست باکس ما عدد 0 تا 9 رو بگیره نه چیز دیگه! + باز کلید های Delete و Back Space

Private Sub Text2_KeyPress(KeyAscii As Integer)
If (KeyAscii > 57 Or KeyAscii < 48) And KeyAscii <> 8 And KeyAscii <> 127 Then
KeyAscii = 0
End If
End Sub


توضیح:
در انتهای همین صفحه جدول کدهای دیکه ها رو براتون قرار دادم که بفهمید کد مثلا عدد 63 علامت سوال یا همون ؟ رو نشون میده
در کد استفاده شده در بالا (فقط عدد):
KeyAscii > 57 Or KeyAscii < 48 یعنی از حروف 0 تا 9 رو قبول کنه
KeyAscii <> 8 یعنی دکمه Back Space برای پاک کردن یک اشتیاه تایپی
KeyAscii <> 127 یعنی دکمه Delete برای پاک کردن یک اشتیاه تایپی







Code



Char


Code


Char


Code


Char


Code


Char





0




<NUL>




32




<space>




64




@




96




`






1




<SOH>




33




!




65




A




97




a






2




<STX>




34




"




66




B




98




b






3




<ETX>




35




#




67




C




99




c






4




<EOT>




36




$




68




D




100




d






5




<ENQ>




37




%




69




E




101




e






6




<ACK>




38




&




70




F




102




f






7




<BEL>




39




'




71




G




103




g






8




<BS>




40




(




72




H




104




h






9




<HT>




41




)




73




I




105




i






10




<LF>




42




*




74




J




106




j






11




<VT>




43




+




75




K




107




k






12




<FF>




44




,




76




L




108




l






13




<CR>




45




-




77




M




109




m






14




<SO>




46




.




78




N




110




n






15




<SI>




47




/




79




O




111




o






16




<DLE>




48




0




80




P




112




p






17




<DC1>




49




1




81




Q




113




q






18




<DC2>




50




2




82




R




114




r






19




<DC3>




51




3




83




S




115




s






20




<DC4>




52




4




84




T




116




t






21




<NAK>




53




5




85




U




117




u






22




<SYN>




54




6




86




V




118




v






23




<ETB>




55




7




87




W




119




w






24




<CAN>




56




8




88




X




120




x






25




<EM>




57




9




89




Y




121




y






26




<>




58




:




90




Z




122




z






27




<SUB>




59




;




91




[




123




{






28




<ESC>




60




<




92




\




124




|






29




<GS>




61




=




93




]




125




}






30




<RS>




62




>




94




^




126




~






31




<US>




63




?




95




_




127




<DEL>

gonbady
شنبه 24 خرداد 1393, 23:24 عصر
دوست عزیز چه جوری میشه حروف فارسی رو نمیگیره؟

R2du-soft
یک شنبه 25 خرداد 1393, 14:16 عصر
این هم تعریف فقط حروف فارسی:



Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii > 237 Or KeyAscii < 199) And KeyAscii <> 8 And KeyAscii <> 127 Then
KeyAscii = 0
End If
End Sub


البته حروف مثل گ,ک,پ, و یکسری حروف دیگه تعریف نشده هستن!
البته در فروم های خارجی بگردید شاید راهکاری پیدا کنید برای تعریف این کلید ها...

ایلیا آخوندزاده
یک شنبه 25 خرداد 1393, 14:32 عصر
خوب به درد نمی خوره که حروف گ ک پ و ... تو بیشتر کلمات فارسی لازمه.مخصوصا (پ)

R2du-soft
یک شنبه 25 خرداد 1393, 14:38 عصر
دارم روش کارمیکنم
میشه تعریف کرد باید ببینم کدوم دکمه ها هستن که اونارم جدا و تکی تعریف کنیم.
راستی بهتره که روی textbox که میخوایم حروف فارسی بنویسیم یکبار کلیک کنیم تا انتخاب بشه،بعد از قسمت properties گزیمخ font رو بزنیم تا صفحه ای باز بشه ، فونت رو روی Arial بزاریم و در همون صفحه لیست کشویی با اسم Script رو روی گزینه arabic بزیرید تا بعد که کلمات گ و پ و ... رو تعریف کردیم به مشک بر نخوریم.

R2du-soft
یک شنبه 25 خرداد 1393, 15:25 عصر
کل حروف فارسی + گ چ پ ژ



Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii > 237 Or KeyAscii < 199) And KeyAscii <> 32 And KeyAscii <> 8 And KeyAscii <> 127 And KeyAscii <> 194 And KeyAscii <> 142 And KeyAscii <> 152 And KeyAscii <> 144 And KeyAscii <> 129 And KeyAscii <> 141 And KeyAscii <> 193 And KeyAscii <> 198 Then
KeyAscii = 0
End If
End Sub


32 space
8 backspace
127 delete
194 آ
142 ژ
152 ک
144 گ
129 پ
141 چ
193 ء
198 ئ