51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2515|回复: 8
打印 上一主题 下一主题

[原创] FSO的奇怪问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-7-23 21:08:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用FSO的WriteLine方法批量向文本文件写入字符串,已经成功的插入了一些字符串。

当插入某条特定的字符串时报错:“无效的过程调用或参数”。当我手工将这个字符串复制

到文本文件(用记事本打开)点击保存的时候,记事本提示:

该文件含有Unicode格式的字符,当文件保存为ANSI 编码的文本文件时,该字符将丢失......

我想程序出错也应该是由于插入了Unicode格式的字符串造成的。可我的代码要怎么应对这种格

式的字符串呢?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-7-23 21:20:58 | 只看该作者
FSO默认打开文件是以ASCII码格式打开的,可以指定格式参数为TristateTrue 以Unicode格式读写文件:
TristateTrue :Open the file as Unicode.
TristateFalse :Open the file as ASCII.
TristateUseDefault :Open the file using the system default.
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-7-24 09:07:23 | 只看该作者
回楼上的,三个参数我之前都试过了,不行。
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2008-7-24 09:17:49 | 只看该作者
关注
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2008-7-24 10:12:29 | 只看该作者
把代码贴出来瞧瞧
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2008-7-24 10:42:38 | 只看该作者
由于我的WriteLine的内容来自另外一个文本文件的读入
所以帖出打开、写入,两段代码,都是QTP Plus上的:
'打开文本文件
Function OpenFile (FilePath,mode)
    set OpenFile = oFSO.OpenTextFile(FilePath, mode, False,0)
End Function
'写文本文件
Function WriteToFile (byref FileRef,str)
   FileRef.WriteLine(str)
End Function
这其中OpenTextFile的最后一个参数的几种情况都试过了,都不行。
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2008-7-24 15:55:13 | 只看该作者

set OpenFile = oFSO.OpenTextFile(FilePath, mode, False,0)
换成:
set OpenFile = oFSO.OpenTextFile(FilePath, mode, False,TristateTrue )
也不行吗?

或者不要用WriteLine,改用Write。
回复 支持 反对

使用道具 举报

该用户从未签到

8#
 楼主| 发表于 2008-7-25 09:34:51 | 只看该作者
确实太奇怪了,一个文档里面就两条数据,加工后输入到文本文件时出错。

其它都没问题。而且如果在QTP里面Debug的话,用msgbox或print都能成功显示这两条数据。

[ 本帖最后由 tanky 于 2008-7-25 09:36 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-7-27 13:50:37 | 只看该作者
使用DoNETFactory来调用.NET的文件读写类试试吧
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 11:07 , Processed in 0.065936 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表