我想实现这样功能
表 vdm vmc
001 张三
002 李四
003 王五
txt文件中包含了 表 vmc 的内容,我像把txt文件中的vmc替换成vdm,怎么实现?
补充: 1 用fileopen,fileread以及filewrite效率太慢
2 用网上推荐的方法
“string ls
int li
oleObject ADODB,ScrCtl
//(1)打开并读取文件
ADODB = CREATE OLEObject
if ADODB.ConnectToNewObject("ADODB.Stream") <> 0 then
messagebox('', '无法连接【ADODB.Stream】!')
return -1
end if
ADODB.Type = 1 //二进制数据Binary
ADODB.Mode =3 //具有读/写权限
ADODB.Open()
ADODB.LoadFromFile(as_file)
ADODB.Position = 0 //Position为0才能设置Charset
ADODB.Type = 1 //blob数据
ls = string(ADODB.Read() )
//(2)替换文本内容
ScrCtl = create oleobject
if ScrCtl.connecttonewobject("MSScriptControl.ScriptControl") <> 0 then
messagebox('', '无法连接【MSScriptControl.ScriptControl】!')
return -1
end if
ScrCtl.Language = "JavaScript"
ScrCtl.Eval("function clrn(str){return str.replace(/" + as_search + "/g,'" + as_replace + "')}")
ls = string(ScrCtl.CodeObject.clrn(ls))
destroy ScrCtl
//(3)保存并关闭文件
ADODB.Position = 0
ADODB.write(blob(ls))
//保存为文本文件
ADODB.SaveToFile( as_file, 2)
//清空缓冲区数据
ADODB.flush()
//关闭流
ADODB.Close()
destroy ADODB
return len(ls)
”
替换后,文件末尾有问题,有时多了几行内容。
除了上面方法,还有什么方法?请大师指点,详细点,谢谢
javascript TXT??提婚?PB?
------解决方案--------------------
BlobEdit()
功能将任意类型的数据插入到Blob类型变量的指定位置。
语法BlobEdit ( blobvariable, n, data )
参数blobvariable:Blob类型的已初始化变量,将向该变量中插入数据n:指定插入位置,有效值在1到4,294,967,295之间data:要插入到Blob类型变量中的数据,其数据类型可以是任何有效的PowerBuilder数据类型返回值Unsigned long。函数执行成功时返回下次可以插入数据的位置;如果blobvariable变量中空间不够或任何参数的值为NULL,则BlobEdit()函数返回NULL。
------解决方案--------------------
导到数据库中处理就方便多了
------解决方案--------------------
用数据窗口来实现比较方便,建一个数据窗口,把数据导入到数据窗口中,然后进行替换操作,然后再saveas成文本文件
------解决方案--------------------
用循环来处理,直接对列进行操作,使用getitemstring和setitem来处理,速度要比用find快