textbox中有ACF="0" AF="1" CM="0" DISF="0" ERF="" OF="1" SO="3"
现在按执行按钮之后,先要对textbox中的这段值进行check首先要保证双引号配对出现
这个已经实现了,If UBound(Split((Form1.Text1), """")) Mod 2 <> 0 Then
现在又要求特定的值必须要被双引号引用,如果没有被双引号引用的话就出MSGBOX--"输入的格式有问题"
注意双引号引用的不一定都是数字。
刚才问了LEADER 他说要看空格之前和等号之后是不是有双引号。我还是不清楚,请各位大侠帮帮忙!!
谢谢!!
现在按执行按钮之后,先要对textbox中的这段值进行check首先要保证双引号配对出现
这个已经实现了,If UBound(Split((Form1.Text1), """")) Mod 2 <> 0 Then
现在又要求特定的值必须要被双引号引用,如果没有被双引号引用的话就出MSGBOX--"输入的格式有问题"
注意双引号引用的不一定都是数字。
刚才问了LEADER 他说要看空格之前和等号之后是不是有双引号。我还是不清楚,请各位大侠帮帮忙!!
谢谢!!
MsgBox "格式不正确!!", vbExclamation, c_strAppTitle
Exit Function
End If不知道我这样做对不对
strTmp = Replace(strTmp, "=""", ":") '将等号加引号用冒号替换
strTmp = Replace(strTmp, """ ", ";") '将空格加引号用分号替换
If Right(strTmp, 1) = """" Then strTmp = Left(strTmp, Len(strTmp) - 1) '去掉最后的引号(可能没有空格)如果 strTmp 中还含有等号或引号等,则格式有错误。
strTmp = "ACF:0;AF:1;CM:0;DISF:0;ERF:;OF:1;SO:3"取值时,可以先用;分割,再循环0至Ubound(你的数组)用:分割。
s=Split((Form1.Text1), """")
这样如果Form1.Text1的内容为ACF="0" AF="1" CM="0" DISF="0" ERF="" OF="1" SO="3"
那么s(0)= "ACF=" s(1)="0" ...也就是分割出来的字符串组为ACF=, 0, AF=, 1,CM=,......
所以Ubound=14
你看这样还能明白,不懂的再说
private s() as string
这个是从一个INI文件中读取的,不是固定的。是可以改变的
从INI中读取 然后初始化显示在textbox中。
dim a() as string, i as long
a = split(sValue, "=")
for i=1 to UBound(a)
if UBound(Split(a(i), """")) <> 2 then exit function
next CheckFormat = True
end function
到现在还是不明白你问题的核心,希望你能说详细一点,包括你要实现的功能==
比如 Split((Form1.Text1), """")分割出来干什么用
If UBound(Split((Form1.Text1), """")) Mod 2 <> 0 Then 有什么意义
dim s as string
s=text1.text & chr(32)
if ubound(split(s,"="""))<>ubound(split(s,""" ")) then
msgbox "双引号不匹配 "
end if
只用双引号的数量来判断应该不行,正则或用like更好吧:Function CheckFormat(ByVal sValue As String) As Boolean
Dim a() As String, i As Long
a = Split(Trim(sValue), Chr(32))
For i = 0 To UBound(a)
If Not (Trim(a(i)) Like "?*=""*""") Then Exit Function
Next
CheckFormat = True
End Function(不好意思借用下老鸟的代码......)
上面一大片的代码都在把几个双引号连用,这样的写法正确吗?没语法错误?!
-_-!
楼主试一下这个代码:
Dim strTxt$
strTxt = Trim$(Form1.Text1.Text)
If (UBound(Split(strTxt, "=" & Chr$(34))) <> (UBound(Split(strTxt, Chr$(34) & " ")) + 1)) Then
MsgBox "格式不正确!!", 48, c_strAppTitle
Exit Function
End If