求vb高手解答
根据文件名获取题目类型,题目编号PrivateSubGetParameters(ByValsParamAsString,lpTmlxAsLong,lpTmbhAsLong...
根据文件名获取题目类型,题目编号
Private Sub GetParameters(ByVal sParam As String, lpTmlx As Long, lpTmbh As Long)
Dim L1 As Long '记录分离出来的编号
L1 = InStr(1, sParam, "-", vbTextCompare) '分离各编号
lpTmlx = CLng(Mid(sParam, 1, 1)) '取得题目类型编号
lpTmbh = CLng(Mid(sParam, L1 + 1, Len(sParam))) '取得题目编号
End Sub
怎么理解? 展开
Private Sub GetParameters(ByVal sParam As String, lpTmlx As Long, lpTmbh As Long)
Dim L1 As Long '记录分离出来的编号
L1 = InStr(1, sParam, "-", vbTextCompare) '分离各编号
lpTmlx = CLng(Mid(sParam, 1, 1)) '取得题目类型编号
lpTmbh = CLng(Mid(sParam, L1 + 1, Len(sParam))) '取得题目编号
End Sub
怎么理解? 展开
展开全部
Private Sub GetParameters(ByVal sParam As String, lpTmlx As Long, lpTmbh As Long)
'定义一个自定义函数,函数名为GetParameters,该函数有三个参数分别为字符参数sParam 和长整型参数lpTmlx和lpTmbh
Dim L1 As Long '记录分离出来的编号
'定义一个长整型变量,变量名L1,根据上面的标记可以知道这个变量用来记录分离出来的编号
L1 = InStr(1, sParam, "-", vbTextCompare) '分离各编号
'instr函数,返回指定一字符串在另一字符串中最先出现的位置。
'INSTR(从第几个字符开始,源字符串 ,要查找的字符串,匹配模式)
'即上面的语句为:从第一个字符开始查找Param参数传递过来的字符串中的字符“-”,匹配模式为vbTextCompare(执行一个按照原文的比较。)
lpTmlx = CLng(Mid(sParam, 1, 1)) '取得题目类型编号
'mid函数,从字符串中返回指定数目的字符。Mid(sParam, 1, 1)就是从sParam第一个字符开始,取一个字符
'并将取到的字符通过Clng函数转变为长整型,并赋值给参数lpTmlx
lpTmbh = CLng(Mid(sParam, L1 + 1, Len(sParam))) '取得题目编号
'mid函数同上,这里说一下L1+1,上面提到L1是字符串中“-”字符的位置,加1就是从“-”字符后面一个开始取
'取的长度就是sParam的长度(Len函数,获取字符串长度)
End Sub
根据我的理解,要处理的字符串可能是这样的
2计算机-网络技术
其中2是题目类型编号代表计算机,及参数lpTmlx要获取的内容
L1就是字符“-”在字符串中的位置,这里应该是5
但是我看lpTmbh = CLng(Mid(sParam, L1 + 1, Len(sParam)))可能不太对
因为Len(sParam)的数值是9,而L1+1的数值是6,也就是说要从sParam(2计算机-网络技术)第6个字符(网)开始取9个字符
但后面其实没有9个字符了,这句可以改成这样
lpTmbh = CLng(Mid(sParam, L1 + 1, Len(sParam) - L1))
'定义一个自定义函数,函数名为GetParameters,该函数有三个参数分别为字符参数sParam 和长整型参数lpTmlx和lpTmbh
Dim L1 As Long '记录分离出来的编号
'定义一个长整型变量,变量名L1,根据上面的标记可以知道这个变量用来记录分离出来的编号
L1 = InStr(1, sParam, "-", vbTextCompare) '分离各编号
'instr函数,返回指定一字符串在另一字符串中最先出现的位置。
'INSTR(从第几个字符开始,源字符串 ,要查找的字符串,匹配模式)
'即上面的语句为:从第一个字符开始查找Param参数传递过来的字符串中的字符“-”,匹配模式为vbTextCompare(执行一个按照原文的比较。)
lpTmlx = CLng(Mid(sParam, 1, 1)) '取得题目类型编号
'mid函数,从字符串中返回指定数目的字符。Mid(sParam, 1, 1)就是从sParam第一个字符开始,取一个字符
'并将取到的字符通过Clng函数转变为长整型,并赋值给参数lpTmlx
lpTmbh = CLng(Mid(sParam, L1 + 1, Len(sParam))) '取得题目编号
'mid函数同上,这里说一下L1+1,上面提到L1是字符串中“-”字符的位置,加1就是从“-”字符后面一个开始取
'取的长度就是sParam的长度(Len函数,获取字符串长度)
End Sub
根据我的理解,要处理的字符串可能是这样的
2计算机-网络技术
其中2是题目类型编号代表计算机,及参数lpTmlx要获取的内容
L1就是字符“-”在字符串中的位置,这里应该是5
但是我看lpTmbh = CLng(Mid(sParam, L1 + 1, Len(sParam)))可能不太对
因为Len(sParam)的数值是9,而L1+1的数值是6,也就是说要从sParam(2计算机-网络技术)第6个字符(网)开始取9个字符
但后面其实没有9个字符了,这句可以改成这样
lpTmbh = CLng(Mid(sParam, L1 + 1, Len(sParam) - L1))
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询