![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-12 16:50 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 几个VBS文本操作的函数 |
| 可打印版本 928 / 2 |
| 第1楼 qinchun36 | 发表于 2010-02-08 16:21 |
| 高级用户 发帖 400 积分 609 | |
|
几个VBS文本操作的函数 今天在MSDN上无意中看见文件对象有 Column 属性,以前还真不知道,
然后我自己试试,发现 Line 属性也有用, 于是利用这两个属性写了几个通用函数练练手,比我以前自己去数行列方便多了, 值得注意的是他们都是从 1 开始的,而不是 0。 Const FILE_NAME = "我替春春对各位哥哥姐姐们有话说.txt" '''''''''''''''''''''''''''''''''''''''''''''''''' ' 获取指定的一行文字 ' ' 参数说明: ' filespec 文件名 ' line 行编号,从 1 开始 '''''''''''''''''''''''''''''''''''''''''''''''''' Function GetLine(filespec, line) '''''''''''''''''''''''''''''''''''''''''''''''''' ' 获取指定的一列文字 ' ' 参数说明: ' filespec 文件名 ' column 列编号,从 1 开始 ' joinStr 每列的字符用什么连接起来 ' defaultStr 若某行无此列,则用此字符替代 '''''''''''''''''''''''''''''''''''''''''''''''''' Function GetColumn(filespec, column, joinStr, defaultStr) '''''''''''''''''''''''''''''''''''''''''''''''''' ' 转换为古代中文版式(从右到左竖排) ' ' 参数说明: ' filespec 文件名 ' blankStr 若原文件某行无此列,用此替代 ' 它必须与一个汉字一样宽 ' partition 转换后每列之间用此字符串分隔 '''''''''''''''''''''''''''''''''''''''''''''''''' 附件 我替春春对各位哥哥姐姐们有话说.zip (2.77 KiB) |
|
| 第2楼 slore | 发表于 2010-02-09 00:23 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
GetColumn要2重循环,感觉不如直接mid好吧。
|
|
| 第3楼 qinchun36 | 发表于 2010-02-09 10:25 |
| 高级用户 发帖 400 积分 609 | |
Originally posted by slore at 2010-2-9 12:23 AM: 一般来说的确如此,自己编码的话使用Mid会更方便。 由于二者的工作机制不同, Column相当于高级语言中的指针的性质,而且系统会自动在换行之后将其置于初时状态的值 1, Mid必需要读取完整的一行文字之后才能截取其中某个位置的字符,如果某行长度太长,用ReadLine则会影响效率,而如果用 Read(length) 则无法判断是否换行,同样要二重循环,而且比用Column更麻烦。 为了说明这一点,写了下面一段代码,并刻意制造了一个很长的文本(见附件 ~$tmp01$.txt),能显著的反应出结果 附件 ~$tmp01$.zip (5.35 KiB) |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |