乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 107|回复: 6

我需要把不同的数据只用空格分开

[复制链接]

28

主题

46

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
158
发表于 2004-5-10 22:18:00 | 显示全部楼层 |阅读模式
我需要把不同的数据同时放在TEXTBOX1中,只用空格分开,每个分开的数据都作为一个参数使用,                                                 例如12 34 56 78                         把12赋予A,34赋予B.........
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-5-10 22:25:00 | 显示全部楼层
用Split函数分割pVal=Split(TextBox1.Text," ")
A=pVal(0)
B=pVal(1)
........
回复

使用道具 举报

28

主题

46

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
158
发表于 2004-5-11 07:42:00 | 显示全部楼层
我用的是CAD2000,没有split这个函数.
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2004-5-11 10:00:00 | 显示全部楼层
如果真的没有可以自己编一个
  1. Public Function LeftStr(ByVal String1 As Variant, ByVal String2 As Variant)
  2. On Error Resume Next
  3.        LeftStr = Left(String1, InStr(String1, String2) - 1)
  4.        If Err Then LeftStr = False
  5. End FunctionPublic Function RightStr(ByVal String1 As Variant, ByVal String2 As Variant)
  6. On Error Resume Next
  7.        RightStr = Right(String1, Len(String1) - Len(String2) - InStr(String1, String2) + 1)
  8.        If Err Then RightStr = False
  9. End FunctionPublic Function MySplit(ByVal String1 As Variant, ByVal String2 As Variant)
  10. Dim pStr() As String
  11. Dim pStrs As New Collection
  12. Do While InStr(1, String1, String2) > 0
  13. pStrs.Add LeftStr(String1, String2)
  14. String1 = RightStr(String1, String2)
  15. Loop
  16. pStrs.Add String1
  17. ReDim pStr(pStrs.Count - 1)
  18. For i = 0 To pStrs.Count - 1
  19. pStr(i) = pStrs(i + 1)
  20. Next i
  21. MySplit = pStr
  22. End FunctionPublic Sub test()
  23. For Each i In MySplit("12 23 45", " ")
  24. MsgBox i
  25. Next i
  26. End Sub
我以前也不知道可以用Split分割,所以自己编了一个
回复

使用道具 举报

0

主题

46

帖子

4

银币

初来乍到

Rank: 1

铜币
46
发表于 2004-8-19 13:34:00 | 显示全部楼层
Public Function readlin(ByVal nl As String, ByRef data() As String) As String
Dim i, j As Integer
Dim d(20), s As String
s = " "
i = InStr(1, nl, s)
d(0) = 1
j = 1
While i  0
'd()中记录的","出现的位置
d(j) = i
i = InStr(i + 1, nl, s)
j = j + 1
Wend
d(j) = Len(nl) + 1
nn = 0
For i = 1 To j
If d(i) - d(i - 1) > 1 Then
data(nn) = Trim(Mid(nl, d(i - 1), d(i) - d(i - 1)))
nn = nn + 1
End If
Next i
End Function
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
448
发表于 2004-10-19 11:59:00 | 显示全部楼层
如果中间的空格数不均匀,如下:
1                                         2                                                                         3
12                                34                                                         56
123         345                                         567
这又怎样实现数据分开呢?
回复

使用道具 举报

13

主题

396

帖子

5

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
448
发表于 2004-10-19 17:35:00 | 显示全部楼层
以上程序如下:
Public Function SplitStr(MainStr As String, Pos As Integer) As String
Dim l, i, j, n, k
Dim StrVal(0 To 100) As Variant
Dim MyStr As String
n = 1: j = 0: i = 0
MyStr = " "
l = Len(MainStr)
While i < l
k = InStr(n, MainStr, " ")
If k = 0 Then k = l + 1
MyStr = Mid(MainStr, n, k - n)
n = InStr(n, MainStr, " ")
If MyStr = "" Then
n = n + 1
i = i + 1
Else
j = j + 1
i = i + Len(MyStr)
StrVal(j) = MyStr
End If
Wend
SplitStr = StrVal(Pos)
End Function
Sub test()
SplitStr("1                         2         3", 1)
End Sub
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-16 05:31 , Processed in 0.479680 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表