| |
|
|
| Siehe aussi: Varianten comme nProcs: [...]
string fgc(string fle){
cas pCount<1 : return »
long b=fileSize(fle)
cas b<1 : return »
mem mem=b
long r=blockRead(fle,mem,,b)
string s=char$(mem,,r)
dispose mem
return s
}
string fpc(string fle,s,bool _append){
cas pCount<1 : return faux
cas pCount<2 : s=»
cas pCount<3 : _append=faux
long l=len(s)
si l=0 {
cas _append : return vrai
long fh=assign(fle)
rewrite fh
close fh
assign fh,»
return vrai
}
mem mem=l+1
ifnot _append {
string mem#,0=s
blockWrite fle,mem,,l
dispose mem
} d'autre {
long fh=assign(fle)
openrw fh
seek fh,getFileSize(fh)
string mem#,0=s
blockWrite fh,mem,,l
dispose mem
close fh
assign fh,»
}
}
bool unlink(string fle){
casenot fileExists(fle) : return vrai
long fh=assign(fle)
casenot fh : return vrai-fileExists(fle)
erase fh
assign fh,»
return vrai-fileExists(fle)
}
Selbe pour avec sans XPSE dans normaler XProfan-Syntax:
proc FGC
PARAMETERS FLE$
IF %PCOUNT<1
RETOUR »
ENDIF
var B&=FILESIZE(FLE$)
IF B&<1
RETOUR »
ENDIF
DECLARE MEM#
DIM MEM#,B&
var R&=BLOCKREAD(FLE$,MEM#,0,B&)
var S$=CHAR$(MEM#,0,R&)
DISPOSE MEM#
RETOUR »+S$
endproc
proc FPC
PARAMETERS FLE$,S$,_APPEND%
IF %PCOUNT<1
RETOUR 0
ENDIF
IF %PCOUNT<2
S$=»
ENDIF
IF %PCOUNT<3
_APPEND%=0
ENDIF
var L&=LEN(S$)
IF L&=0
IF _APPEND%
RETOUR 1
ENDIF
var FH&=ASSIGN(FLE$)
REWRITE FH&
CLOSE FH&
ASSIGN FH&,»
RETOUR 1
ENDIF
DECLARE MEM#
DIM MEM#,L&+1
IFNOT _APPEND%
STRING MEM#,0=S$
BLOCKWRITE FLE$,MEM#,0,L&
DISPOSE MEM#
ELSE
var FH&=ASSIGN(FLE$)
OPENRW FH&
SEEK FH&,GETFILESIZE(FH&)
STRING MEM#,0=S$
BLOCKWRITE FH&,MEM#,0,L&
DISPOSE MEM#
CLOSE FH&
ASSIGN FH&,»
ENDIF
endproc
proc UNLINK
PARAMETERS FLE$
IFNOT FILEEXISTS(FLE$)
RETOUR 1
ENDIF
var FH&=ASSIGN(FLE$)
IFNOT FH&
RETOUR 1-FILEEXISTS(FLE$)
ENDIF
ERASE FH&
ASSIGN FH&,»
RETOUR IF(1-FILEEXISTS(FLE$),1,0)
endproc
|
|
|
| |
|
|