对于给定字符串进行分割,结果按照新的格式显示。
给定字符串特征:用1、2、3、4分为4段;第一个字符总是1;每段长度不定,但均为字母。
如:
GivenStr = "1ASLDKJ2WNKD3ALJLKJ4IPHPA"
输出结果为:
IPHPA#ALJLKJ#WNKD#ASLDKJ#可是,将程序段封装为SUB过程,再调用时,却出现了问题。
输出结果变成了:
####请教各位,问题出在何处?
谢谢!附:VB6源代码Private Sub Form_Load()
Dim GivenStr, Str1, Str2, Str3, Str4 As String
'取值
GivenStr = "1ASLDKJ2WNKD3ALJLKJ4IPHPA"
'调用过程
Call StringSplit(GivenStr, Str4, Str3, Str2, Str1)
'显示结果
debug.print Str4 + "#" + Str3 + "#" + Str2 + "#" + Str1 + "#" + Chr(13) + Chr(10)End SubSub StringSplit(ByVal Str0 As String, ByVal Str4 As String, ByVal Str3 As String, ByVal Str2 As String, ByVal Str1 As String)
Dim MyStr As String
Dim mylen, mysplit As IntegerMyStr = Str0
mylen = Len(MyStr)
mysplit = InStr(MyStr, "4")
Str4 = Right(MyStr, mylen - mysplit)MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
mysplit = InStr(MyStr, "3")
Str3 = Right(MyStr, mylen - mysplit)MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
mysplit = InStr(MyStr, "2")
Str2 = Right(MyStr, mylen - mysplit)MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
Str1 = Right(MyStr, mylen - 1)End Sub如果取消过程调用,直接验证这段代码,运行成功。(将过程中Str0改为GivenStr)
给定字符串特征:用1、2、3、4分为4段;第一个字符总是1;每段长度不定,但均为字母。
如:
GivenStr = "1ASLDKJ2WNKD3ALJLKJ4IPHPA"
输出结果为:
IPHPA#ALJLKJ#WNKD#ASLDKJ#可是,将程序段封装为SUB过程,再调用时,却出现了问题。
输出结果变成了:
####请教各位,问题出在何处?
谢谢!附:VB6源代码Private Sub Form_Load()
Dim GivenStr, Str1, Str2, Str3, Str4 As String
'取值
GivenStr = "1ASLDKJ2WNKD3ALJLKJ4IPHPA"
'调用过程
Call StringSplit(GivenStr, Str4, Str3, Str2, Str1)
'显示结果
debug.print Str4 + "#" + Str3 + "#" + Str2 + "#" + Str1 + "#" + Chr(13) + Chr(10)End SubSub StringSplit(ByVal Str0 As String, ByVal Str4 As String, ByVal Str3 As String, ByVal Str2 As String, ByVal Str1 As String)
Dim MyStr As String
Dim mylen, mysplit As IntegerMyStr = Str0
mylen = Len(MyStr)
mysplit = InStr(MyStr, "4")
Str4 = Right(MyStr, mylen - mysplit)MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
mysplit = InStr(MyStr, "3")
Str3 = Right(MyStr, mylen - mysplit)MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
mysplit = InStr(MyStr, "2")
Str2 = Right(MyStr, mylen - mysplit)MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
Str1 = Right(MyStr, mylen - 1)End Sub如果取消过程调用,直接验证这段代码,运行成功。(将过程中Str0改为GivenStr)
解决方案 »
- 求教:如何利用MSHTML对像获取网页中的CheckBox元素对应的文字.
- 用VB的ADO访问DBF文件出问题
- 日期挑选器如何能只读呀?让它不能被改值。
- 大家知道有哪个安装软件是针对VB打包最好的!!!!!
- 用水晶报表 我在sqlserver中建立一个表,当有第二个用户同时读写它时会像死机一样,这个问题怎么解决啊
- 在vb中怎样调用word,对word进行操作,并进行打印?
- 虹阳餐饮管理软件诚请您提供宝贵意见!
- 报表的数据与ADO控件的关联(我只有20分)
- csdn最近是怎么了,我快半月上不来,今天好容易才挤进来。感谢上帝。
- How to print with ShellExecute
- 如何判断图片的摘要信息
- 如何保留窗体大小添加全屏背景
Dim GivenStr As String, Str1 As String, Str2 As String, Str3 As String, Str4 As String
'取值
GivenStr = "1ASLDKJ2WNKD3ALJLKJ4IPHPA"
'调用过程
Call StringSplit(GivenStr, Str4, Str3, Str2, Str1)
'显示结果
Debug.Print Str4 + "#" + Str3 + "#" + Str2 + "#" + Str1 + "#" + Chr(13) + Chr(10)End SubSub StringSplit(ByVal Str0 As String, Str4 As String, Str3 As String, Str2 As String, Str1 As String)
Dim MyStr As String
Dim mylen As Long, mysplit As Long
MyStr = Str0
mylen = Len(MyStr)
mysplit = InStr(MyStr, "4")
Str4 = Right(MyStr, mylen - mysplit)
MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
mysplit = InStr(MyStr, "3")
Str3 = Right(MyStr, mylen - mysplit)
MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
mysplit = InStr(MyStr, "2")
Str2 = Right(MyStr, mylen - mysplit)
MyStr = Left(MyStr, mysplit - 1)
mylen = Len(MyStr)
Str1 = Right(MyStr, mylen - 1)End Sub