| |
|
|
| Siehe auch: Varianten como nProcs: [...]
cadena fgc(cadena fle){
caso pCount<1 : volver ""
long b=fileSize(fle)
caso b<1 : volver ""
mem mem=b
long r=blockRead(fle,mem,,b)
cadena s=char$(mem,,r)
disponer mem
volver s
}
cadena fpc(cadena fle,s,bool _append){
caso pCount<1 : volver falso
caso pCount<2 : s=""
caso pCount<3 : _append=falso
long l=len(s)
if l=0 {
caso _append : volver true
long fh=assign(fle)
rewrite fh
close fh
assign fh,""
volver true
}
mem mem=l+1
ifnot _append {
cadena mem#,0=s
blockWrite fle,mem,,l
disponer mem
} más {
long fh=assign(fle)
openrw fh
seek fh,getFileSize(fh)
cadena mem#,0=s
blockWrite fh,mem,,l
disponer mem
close fh
assign fh,""
}
}
bool unlink(cadena fle){
casenot fileExists(fle) : volver true
long fh=assign(fle)
casenot fh : volver true-fileExists(fle)
erase fh
assign fh,""
volver true-fileExists(fle)
}
Selbe para con sin XPSE en normaler XProfan-Syntax:
proc FGC
PARAMETERS FLE$
IF %PCOUNT<1
RETORNO ""
ENDIF
var B&=FILESIZE(FLE$)
IF B&<1
RETORNO ""
ENDIF
DECLARE MEM#
DIM MEM#,B&
var R&=BLOCKREAD(FLE$,MEM#,0,B&)
var S$=CHAR$(MEM#,0,R&)
DISPOSE MEM#
RETORNO ""+S$
ENDPROC
proc FPC
PARAMETERS FLE$,S$,_APPEND%
IF %PCOUNT<1
RETORNO 0
ENDIF
IF %PCOUNT<2
S$=""
ENDIF
IF %PCOUNT<3
_APPEND%=0
ENDIF
var L&=LEN(S$)
IF L&=0
IF _APPEND%
RETORNO 1
ENDIF
var FH&=ASSIGN(FLE$)
REWRITE FH&
CLOSE FH&
ASSIGN FH&,""
RETORNO 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$)
RETORNO 1
ENDIF
var FH&=ASSIGN(FLE$)
IFNOT FH&
RETORNO 1-FILEEXISTS(FLE$)
ENDIF
ERASE FH&
ASSIGN FH&,""
RETORNO IF(1-FILEEXISTS(FLE$),1,0)
ENDPROC
|
|
|
| |
|
|