397
社区成员
发帖
与我相关
我的任务
分享
//====================================================================
// 函数: printer::write
//--------------------------------------------------------------------
// 描述:
//--------------------------------------------------------------------
// 参数:
// value character variable[]
//--------------------------------------------------------------------
// 返回值: integer
//--------------------------------------------------------------------
// 作者: test 日期: 2017.10.21
//--------------------------------------------------------------------
// 修改历史:
//
//====================================================================
blob lb
int ll,li
ll=UpperBound(variable)
//BlobEdit插入一个string或者char值后,会自动追加一个char(0)作为字符串结束标记
//如果string已char(0)结尾或者值本身是char(0),则不再追加
//所以总长度要加一,否则最后一个字符无法插入
//此怪异行为在处理中文或unicode时更需要注意
lb = blob(space(ll+1))
for li=1 to ll
BlobEdit(lb, li, variable[li]) //函数执行返回值的设计也很怪异
next
//此时lb中最后一位是char(0)或空格,去除掉
lb = blobmid(lb,1,ll)
return fileWrite(this.fileHandle, lb)