استفاده کاربردی از تابع Instr
سلام دوستان , امروز می خوام یه مطلب کاربردی تو VB رو براتون بگم که شاید خیلی به کارتون بیاد این کد شاید براتون تو برنامه هایی که باید از ورودی مقدار خاصی رو بگیرید مثلا می خواهید از ورودی فقط یک مقدار عددی رو بگیرید و بعد اون رو تو محاسبات استفاده کنید و اگر کاربر مثلا در ورودی 788در12 را تایپ کنه برنامه Error میده خوب برای رفع این مشکل می شه از ورودی فقط عدد گفت یعنی در صورتی که کاربر فقط اعداد 0 تا 9 رو تایپ کنه در ورودی نمایش داده می شه این هم حلال این مشکل .
خوب این کد رو بهتر که در رویداد Keypress کنترل مورد نظر خود ( از جمله Textbox , Rich Textbox , Inputbox و ... ) بنویسید که به محض فشرده شدن هر کلید از سوی کاربر این قسمت چک می شود .
Private Sub TextBox_KeyPress(KeyAscii As Integer)
'=============================================
Dim StrValid As String
StrValid = "0123456789"
If InStr(StrValid, Chr(KeyAscii)) = 0 Then
KeyAscii = 0
End If
End Sub
بد نیست یه اشاره ای هم به توابع به کار رفته تو این کنم :
1. تابع Instr : یک زیررشته را در یک رشته دیگر جستجو میکند و موقعیت آنرا در رشته بر می گرداند شکل کلی این تابع به صورت زیر است :
InStr([start, ]string1, string2[, compare])
قسمت |
توضیحات |
start |
مکانی از رشته که جستجو باید از آنجا آغاز شود |
string1 |
رشته اول |
string2 |
رشته دوم |
compare |
مشخص کردن نوع مقایسه که بین دو رشته انجام میشود که خود بر سه نوع vbBinaryCompare و vbDatabaseCompare و vbTextCompare می باشد |
به این مثال توجه کنید :
instr("visual basic Language","Language") ==============> عدد 14 برگردانده میشود
:: یک نکته و آن اینکه مواvدی که در شکل کلی این تابع در داخل [ ] قرار دارند اختیاری می باشند .
2. تابع Chr : این تابع کاراکتر معادل کد اسکی یک مقدار را بر می گرداند
KeyAscii : آرگومانی است که کد اسکی کلیدی از صفحه کلید را که فشرده شده بر می گرداند.
2 نوشته شده در یکشنبه دهم مهر 1384ساعت
چطور تو Visual Basic کیبرد فارسی بشه
میخواهم براتون بگم که چطور می شه تو VB وقتی برنامه مون اجرا شد بشه برای ورود اطلاعات از زبان فارسی استفاده کرد
برای اینکار اول باید از یه API استفاده کرد . تابع LoadKeyboardLayout رو از کتابخانه User32 به صورت زیر فراخوانی کنیم :
Public Declare Function LoadKeyboardLayout Lib "user32" Alias "LoadKeyboardLayoutA" (ByVal pwszKLID As String, ByVal flags As Long) As Long