Registriert seit: 12. Dez 2004
Ort: Wien, Österriech
893 Beiträge
Delphi 6 Enterprise
|
Re: Datei lesen auf "einmal"
27. Apr 2006, 20:02
ich habe es inzwischen so gemacht:
Delphi-Quellcode:
TByteArray = array of Byte;
function S_win_ReadFile(const FileName: string; var Data: Pointer): Cardinal;
var
FileHandle, BytesRead: Cardinal;
begin
FileHandle := CreateFile(PChar(FileName), GENERIC_READ, 0, nil,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
if FileHandle = INVALID_HANDLE_VALUE then
begin
Result := 0;
Data := nil;
Exit;
end;
Result := GetFileSize(FileHandle, nil);
GetMem(Data, Result);
ReadFile(FileHandle, Data^, Result, BytesRead, nil);
CloseHandle(FileHandle);
end;
function S_pascal_ReadFile(const FileName: string; var Data: TByteArray): Cardinal;
var
FileHandle: file;
BytesRead: Cardinal;
begin
{$I-}
AssignFile(FileHandle, FileName);
Reset(FileHandle, 1);
Result := FileSize(FileHandle);
SetLength(Data, Result);
BlockRead(FileHandle, Data[0], Result, BytesRead);
CloseFile(FileHandle);
{$I+}
end;
Katura Haris Es (ein gutes Wort) ist wie ein guter Baum, dessen Wurzel fest ist und dessen Zweige in den Himmel reichen.
|
|
Zitat
|