以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  字符串的查找匹配问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=13140)

--  作者:blackzhu
--  发布时间:2011/9/29 12:24:00
--  字符串的查找匹配问题
Dim m As Integer
Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl"
Do While gs.length>0
    Dim gs1 As String =left(gs,4)
    m = gs.length
    gs= gs.Replace(gs1,"")
    output.show(gs1)
 Loop 

这段代码可以产生下面这么多字符串:

lkij
dhyj
eklo
esmu
fpam
hndm
nidm
okmn
buka
smah
dikd
uPlk
adla
jfla
sjfl

 我在文本框只要输入里面任何一组字符串就可一通过,代码怎么补充?

--  作者:blackzhu
--  发布时间:2011/9/29 12:56:00
--  
或者文本框的输入的字符串只要符合Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl" 的任何四个字符就可以通过.

 这个方法是最好的,代码怎么写?

--  作者:mr725
--  发布时间:2011/9/29 13:24:00
--  

这样?

 

if gs.contains("xxxx") then

    code

end if


--  作者:blackzhu
--  发布时间:2011/9/29 13:27:00
--  
第二种方法不好
--  作者:blackzhu
--  发布时间:2011/9/29 13:29:00
--  
还是第一种方法比较好
--  作者:blackzhu
--  发布时间:2011/9/29 14:51:00
--  
一楼的谁能给个代码?  只要是文本框的值等于这个代码 产生的任何一个四位数的就可以通过.



Dim m As Integer
Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl"
Do While gs.length>0
    Dim gs1 As String =left(gs,4)
    m = gs.length
    gs= gs.Replace(gs1,"")
    output.show(gs1)
 Loop 

比如这个代码会出来一个字符串为"jfla",我只要在文本框输入这一个就能通过.

--  作者:mr725
--  发布时间:2011/9/29 14:56:00
--  

 

Dim m As Integer
Dim gs1,g As String
Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl"
Do While gs.length>0
    gs1 =left(gs,4)
    m = gs.length
    gs= gs.Replace(gs1,"")

    g = g & gs1 & ","
Loop


Dim s As String = "okmn"    \'文本框输入的内容 e.form.controls("textbox1").text
For n As Integer = 0 To g.trim(",").split(",").length -1
    If g.trim(",").split(",")(n) = s
        output.show("ok")
        Exit For
    End If
Next

[此贴子已经被作者于2011-9-29 14:56:17编辑过]

--  作者:blackzhu
--  发布时间:2011/9/29 15:20:00
--  
Dim PassWord As String = e.Form.Controls("PassWord").Text
Dim t1 As String = e.Form.Controls("TextBox1").Value
t1= ComputerId
Dim m As Integer
Dim gs1,g As String
Dim gs As String ="lkijdhyjekloesmufpamhndmnidmokmnbukasmahdikduPlkadlajflasjfl"
Do While gs.length>0
    gs1 =left(gs,4)
    m = gs.length
    gs= gs.Replace(gs1,"")
    g = g & gs1 & ","
Loop
For n As Integer = 0 To g.trim(",").split(",").length -1
    If g.trim(",").split(",")(n) = PassWord Then
        e.form.close()
   Else
        MessageBox.Show("授权码错误,请重新输入!")
        PassWord =Nothing        
        Exit For
    End If
Next

通不过  我用msgbox测试g.trim(",").split(",")(n) 这个号码连续三次都是一样的.

--  作者:blackzhu
--  发布时间:2011/9/29 17:13:00
--  
老大是这样的,我描述一下:

 我有一个窗口,上面有一个文本框,一个按钮,按钮里面有一段代码:

 Dim gs As String ="l22k55i22jd88h22y26j4e22k2323lo23223e22323sm4ufp111amhnd1111mnidm4444okmnbuk888asm999ahd4ik9599du221P665lkad99aj55flasjfl"
For i As Integer = 0 To gs.length - 1 Step 6
    Dim l As Integer = Math.Min(6,gs.length -i)
    output.show(gs.Substring(i,l))
Next
 
 这段代码我在命令窗口测试后得到以下十几个6位数字符串:

l22k55
i22jd8
8h22y2
6j4e22
k2323l
o23223
e22323
sm4ufp
111amh
nd1111
mnidm4
444okm
nbuk88
8asm99
9ahd4i
k9599d
u221P6
65lkad
99aj55
flasjf

    问题就是,然后我在文本框里面输入一个六位数的字符串,输入的只要是在上面的这十几个字符串范围之内就可以关闭窗口,否则提示输入的字符串不对.
[此贴子已经被作者于2011-9-29 17:14:36编辑过]

--  作者:狐狸爸爸
--  发布时间:2011/9/29 17:20:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目107.rar