VB mid 和 InStr的用法

小弟刚接触vb想从一个txet控件中取值,去不出来PrivateSubCommand1_Click()DimmlAsString,g的位置,x的位置AsByteml=LC... 小弟刚接触vb想从一个txet控件中取值,去不出来
Private Sub Command1_Click()
Dim ml As String, g的位置, x的位置 As Byte
ml = LCase(Text1.Text)
g的位置 = InStr(ml, "g")
x的位置 = InStr(ml, "x")
Label1.Caption = Val(Mid(ml, x的位置 + 1, 3))
Label2.Caption = Val(Mid(ml, g的位置 + 1, x的位置 - g的位置 - 1))

End Sub
我在控件中输入 G01 G02 X03 时 Label1中显示01,请高手指点怎么才能找到第二个G在字符串的位置啊?
谢谢你们的回答,不过我的最终目的是分别取值“G** G** X** Y**”或是“ G** X** Y**”字符串中这几个字母后面的数(要求程序对这两种格式的都能识别),有什么好的方法么?
展开
 我来答
duanyous
2010-05-20 · TA获得超过125个赞
知道小有建树答主
回答量:76
采纳率:0%
帮助的人:0
展开全部
g的位置 = InStr(InStr(ml, "g") + 1, ml, "g")

从第一个G的后一位开始找!

Private Sub Command1_Click()
Dim ml(3) As String, s As String
If Len(Trim(Text1.Text)) < 15 Then
s = LCase(Text1.Text) & Space(4)
Else
s = LCase(Text1.Text)
End If
For i = 0 To 3
ml(i) = Split(s, " ")(i)
Print ml(i)
Print Trim(Mid(ml(i), 1, 1)) & " : " & Trim(Mid(ml(i), 2, 2))
Next i
'Label1.Caption = Join(ml, ",")
'Label2.Caption = Trim(Mid(ml(0), 2, 3))
'G01 G02 X03 Y04
End Sub
4xguys
2010-05-19 · TA获得超过241个赞
知道小有建树答主
回答量:423
采纳率:0%
帮助的人:0
展开全部
split(text1.text," ")(0)
split(text1.text," ")(1)
split(text1.text," ")(2)
分别对应G01,G02,X03
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式