Section courante

A propos

Section administrative du site

  1. Unit Dos;
  2.  
  3. {$D-,I-,S-,O+}
  4.  
  5. INTERFACE
  6.  
  7. Const
  8.  
  9. { Masques de bit de drapeau }
  10.  
  11.   FCarry     = $0001;
  12.   FParity    = $0004;
  13.   FAuxiliary = $0010;
  14.   FZero      = $0040;
  15.   FSign      = $0080;
  16.   FOverflow  = $0800;
  17.  
  18. { Nombres magiques de mode de fichier }
  19.  
  20.   fmClosed = $D7B0;
  21.   fmInput  = $D7B1;
  22.   fmOutput = $D7B2;
  23.   fmInOut  = $D7B3;
  24.  
  25. { Constante d'attribut de fichier }
  26.  
  27.   ReadOnly  = $01;
  28.   Hidden    = $02;
  29.   SysFile   = $04;
  30.   VolumeID  = $08;
  31.   Directory = $10;
  32.   Archive   = $20;
  33.   AnyFile   = $3F;
  34.  
  35. type
  36.  
  37. { Type de chaine de caractères }
  38.  
  39.   ComStr  = string[127];        { Chaine de caractères de ligne de commande }
  40.   PathStr = string[79];         { Chaine de caractères de nom de chemin }
  41.   DirStr  = string[67];         { Chaine de caractères d'unité de disque et de répertoire }
  42.   NameStr = string[8];          { Chaine de caractères de nom de fichier }
  43.   ExtStr  = string[4];          { Chaine de caractères d'extension de fichier }
  44.  
  45. { Enregistrement de registres utilisé par Intr et MsDos }
  46.  
  47.   Registers = record
  48.                 case Integer of
  49.                   0: (AX,BX,CX,DX,BP,SI,DI,DS,ES,Flags: Word);
  50.                   1: (AL,AH,BL,BH,CL,CH,DL,DH: Byte);
  51.               end;
  52.  
  53. { Enregistrement de fichier typé et de ficiher non-typé }
  54.  
  55.   FileRec = record
  56.               Handle: Word;
  57.               Mode: Word;
  58.               RecSize: Word;
  59.               Private: array[1..26] of Byte;
  60.               UserData: array[1..16] of Byte;
  61.               Name: array[0..79] of Char;
  62.             end;
  63.  
  64. { Enregistrement Textfile }
  65.  
  66.   TextBuf = array[0..127] of Char;
  67.   TextRec = record
  68.               Handle: Word;
  69.               Mode: Word;
  70.               BufSize: Word;
  71.               Private: Word;
  72.               BufPos: Word;
  73.               BufEnd: Word;
  74.               BufPtr: ^TextBuf;
  75.               OpenFunc: Pointer;
  76.               InOutFunc: Pointer;
  77.               FlushFunc: Pointer;
  78.               CloseFunc: Pointer;
  79.               UserData: array[1..16] of Byte;
  80.               Name: array[0..79] of Char;
  81.               Buffer: TextBuf;
  82.             end;
  83.  
  84. { Enregistrement Search utilisé par FindFirst et FindNext }
  85.  
  86.   SearchRec = record
  87.                 Fill: array[1..21] of Byte;
  88.                 Attr: Byte;
  89.                 Time: Longint;
  90.                 Size: Longint;
  91.                 Name: string[12];
  92.               end;
  93.  
  94. { Enregistrement Date et time utilisé par PackTime et UnpackTime }
  95.  
  96.   DateTime = record
  97.                Year,Month,Day,Hour,Min,Sec: Word;
  98.              end;
  99.  
  100. Var
  101.  
  102. { Variable d'état d'erreur }
  103.  
  104.   DosError: Integer;
  105.  
  106. Function DosVersion: Word;
  107. Procedure Intr(IntNo: Byte; var Regs: Registers);
  108. Procedure MsDos(var Regs: Registers);
  109. Procedure GetDate(var Year,Month,Day,DayOfWeek: Word);
  110. Procedure SetDate(Year,Month,Day: Word);
  111. Procedure GetTime(var Hour,Minute,Second,Sec100: Word);
  112. Procedure SetTime(Hour,Minute,Second,Sec100: Word);
  113. Procedure GetCBreak(var Break: Boolean);
  114. Procedure SetCBreak(Break: Boolean);
  115. Procedure GetVerify(var Verify: Boolean);
  116. Procedure SetVerify(Verify: Boolean);
  117. Function DiskFree(Drive: Byte): Longint;
  118. Function DiskSize(Drive: Byte): Longint;
  119. Procedure GetFAttr(var F; var Attr: Word);
  120. Procedure SetFAttr(var F; Attr: Word);
  121. Procedure GetFTime(var F; var Time: Longint);
  122. Procedure SetFTime(var F; Time: Longint);
  123. Procedure FindFirst(Path: PathStr; Attr: Word; var F: SearchRec);
  124. Procedure FindNext(var F: SearchRec);
  125. Procedure UnpackTime(P: Longint; var T: DateTime);
  126. Procedure PackTime(var T: DateTime; var P: Longint);
  127. Procedure GetIntVec(IntNo: Byte; var Vector: Pointer);
  128. Procedure SetIntVec(IntNo: Byte; Vector: Pointer);
  129. Function FSearch(Path: PathStr; DirList: String): PathStr;
  130. Function FExpand(Path: PathStr): PathStr;
  131. Procedure FSplit(Path: PathStr; var Dir: DirStr; var Name: NameStr; var Ext: ExtStr);
  132. Function EnvCount: Integer;
  133. Function EnvStr(Index: Integer): String;
  134. Function GetEnv(EnvVar: String): String;
  135. Procedure SwapVectors;
  136. Procedure Keep(ExitCode: Word);
  137. Procedure Exec(Path: PathStr; ComLine: ComStr);
  138. Function DosExitCode: Word;


Dernière mise à jour : Dimanche, le 20 avril 2014