mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-15 21:49:06 +02:00
+ Added filetruncate
This commit is contained in:
parent
b186605bc4
commit
a7761fce12
@ -122,6 +122,9 @@ Regs.Ebx := Handle;
|
|||||||
RealIntr($21, Regs);
|
RealIntr($21, Regs);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
Function FileTruncate (Handle,Size: Longint) : boolean;
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
Function FileAge (Const FileName : String): Longint;
|
Function FileAge (Const FileName : String): Longint;
|
||||||
var Handle: longint;
|
var Handle: longint;
|
||||||
@ -321,7 +324,10 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.1 1998-12-21 13:07:02 peter
|
Revision 1.2 1999-02-03 11:42:31 michael
|
||||||
|
+ Added filetruncate
|
||||||
|
|
||||||
|
Revision 1.1 1998/12/21 13:07:02 peter
|
||||||
* use -FE
|
* use -FE
|
||||||
|
|
||||||
Revision 1.4 1998/10/29 13:16:19 michael
|
Revision 1.4 1998/10/29 13:16:19 michael
|
||||||
|
@ -17,57 +17,108 @@
|
|||||||
|
|
||||||
Function FileOpen (Const FileName : string; Mode : Integer) : Longint;
|
Function FileOpen (Const FileName : string; Mode : Integer) : Longint;
|
||||||
|
|
||||||
Begin
|
const
|
||||||
//!! Needs implementing
|
AccessMode: array[0..2] of Integer = (
|
||||||
|
GENERIC_READ,
|
||||||
|
GENERIC_WRITE,
|
||||||
|
GENERIC_READ or GENERIC_WRITE);
|
||||||
|
ShareMode: array[0..4] of Integer = (
|
||||||
|
0,
|
||||||
|
0,
|
||||||
|
FILE_SHARE_READ,
|
||||||
|
FILE_SHARE_WRITE,
|
||||||
|
FILE_SHARE_READ or FILE_SHARE_WRITE);
|
||||||
|
|
||||||
|
Var FN : string;
|
||||||
|
|
||||||
|
begin
|
||||||
|
FN:=FileName+#0;
|
||||||
|
Result := CreateFile(@FN[1], AccessMode[Mode and 3],
|
||||||
|
ShareMode[(Mode and $F0) shr 4], nil, OPEN_EXISTING,
|
||||||
|
FILE_ATTRIBUTE_NORMAL, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
Function FileCreate (Const FileName : String) : Longint;
|
Function FileCreate (Const FileName : String) : Longint;
|
||||||
|
|
||||||
|
Var FN : string;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
//!! Needs implementing
|
FN:=FileName+#0;
|
||||||
|
Result := CreateFile(@FN[1], GENERIC_READ or GENERIC_WRITE,
|
||||||
|
0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
Function FileRead (Handle : Longint; Var Buffer; Count : longint) : Longint;
|
Function FileRead (Handle : Longint; Var Buffer; Count : longint) : Longint;
|
||||||
|
|
||||||
|
Var res : Longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
//!! Needs implementing
|
if not ReadFile(Handle, @Buffer, Count, @res, nil) then res := -1;
|
||||||
|
FileRead:=Res;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
Function FileWrite (Handle : Longint; Var Buffer; Count : Longint) : Longint;
|
Function FileWrite (Handle : Longint; Var Buffer; Count : Longint) : Longint;
|
||||||
|
|
||||||
|
Var Res : longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
//!! Needs implementing
|
if not WriteFile(Handle, @Buffer, Count, @Res, nil) then Res:= -1;
|
||||||
|
FileWrite:=Res;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
Function FileSeek (Handle,Offset,Origin : Longint) : Longint;
|
Function FileSeek (Handle,Offset,Origin : Longint) : Longint;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
//!! Needs implementing
|
Result := SetFilePointer(Handle, Offset, nil, Origin);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
Procedure FileClose (Handle : Longint);
|
Procedure FileClose (Handle : Longint);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
//!! Needs implementing
|
CloseHandle(Handle);
|
||||||
|
end;
|
||||||
|
|
||||||
|
Function FileTruncate (Handle,Size: Longint) : boolean;
|
||||||
|
|
||||||
|
begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
Function FileAge (Const FileName : String): Longint;
|
Function FileAge (Const FileName : String): Longint;
|
||||||
|
|
||||||
|
var
|
||||||
|
Handle: THandle;
|
||||||
|
FindData: TWin32FindData;
|
||||||
|
LocalFileTime: TFileTime;
|
||||||
|
Fn : String;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
//!! Needs implementing
|
FN:=FN+#0;
|
||||||
|
Handle := FindFirstFile(@FN[1], @FindData);
|
||||||
|
if Handle <> INVALID_HANDLE_VALUE then
|
||||||
|
begin
|
||||||
|
Windows.FindClose(Handle);
|
||||||
|
if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then
|
||||||
|
begin
|
||||||
|
{
|
||||||
|
FileTimeToLocalFileTime(FindData.ftLastWriteTime, @LocalFileTime);
|
||||||
|
if FileTimeToDosDateTime(LocalFileTime, LongRec(Result).Hi,
|
||||||
|
LongRec(Result).Lo) then Exit;
|
||||||
|
} end;
|
||||||
|
end;
|
||||||
|
Result := -1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
Function FileExists (Const FileName : String) : Boolean;
|
Function FileExists (Const FileName : String) : Boolean;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
//!! Needs implementing
|
Result := FileAge(FileName) <> -1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -143,7 +194,10 @@ end;
|
|||||||
|
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.1 1998-10-11 12:21:01 michael
|
Revision 1.2 1999-02-03 11:41:30 michael
|
||||||
|
+ Added filetruncate
|
||||||
|
|
||||||
|
Revision 1.1 1998/10/11 12:21:01 michael
|
||||||
Added file calls. Implemented for linux only
|
Added file calls. Implemented for linux only
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user