.... 你的ss又没赋值,那里可以得到值啊。Private Sub Command1_Click() Dim ss() As String ReDim ss(1 To Len(Text1)) For i = 1 To Len(Text1) Step 3 ss(i) = Mid(Trim(Text1.Text), i, 3) MsgBox ss(i) Next i End Sub
Dim ss As String, a As String, i As Integer ss = Text1.Text a = ss For i = 1 To Len(ss) Step 3 MsgBox (Left(a, 3)) a = Right(a, Len(a) - 3) Next i这样行吗?
Dim i as Integer For i = 1 To Len(Text1.txt) Step 3 MsgBox Mid(Text1.txt, i,3) Next
发现楼上一个小小的错误哦,当TEXT控件内字符的个数不是三的整倍数的时候会出错。 Dim L as Long Dim I as Long L=Len(text1.text) text1.text =text1.text & " " '最后加上两个空格,保险一点 For I = 1 To L Step 3 MsgBox Mid(Text1.txt, I,3) Next
Private Sub Command1_Click() Text1.Text = StringLoopGet(Text1.Text, 1, 10) End SubFunction StringLoopGet(ByVal pString As String, ByVal pStart As Long, ByVal pCount As Long) As String 'StringLoopGet函数 '语法:[tOutStr] = StringLoopGet(pString, pStart, pCount) '功能:从一个字符串指定位置循环获取指定数量的字符。 '参数:string pString '原字符串 ' long pStart '必要参数。开始字符位置(如果超过字符长度则与字符长度取余) ' long pCount '必要参数。获取字符数量(如果超过字符长度则循环获取) '输出:string tOutStr '返回获取的字符。 Dim tOutStr As String Dim tNotOut As Boolean
tNotOut = (pString = "") Or (pCount = 0)
If tNotOut Then Exit Function
Dim tBytes() As Byte Dim tBytes_Length As Long Dim tWordCount As Long
For tIndex = 0 To tIndex_Length tWordIndex = (tStart + tIndex) tByteGetIndex = (tWordIndex Mod tWordCount) * 2 tBytePutIndex = tIndex * 2 tOutBytes(tBytePutIndex) = tBytes(tByteGetIndex) tOutBytes(tBytePutIndex + 1) = tBytes(tByteGetIndex + 1) Next
tOutStr = tOutBytes()
StringLoopGet = tOutStr End Function
在上面函数基础上看看下面的测试代码: Private priString As StringPrivate Sub Form_Load() priString = "造谣日报2004年7月刊 小仙妹是个好孩子 msdn165168是个小笨蛋 联合国秘书长宣布辞职并推荐KiteGirl接替他的职务 小仙妹表示愿意接受地球球长一职 纽约昨日发生恐怖袭击 恐怖分子被发现是一只猫 " End SubPrivate Sub Command1_Click() priString = StringLoopGet(priString, 1, Len(priString)) Text1.Text = StringLoopGet(priString, 1, 10) End Sub
谢谢各位的帮助,谢谢!!! 在求教各位高手: 我如想取得一个数组的每个值,该如何作,谢谢!! 如: Dim b() As Byte Dim resultstring As String Open App.Path & "\ccc.txt" For Binary Access Read As #1 ReDim b(LOF(1)) As Byte Get #1, , b() Close #1我想取得b()里的每个值。
Dim b() As Byte Dim resultstring As String Open App.Path & "\ccc.txt" For Binary Access Read As #1 ReDim b(LOF(1)-1) As Byte Get #1, , b() Close #1resultstring=StrConv(b(), vbUniCode) '储存文件需要b()=StrConv(resultstring, vbFormUniCode)resultstring是文本内容。Dim tStrings() As String tStrings()=Split(resultstring, vbCrlf)tStrings()返回每个行,每个元素是一行。
你的ss又没赋值,那里可以得到值啊。Private Sub Command1_Click()
Dim ss() As String
ReDim ss(1 To Len(Text1))
For i = 1 To Len(Text1) Step 3
ss(i) = Mid(Trim(Text1.Text), i, 3)
MsgBox ss(i)
Next i
End Sub
ss = Text1.Text
a = ss
For i = 1 To Len(ss) Step 3
MsgBox (Left(a, 3))
a = Right(a, Len(a) - 3)
Next i这样行吗?
For i = 1 To Len(Text1.txt) Step 3
MsgBox Mid(Text1.txt, i,3)
Next
Dim L as Long
Dim I as Long
L=Len(text1.text)
text1.text =text1.text & " " '最后加上两个空格,保险一点
For I = 1 To L Step 3
MsgBox Mid(Text1.txt, I,3)
Next
Text1.Text = StringLoopGet(Text1.Text, 1, 10)
End SubFunction StringLoopGet(ByVal pString As String, ByVal pStart As Long, ByVal pCount As Long) As String
'StringLoopGet函数
'语法:[tOutStr] = StringLoopGet(pString, pStart, pCount)
'功能:从一个字符串指定位置循环获取指定数量的字符。
'参数:string pString '原字符串
' long pStart '必要参数。开始字符位置(如果超过字符长度则与字符长度取余)
' long pCount '必要参数。获取字符数量(如果超过字符长度则循环获取)
'输出:string tOutStr '返回获取的字符。
Dim tOutStr As String
Dim tNotOut As Boolean
tNotOut = (pString = "") Or (pCount = 0)
If tNotOut Then Exit Function
Dim tBytes() As Byte
Dim tBytes_Length As Long
Dim tWordCount As Long
tBytes() = pString
tBytes_Length = UBound(tBytes())
tWordCount = (tBytes_Length + 1) \ 2
Dim tStart As Long
tStart = pStart Mod tWordCount
Dim tIndex As Long
Dim tIndex_Length As Long
Dim tWordIndex As Long
Dim tByteGetIndex As Long
Dim tBytePutIndex As Long
Dim tOutBytes() As Byte
tIndex_Length = pCount - 1
tOutBytes_Length = (pCount * 2) - 1
ReDim tOutBytes(tOutBytes_Length)
For tIndex = 0 To tIndex_Length
tWordIndex = (tStart + tIndex)
tByteGetIndex = (tWordIndex Mod tWordCount) * 2
tBytePutIndex = tIndex * 2
tOutBytes(tBytePutIndex) = tBytes(tByteGetIndex)
tOutBytes(tBytePutIndex + 1) = tBytes(tByteGetIndex + 1)
Next
tOutStr = tOutBytes()
StringLoopGet = tOutStr
End Function
Private priString As StringPrivate Sub Form_Load()
priString = "造谣日报2004年7月刊 小仙妹是个好孩子 msdn165168是个小笨蛋 联合国秘书长宣布辞职并推荐KiteGirl接替他的职务 小仙妹表示愿意接受地球球长一职 纽约昨日发生恐怖袭击 恐怖分子被发现是一只猫 "
End SubPrivate Sub Command1_Click()
priString = StringLoopGet(priString, 1, Len(priString))
Text1.Text = StringLoopGet(priString, 1, 10)
End Sub
在求教各位高手:
我如想取得一个数组的每个值,该如何作,谢谢!!
如:
Dim b() As Byte
Dim resultstring As String
Open App.Path & "\ccc.txt" For Binary Access Read As #1
ReDim b(LOF(1)) As Byte
Get #1, , b()
Close #1我想取得b()里的每个值。
Dim resultstring As String
Open App.Path & "\ccc.txt" For Binary Access Read As #1
ReDim b(LOF(1)-1) As Byte
Get #1, , b()
Close #1resultstring=StrConv(b(), vbUniCode) '储存文件需要b()=StrConv(resultstring, vbFormUniCode)resultstring是文本内容。Dim tStrings() As String
tStrings()=Split(resultstring, vbCrlf)tStrings()返回每个行,每个元素是一行。