|
@@ -4,7 +4,7 @@
|
|
|
Copyright (c) 1998 by the Free Pascal development team
|
|
|
|
|
|
Disk functions from Delphi's sysutils.pas
|
|
|
-
|
|
|
+
|
|
|
See the file COPYING.FPC, included in this distribution,
|
|
|
for details about the copyright.
|
|
|
|
|
@@ -15,45 +15,75 @@
|
|
|
**********************************************************************}
|
|
|
|
|
|
Function DiskFree (Drive : Byte) : Longint;
|
|
|
-
|
|
|
+var Regs: Registers;
|
|
|
begin
|
|
|
+Regs.Dl := Drive;
|
|
|
+Regs.Ah := $36;
|
|
|
+intr($21, Regs);
|
|
|
+if Regs.Ax <> $FFFF then
|
|
|
+ result := Regs.Ax * Regs.Bx * Regs.Cx
|
|
|
+else
|
|
|
+ result := -1;
|
|
|
end;
|
|
|
|
|
|
|
|
|
Function DiskSize (Drive : Byte) : Longint;
|
|
|
-
|
|
|
+var Regs: Registers;
|
|
|
begin
|
|
|
+Regs.Dl := Drive;
|
|
|
+Regs.Ah := $36;
|
|
|
+Intr($21, Regs);
|
|
|
+if Regs.Ax <> $FFFF then
|
|
|
+ result := Regs.Ax * Regs.Cx * Regs.Dx
|
|
|
+else
|
|
|
+ result := -1;
|
|
|
end;
|
|
|
|
|
|
|
|
|
Function GetCurrentDir : String;
|
|
|
|
|
|
begin
|
|
|
+GetDir(0, result);
|
|
|
end;
|
|
|
|
|
|
|
|
|
-Function SetCurrentDir (Const NewDir : String) : Boolean;
|
|
|
+Function SetCurrentDir(Const NewDir : String) : Boolean;
|
|
|
|
|
|
begin
|
|
|
+{$I-}
|
|
|
+ChDir(NewDir);
|
|
|
+result := (IOResult = 0);
|
|
|
+{$I+}
|
|
|
end;
|
|
|
|
|
|
|
|
|
Function CreateDir (Const NewDir : String) : Boolean;
|
|
|
|
|
|
begin
|
|
|
+{$I-}
|
|
|
+MkDir(NewDir);
|
|
|
+result := (IOResult = 0);
|
|
|
+{$I+}
|
|
|
end;
|
|
|
|
|
|
|
|
|
Function RemoveDir (Const Dir : String) : Boolean;
|
|
|
|
|
|
begin
|
|
|
+{$I-}
|
|
|
+RmDir(Dir);
|
|
|
+result := (IOResult = 0);
|
|
|
+{$I+}
|
|
|
end;
|
|
|
|
|
|
|
|
|
|
|
|
{
|
|
|
$Log$
|
|
|
- Revision 1.1 1998-10-11 13:42:55 michael
|
|
|
+ Revision 1.2 1998-10-30 14:13:13 michael
|
|
|
+ + Implementation of functions by Gertjan Schouten
|
|
|
+
|
|
|
+ Revision 1.1 1998/10/11 13:42:55 michael
|
|
|
Added disk functions
|
|
|
|
|
|
-}
|
|
|
+}
|