[PB] PB中读写文件通用的两个函数
PB中读写文件通用的两个函数
1、文件读取 :
//函数名:f_readfile //功能:读取文件//参数:// io_file:ref blob 大对象类型,存储读出的文件内容;// is_filename:string 文件名//返回值:int 1-成功 0-失败
LONG ll_len
int li_FileNum,li_count,loops,i,bytes_read
blob lblb_b,tot_b
int liResult=1
ll_len=FileLength(is_filename)
IF ll_len > 32765 THEN
IF Mod(ll_len, 32765) = 0 THEN
loops = ll_len/32765
ELSE
loops = (ll_len/32765) + 1
END IF
ELSE
loops = 1
END IF
li_FileNum = FileOpen(is_filename,StreamMode!, read!, lockread!)
if li_filenum = -1 then
messagebox("","无法打开文件"+ is_filename)
end if
FOR i = 1 to loops
bytes_read=FileRead(li_FileNum, lblb_b)
if bytes_read = -1 then
messagebox("","读取文件"+is_filename+"失败!")
liResult = 0
exit
end if
if i=1 then
tot_b = lblb_b
else
tot_b = tot_b + lblb_b
end if
NEXT
Fileclose(li_FileNum)
if liResult = 1 then
ib_file=tot_b
end if
return liResult
2、文件写入 :
//函数名:f_writefile
//功能:写入文件
//参数:
// io_file:blob 大对象类型,存储将写入的文件内容;
// is_filename:string 文件名
//返回值:int 1-成功 0-失败
uLONG ll_len,li_count,loops
int li_FileNum
blob lblb_b
int liResult = 1
ll_len=len(ib_file)
IF ll_len > 32765 THEN
IF Mod(ll_len, 32765) = 0 THEN
loops = ll_len/32765
ELSE
loops = (ll_len/32765) + 1
END IF
ELSE
loops = 1
END IF
li_FileNum = FileOpen(is_filename,StreamMode!, write!, shared!,Replace!)
if li_FileNum = -1 then
messagebox("系统提示","无法打开文件"+is_filename)
return 0
end if
FOR li_count = 1 to loops
lblb_b = blobmid( ib_file , ( li_count - 1) * 32765 + 1 , 32765 )
if FileWrite(li_FileNum, lblb_b) = -1 then
messagebox("系统提示","写文件" + is_filename+"失败")
liResult=0
exit
end if//8010
NEXT
Fileclose(li_FileNum)
//if liResult=1 then
// liResult = gf_setfiletime(is_filename,idt_file_time)
//end if
return liResult
[PB] PB中读写文件通用的两个函数相关推荐
- Linux内核中读写文件数据的方法
Linux内核中读写文件数据的方法 有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据.在kernel中操作文件没有标准库可用,需要利用kernel的一些函数, ...
- php写文件 效率,php中读写文件与读写数据库的效率_PHP教程
本文章来给大家介绍一个关于php中读写文件与读写数据库的效率对比,有需要了解的朋友可参考. 测试程序如下: //说明1:由于读数据库语句调用简单的封包函数两次,所以把读文件也改成连续调用两次,数据库记 ...
- 【转】 Linux内核中读写文件数据的方法--不错
原文网址:http://blog.csdn.net/tommy_wxie/article/details/8193954 Linux内核中读写文件数据的方法 有时候需要在Linuxkernel ...
- Android中读写文件的N种方法
在android或者java中读写文件时,我们常常面临不知道该用哪种方法来实现,今天我们一起来总结一下N种读写文件的方法. 一.文件输入输出流读写文件 public void writeFileStr ...
- 关于MATLAB中M文件如何解决“未定义函数或变量”的若干办法
MATLAB的M文件分为两种:一种为脚本文件,另一种为函数文件. 脚本文件很简单,就是由一堆命令构成的,里面第一行不是 function 开头,这种文件比如是encrypt.m编写好后直接点F5或者运 ...
- 获取文件名称的两个函数
获取文件名称的两个函数 FORM f4_filename changing c_file. CALL FUNCTION 'KD_GET_FILENAME_ON_F4' EXPORTING mask ...
- 编程中python怎么读-编程语言如何在Python中读写文件
从文件读取和写入文件是任何编程语言的常见需求.任何文件在读写之前都需要打开.大多数编程语言都使用open()方法来打开文件,以便使用文件对象(file object)读写.可以使用不同类型的文件访问模 ...
- 如何在linux内核中读写文件
在VFS的支持下,用户态进程读写任何类型的文件系统都可以使用read和write着两个系统调用,但是在linux内核中没有这样的系统调用我们如何操作文件呢?我们知道read和write在进入内核态之后 ...
- python 学习记录-用python从硬盘中读写文件 Day21
(一)文件操作 文件操作步骤: 第一步: 打开文件 f = open(文件名, 操作模式, encoding=文件编码) 第二步: 读写文件 f.read() f.write() 第三步: 关闭文件 ...
最新文章
- LruCache缓存处理及异步加载图片类的封装
- 中关村论坛首次设置技术交易板块,人工智能和新一代信息技术专场发布会即将召开...
- 【iOS与EV3混合机器人编程一系列五个】iOS_WiFi_EV3_Library 解剖连接EV3
- SetWindowOrg等相关函数
- EnumMap的用法和源码解析
- 151. 翻转字符串里的单词
- 云服务器+开发板搭建直播系统,自建流媒体服务器开直播
- 三十二、Java集合中的ArrayList
- 什么是野指针和内存泄露?如何避免野指针
- C# Winform 窗体美化(一、IrisSkin 换肤库)
- 计算机辅助翻译入门试题,2011级计算机辅助翻译考试试题纸(A卷)
- SpringBoot2整合Jooq和Flyway(一)
- shell错位_shell脚本出错!来大神指出错误出处!!!!
- pip更新pip,升级 pip3怎么做?
- 印象笔记Markdown样式美化
- 雷达信号处理基础 ch1 note1
- 树莓派4安装minecraft java 1.12.2
- 安全生产计算机考试成绩查询,安全生产在线模拟考试成绩查询
- 再谈回声消除测评丨Dev for Dev 专栏
- matlab svc doc,TCR+FC型SVC的研究及MATLAB仿真.doc