PDA

View Full Version : چطور میتوان اعدای را با طول مشخص در textbox جستجو کرد



shahramm
دوشنبه 13 اسفند 1386, 23:12 عصر
چطور میتوان در داخل یک texbox فقط اعدادی را که طول آن مثلآ 5 است را پیدا کرده و در داخل یک textbox دیگر قرار داد

perfeshnal
دوشنبه 13 اسفند 1386, 23:28 عصر
منظور شما رو متوجه نشدم شما می خواهید که یک TextBox فقط 5 عدد توش جا بشه؟
بیشتر توضیح بدید

shahramm
دوشنبه 13 اسفند 1386, 23:44 عصر
ممنون از اینکه سریع جوابو دادین
میخواهم در داخل یک textbox حاوی اعداد و حروف فقط اعدادی که تعداد کاراکتر آن 5 باشد را پیدا کرده و داخل یک textbox دیگر قرار دهد

از داخل textbox1 فقط اعداد را به طول 5 مثلآ (68779) را پیدا کرده و در داخل textbox2 قرار دهد

نمیدونم تونستم منظورم رو برسونم یا نه

اوبالیت به بو
سه شنبه 14 اسفند 1386, 00:24 صبح
خوب میشه اعداد بین 10000 تا 99999 .
در این محدوده.

10000<=x<=99999

shahramm
سه شنبه 14 اسفند 1386, 00:29 صبح
اگه دوستان نمونه سورسی در رابطه با
داخل textbox1 فقط اعداد را به طول 5 مثلآ (68779) را پیدا کرده و در داخل textbox2 قرار دهد
دارندلطف کنند چون خیلی لنگ این مقوله شدم

RezaS_1354
سه شنبه 14 اسفند 1386, 01:23 صبح
ببین دوست عزیز این کد مشکلت حل میکنه


Option Explicit
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, StrBaram As Any) As Long
Private Declare Function PutFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
Private Const EM_GETSEL = &HB0
Private Sub Command1_Click()
Dim StrA As Long
Dim StrB As Long
Dim StrC As Long
'
StrA = SendMessage(Text1.hwnd, EM_GETSEL, StrB, StrC)
PutFocus Text1.hwnd
'
If CStr(StrC) = 5 Then
Text2.Text = Text1.Text
Text3.Text = ""
Else
Text3.Text = Text1.Text
Text2.Text = ""
End If
'
End Sub

3 تا تکست باکس قرار بده 1و2و3 با یک کاماند و اعداد را توی تکست یک بنویس اگر کمتر یا بیشتر از طول 5 رقم باشد عدد در تکست 3 نوشته میشود واگر طول ان مساوی 5 باشد در تکست 2 نوشته میشود

vahidm
سه شنبه 14 اسفند 1386, 02:25 صبح
دوست عزیز شما می تونید باید حلقه loop ساده
چک کنید که طول آن 5 تا هست یا نه البته حلقه loop رو برای جستجو در بانکت می گم
بعد هم با تابع len می تونی طولش رو بدست بیاری
امیدوارم فهمیده باشی

vbhamed
سه شنبه 14 اسفند 1386, 04:32 صبح
سلام
اینطوری :



On Error Resume Next

Dim x$, a&, i%

x = text1

For i = 1 To Len(x)
If Val(Mid$(x, i - 1, 1)) = 0 Then
a = Val(Mid$(x, i))
If a > 9999 And a < 100000 Then
i = i + 1
MsgBox a
End If
End If
Next

shahramm
سه شنبه 14 اسفند 1386, 04:37 صبح
از راهنمایی تون ممنون چک میکنم ببینم انشااله که نتیجه بگیرم

shahramm
سه شنبه 14 اسفند 1386, 05:04 صبح
ولی متاسفانه این کدها در صورت اعمال شرط کل متن رو درون یه textbox دیگه قرار میده در صورتی که من میخوام یه متن رو که درون یه textbox هستش(شامل اعداد و حروف ) رو جستجو کنه و فقط اعدادی که طول آن برابر 5 باشه رو به یه textbox دیگه اختصاص بده
دوستان اگه میدونند دریغ نکنند
با زهم از راهنماییتون ممنون

ƒxmahdi
سه شنبه 14 اسفند 1386, 09:44 صبح
این برنامه را یه تست بکنید

mononok
سه شنبه 14 اسفند 1386, 10:47 صبح
سلام دوستان
مطمئن نیستم چقدر عمل کنه چوت الان دقیقا دارم رو هوا کد می نویسم
ولی فکر می کنم درست باشه

for i=1 to len(txt1)
a=mid(txt1,i,5)
for y=1 to 5
s=mid(a,i,1)
if s<=9 and a>=0 then
c=c+1
p=i
end if
next y
if c=5 then
txt2=txt2&""&mid(txt1,p,5)&""
end if
next i

shahramm
سه شنبه 14 اسفند 1386, 14:24 عصر
ƒxmahdi (http://barnamenevis.org/forum/member.php?u=53612) ممنون از بابت سورسی که گذاشتین

مشکلم حل شد :تشویق: