
函数声明:
FUNCTION boolean CopyFileA(ref string cfrom, ref string cto, boolean flag) LIBRARY "Kernel32.dll"
蚂岁调用:
string ls_source, ls_des
boolean lb_flag, lb_rtn
lb_flag = false
ls_source = "c:\book.xls" //源文件档物猜
ls_des = "C:\tmp\111.xls" //目标文件
lb_rtn = CopyFileA(ls_source, ls_des, lb_flag)
MessageBox("文件拷贝", string(lb_rtn))
2、删除文件
函数声明:
FUNCTION boolean DeleteFileA(ref string filename) LIBRARY "Kernel32.dll"
调用:
string ls_file
boolean lb_rtn
ls_file = "C:\tmp\111.xls"
lb_rtn = DeleteFileA(ls_file)
MessageBox("文件删除行型", string(lb_rtn))
或者用PB本身的函数FileDelete()来删除文件。
-
可以的,先定义一个blob变量,然后用读文件的方式读到变量中,使用updateblob更新,和UPDATE语法差不多,不过不是通过数据窗口实现,而是通过SQL语句实现,selectblob查询,和SELECT查询也碧氏基本相同,不能直接想数据窗口插入那样直接的Update *** 作了。给您一段实例吧:
//读取保存图片
string ls_pathname, ls_filename
integer li_value,li_FileNum,loops,i
long ll_fileLength,bytes_read,new_pos
blob b, tot_b
li_value = GetFileOpenName("选择照片", &
+ ls_pathname, ls_filename, "Graphic","Graphic Files (*.bmp*.gif*.jpg*.jpeg),*.bmp*.gif*.jpg*.jpeg")
IF li_value = 1 THEN
// 设置鼠标样式为等待
SetPointer(HourGlass!)
// 获取文件长度,每次最大能读取的长度是32765
ll_fileLength= FileLength(ls_filename)
li_FileNum = FileOpen(ls_filename, StreamMode!, Read!, LockRead!)
// 通过长度得到要悔码散循环读取多少次
IF ll_filelength >32765 THEN
IF Mod(ll_filelength, 32765) = 0 THEN
loops =ll_filelength/32765
ELSE
loops = (ll_filelength/32765) + 1
END IF
ELSE
loops = 1
END IF
// 读取文件
new_pos = 1
FOR i = 1 to loops
bytes_read = FileRead(li_FileNum, b)
tot_b = tot_b + b
NEXT
FileClose(li_FileNum)
//更新表
//UPDATEBLOB 表名 SET 图片字段=:tot_b WHERE 条件 USing sqlca
//IF Sqlca.SQLNRows >0 THEN
//COMMIT USING SQLCA
P_1.setpicture(tot_b) //设模陆置界面显示图片
Elseif li_value=-1 then
MessageBox("选择照片","打开文件错误!")
End If
//从表里读取图片
//Blob lb_photo
//SELECTBLOB photo INTO :lb_photo FROM 表 where 条件 Using SQLCA
//P_1.setpicture(lb_photo)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)