[PB] PB에서 파일 읽기와 쓰기에 공통되는 두 가지 함수
1803 단어 서류를 쓰다
1. 파일 읽기:
// :f_readfile
// :
// :
// io_file:ref blob , ;
// is_filename:string
// :int 1- 0-
LONG ll_lenint li_FileNum,li_count,loops,i,bytes_readblob lblb_b,tot_bint liResult=1
ll_len=FileLength(is_filename)IF ll_len > 32765 THENIF Mod(ll_len, 32765) = 0 THENloops = ll_len/32765ELSEloops = (ll_len/32765) + 1END IFELSEloops = 1END IF
li_FileNum = FileOpen(is_filename,StreamMode!, read!, lockread!)if li_filenum = -1 thenmessagebox(","파일을 열 수 없음"+ is filename) end if
FOR i = 1 to loopsbytes_read=FileRead(li_FileNum, lblb_b)if bytes_read = -1 then messagebox("", "파일 읽기"+is filename + "실패!")liResult = 0 exitend ifif i=1 thentot_b = lblb_belsetot_b = tot_b + lblb_bend ifNEXTFileclose(li_FileNum)
if liResult = 1 thenib_file=tot_bend if
return liResult
2. 파일 쓰기:
//함수 이름: fwritefile//기능: 파일 쓰기//매개 변수://iofile:blob 대형 대상 형식으로 쓸 파일 내용을 저장합니다.//is_filename:string 파일 이름//반환값: int 1-성공0-실패
uLONG ll_len,li_count,loopsint li_FileNumblob lblb_bint liResult = 1
ll_len=len(ib_file)IF ll_len > 32765 THENIF Mod(ll_len, 32765) = 0 THENloops = ll_len/32765ELSEloops = (ll_len/32765) + 1END IFELSEloops = 1END IF
li_FileNum = FileOpen(is_filename,StreamMode!, write!, shared!,Replace!)if li_FileNum = -1 thenmessagebox(시스템 프롬프트, 파일 열 수 없음 + is filename) return 0end ifFOR licount = 1 to loopslblb_b = blobmid(ib file, (li count - 1) * 32765 + 1, 32765) if FileWrite(li FileNum, lblb b) = -1 thenmessagebox(시스템 프롬프트, 쓰기 파일 + is filename + 실패)liResult=0 exitend if/8010 NEXTFileclose(li FileNum)
//if liResult=1 then//liResult = gf_setfiletime(is_filename,idt_file_time)//end if
return liResult