From YYpBD's MediaWiki
function AccessFileOpen(const FileName: string): string;
var
FileHandle : THandle;
BytesRead : LongWord;
Buffer : array[0..MAX_PATH - 1] of Char;
begin
FillChar(Buffer, Sizeof(Buffer), #0);
// 파일 열기
FileHandle := CreateFile(
PAnsiChar(FileName),
GENERIC_READ { or GENERIC_WRITE },
FILE_SHARE_READ or FILE_SHARE_WRITE,
nil,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
0);
try
if FileHandle = INVALID_HANDLE_VALUE then begin
// 파일 읽기 실패
ShowMessage(SysErrorMessage(GetLastError));
end else begin
SetFilePointer(FileHandle, 0, nil, FILE_BEGIN);
ReadFile(FileHandle, Buffer, Sizeof(Buffer), BytesRead, nil);
result := Buffer;
end;
finally
// 파일 핸들을 닫기
CloseHandle(FileHandle);
end;
end;