FileOpen 及相关文件读写

try
//打开一个特定的文件并返回文件句柄
iFileHandle := FileOpen('d:\file.txt', fmOpenRead);
//返回文件共多少个字符
iFileLength := FileSeek(iFileHandle,1,0);

//指针指向文件开头
FileSeek(iFileHandle,0,0);
Buffer := PChar(AllocMem(iFileLength + 1));
//读取第三个参数的大小到内存Buffer,返回读取几个字符
iBytesRead := FileRead(iFileHandle, Buffer^, iFileLength+1);
//关闭文件
FileClose(iFileHandle);


function FileOpen(const FileName: string; Mode: LongWord): Integer;
函数变量Mode的取值:

fmCreate If the file exists, open for write access, otherwise, create a new file. Unlike the other constants, which are declared in the SysUtils unit, this constant is declared in tge classes unit.
fmOpenRead Open for read access only.
fmOpenWrite Open for write access only.
fmOpenReadWrite Open for read and write access.
fmShareCompat Compatible with the way FCBs are opened. Do not use this mode in cross-platform applications.
fmShareExclusive Read and write access is denied.

fmShareDenyWrite Write access is denied.
fmShareDenyRead Read access is denied. Do not use this mode in cross-platform applications.
fmShareDenyNone Allows full access for others.

function FileSeek(Handle, Offset, Origin: Integer): Integer; overload;

 


变量Origin的取值:
0 The file pointer is positioned Offset bytes from the beginning of the file.
1 The file pointer is positioned Offset bytes from its current position.
2 The file pointer is positioned Offset bytes from the end of the file.

 

分配内存
function AllocMem(Size: Cardinal): Pointer;

你可能感兴趣的:(FileOpen 及相关文件读写)