13 个解决方案
#1
用fileopen filewrite等相关文件操作函数。
#2
filewrite
fileread
fileopen
fileclose
fileread
fileopen
fileclose
#3
你看一下pb的帮助应该理解的更深一些。
你查File Function就可以查所有的文件操作函数。
你查File Function就可以查所有的文件操作函数。
#4
/**********************************************************/
//Function : 读文件
//parm :
// 1. as_filename : 要打开的文件
// 2. as_save[] : 要存储文件内容的数组
// 3. ai_type : 打开文件的方式(流模式或行模式)
// 4. ai_startrow : 行模式时指定读起始行
//comment : ai_type = 1 是流模式(默认) =2 是行模式
//return : -1 is fail or 1 is success
//Author : hzh
//date : 2002.06.02
/**********************************************************/
int i_fh,i_cnt,i_sum,i_row
long l_file_length,l_ret
string s_temp
//文件不存在
IF NOT FileExists(as_filename) THEN RETURN -1
//打开文件
IF ai_type = 2 THEN
i_fh = FileOpen(as_filename,LineMode!,Read!,lockread!)
l_file_length = 0
ELSE
//默认流式
l_file_length = FileLength(as_filename)
i_fh = FileOpen(as_filename,StreamMode!,Read!,lockRead!)
END IF
IF i_fh <0 THEN
FileClose(i_fh)
RETURN -1
END IF
CHOOSE CASE l_file_length
CASE 0
//行模式读文件
l_ret = FileRead(i_fh,s_temp)
i_cnt = 1
i_row = 1
DO WHILE l_ret <> -100
IF i_row>=ai_startrow THEN as_save[i_cnt] = s_temp
l_ret = FileRead(i_fh,s_temp)
i_cnt ++
i_row ++
LOOP
CASE 1 TO 32374
//流模式读文件
l_ret = FileRead(i_fh,as_save[1])
IF l_ret < 0 THEN
FileClose(i_fh)
RETURN -1
END IF
CASE ELSE
//流模式循环读文件
i_sum = Int (l_file_length/32375) + 1
FOR i_cnt = 1 TO i_sum
FileRead(i_fh,as_save[i_cnt])
IF l_ret < 0 THEN EXIT
NEXT
END CHOOSE
FileClose(i_fh)
RETURN 1
#5
/**********************************************************/
//Function : 写文件
//parm :
// 1. as_filename : 要打开用于写的文件
// 2. as_save[] : 要存储文件内容的数组
// 3. ai_type : 打开文件的方式(流模式或行模式)
// 4. ai_startrow : 行模式时指定写的起始行,插入
//comment : ai_type = 1 是流模式(默认) = 2 是行模式
//return : -1 is fail or 1 is success
//Author : hzh
//date : 2002.06.02
/**********************************************************/
int i_fh,i_cnt,i_sum
long l_file_length,l_ret
string s_temp
//打开文件
IF ai_type = 2 THEN
i_fh = FileOpen(as_filename,LineMode!,write!,LockWrite!,Append!)
l_file_length = 0
ELSE
//默认流式
l_file_length = FileLength(as_filename)
i_fh = FileOpen(as_filename,StreamMode!,write!,LockWrite!,Append!)
END IF
IF i_fh <0 THEN
FileClose(i_fh)
RETURN -1
END IF
i_sum = UpperBound(as_save)
IF i_sum<1 THEN RETURN -1
CHOOSE CASE ai_type
CASE 1
//流模式写文件
FOR i_cnt = 1 TO i_sum
FileWrite(i_fh,as_save[i_cnt])
NEXT
CASE 2
//行模式写文件
FOR i_cnt = 1 TO i_sum
FileWrite(i_fh,as_save[i_cnt])
NEXT
CASE ELSE
MessageBox('打开文件模式出错','没有这种文件模式,请与程序供应商联系 !')
END CHOOSE
FileClose(i_fh)
RETURN 1
#6
自己慢慢看吧,相信可以解决你的大部分文件读写问题
#7
// 2. as_save[] : 要存储文件内容的数组,要求按地址传送
#8
:)
还有个很简单的ProfileString
还有个很简单的ProfileString
#9
同各位前辈
#10
www.yeqiufeng.net
我写过一个记事本……用PB651写的
我写过一个记事本……用PB651写的
#11
好家伙,都让上面这些家伙说完了。笑...
#12
只能顶了!!!狂顶!!!!!!!!!!!!!!!!!!!!!!!!
#13
简单问题人气特别高,楼主快点结贴吧
#1
用fileopen filewrite等相关文件操作函数。
#2
filewrite
fileread
fileopen
fileclose
fileread
fileopen
fileclose
#3
你看一下pb的帮助应该理解的更深一些。
你查File Function就可以查所有的文件操作函数。
你查File Function就可以查所有的文件操作函数。
#4
/**********************************************************/
//Function : 读文件
//parm :
// 1. as_filename : 要打开的文件
// 2. as_save[] : 要存储文件内容的数组
// 3. ai_type : 打开文件的方式(流模式或行模式)
// 4. ai_startrow : 行模式时指定读起始行
//comment : ai_type = 1 是流模式(默认) =2 是行模式
//return : -1 is fail or 1 is success
//Author : hzh
//date : 2002.06.02
/**********************************************************/
int i_fh,i_cnt,i_sum,i_row
long l_file_length,l_ret
string s_temp
//文件不存在
IF NOT FileExists(as_filename) THEN RETURN -1
//打开文件
IF ai_type = 2 THEN
i_fh = FileOpen(as_filename,LineMode!,Read!,lockread!)
l_file_length = 0
ELSE
//默认流式
l_file_length = FileLength(as_filename)
i_fh = FileOpen(as_filename,StreamMode!,Read!,lockRead!)
END IF
IF i_fh <0 THEN
FileClose(i_fh)
RETURN -1
END IF
CHOOSE CASE l_file_length
CASE 0
//行模式读文件
l_ret = FileRead(i_fh,s_temp)
i_cnt = 1
i_row = 1
DO WHILE l_ret <> -100
IF i_row>=ai_startrow THEN as_save[i_cnt] = s_temp
l_ret = FileRead(i_fh,s_temp)
i_cnt ++
i_row ++
LOOP
CASE 1 TO 32374
//流模式读文件
l_ret = FileRead(i_fh,as_save[1])
IF l_ret < 0 THEN
FileClose(i_fh)
RETURN -1
END IF
CASE ELSE
//流模式循环读文件
i_sum = Int (l_file_length/32375) + 1
FOR i_cnt = 1 TO i_sum
FileRead(i_fh,as_save[i_cnt])
IF l_ret < 0 THEN EXIT
NEXT
END CHOOSE
FileClose(i_fh)
RETURN 1
#5
/**********************************************************/
//Function : 写文件
//parm :
// 1. as_filename : 要打开用于写的文件
// 2. as_save[] : 要存储文件内容的数组
// 3. ai_type : 打开文件的方式(流模式或行模式)
// 4. ai_startrow : 行模式时指定写的起始行,插入
//comment : ai_type = 1 是流模式(默认) = 2 是行模式
//return : -1 is fail or 1 is success
//Author : hzh
//date : 2002.06.02
/**********************************************************/
int i_fh,i_cnt,i_sum
long l_file_length,l_ret
string s_temp
//打开文件
IF ai_type = 2 THEN
i_fh = FileOpen(as_filename,LineMode!,write!,LockWrite!,Append!)
l_file_length = 0
ELSE
//默认流式
l_file_length = FileLength(as_filename)
i_fh = FileOpen(as_filename,StreamMode!,write!,LockWrite!,Append!)
END IF
IF i_fh <0 THEN
FileClose(i_fh)
RETURN -1
END IF
i_sum = UpperBound(as_save)
IF i_sum<1 THEN RETURN -1
CHOOSE CASE ai_type
CASE 1
//流模式写文件
FOR i_cnt = 1 TO i_sum
FileWrite(i_fh,as_save[i_cnt])
NEXT
CASE 2
//行模式写文件
FOR i_cnt = 1 TO i_sum
FileWrite(i_fh,as_save[i_cnt])
NEXT
CASE ELSE
MessageBox('打开文件模式出错','没有这种文件模式,请与程序供应商联系 !')
END CHOOSE
FileClose(i_fh)
RETURN 1
#6
自己慢慢看吧,相信可以解决你的大部分文件读写问题
#7
// 2. as_save[] : 要存储文件内容的数组,要求按地址传送
#8
:)
还有个很简单的ProfileString
还有个很简单的ProfileString
#9
同各位前辈
#10
www.yeqiufeng.net
我写过一个记事本……用PB651写的
我写过一个记事本……用PB651写的
#11
好家伙,都让上面这些家伙说完了。笑...
#12
只能顶了!!!狂顶!!!!!!!!!!!!!!!!!!!!!!!!
#13
简单问题人气特别高,楼主快点结贴吧