乐筑天下

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

能否一次将所有文本的数值加上0.8,明总指点

[复制链接]

21

主题

105

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2003-8-29 18:01:00 | 显示全部楼层 |阅读模式
能否一次将所有文本的数值加上一定的值?
Private Sub CommandButton1_Click()
Dim s As AcadSelectionSet
Dim A As String, I As Single
Dim start As Integer
Dim ed As Integer
Dim s1 As String
Dim s2 As String
Dim ft(0) As Integer
Dim fl(0) As Variant
ft(0) = 0
fl(0) = "text"
Set s = ThisDrawing.SelectionSets.Add("a2a2121")
Me.Hide
s.SelectOnScreen ft, fl
Dim e As AcadText
For Each e In s
  '将对象的字符给变量A
  A = e.TextString
  '获得截取字符串的首位置
  start = InStr(1, A, "/")
  '获得欲截取数据的结束位置
  ed = InStr(1, A, "dBm")
  '将前面的字符赋给S1
  s1 = Mid(A, 1, start)
   '将后面的字符赋给S1
  s2 = Mid(A, ed, 3)
  '取出数据,并改变
  I = Val(Mid(A, start + 1, ed - start))
  I = I + 0.8
  e.TextString = s1 & I & s2
  e.Update
  Next e
End Sub
字符串的格式:F1-A1/3.5dBm    楼层-天线/输出功率
                    F15-A1/-6.5dBm .....
要求,将输出功率加大0.8
请明总指点。
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2003-8-29 20:16:00 | 显示全部楼层
A = e.TextString
  '获得截取字符串的首位置
  start = InStr(1, A, "/")
  '获得欲截取数据的结束位置
  end = InStr(1, A, "dBm")
  '将前面的字符赋给S1
  s1 = Mid(A, 1, start)
   '将后面的字符赋给S1
  s2 = Mid(A, ed)
  '取出数据,并改变
'长度应该是end-start-1,如:F1-A1/3.5dBm,start为6,end为10。
'I应该定义为Double型,如3.5是实数。
   
  I = Val(Mid(A, start + 1, end - start-1))
  I = I + 0.8
  e.TextString = s1 & I & s2
  e.Update
回复

使用道具 举报

21

主题

105

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
189
发表于 2003-8-30 10:42:00 | 显示全部楼层
谢谢指点。不过在运行过程中并没有发生错误。是不是它只把数据读到了 I  中,而对于字符就自动截断了。
为什么要将 I 定义为DOUBLE?SINGLE不也是浮点小数吗?(SINGLE的运行速度更快一些啊)
而且在这里它并不与CAD的计量单位发生关系。只是一次简单的小数运算罢了。
回复

使用道具 举报

26

主题

589

帖子

10

银币

中流砥柱

Rank: 25

铜币
693
发表于 2003-8-30 16:52:00 | 显示全部楼层
这个是Val的用法,它试着截取字符串的前部分,将它转化成数值。但是如果对于“-”开头的,则不能转化。详细的用法可以看帮助文件。最好使用类型转化,比如CDbl。
定义为Single也可,从编程的习惯来说,I一般是定义为整型的,它是Integer的开头字母,容易识别。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-6-29 04:09 , Processed in 1.975925 second(s), 61 queries .

© 2020-2025 乐筑天下

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