Interfaçage avec DOS
Les unités Dos et WinDos mettent en oeuvre un certain nombre de fonctionnalités de systèmes d'exploitation et de routines de gestion de fichiers. Aucune des routines des unités Dos et WinDos n'est définie par la standard Pascal, elles ont donc été placées dans leurs propres modules. La principale différence entre les unités Dos et WinDos est que les procédures et fonctions de l'unité Dos utilisent des chaînes de caractères de style Pascal standard et les procédures et fonctions WinDos utilisent des chaînes de caractères à terminaison nulle (comme le langage de programmation C et Windows). Une chaîne de caractères de style Pascal standard a un octet de longueur suivi d'une séquence de caractères. Une chaîne de caractères terminée par un caractère nul est une séquence de caractères non nuls suivis d'un caractère nul (#0). La plupart du temps, vous voudrez probablement utiliser l'unité Dos pour les programmes que vous écrivez, car la plupart des programmes Turbo Pascal utilisent traditionnellement les chaînes de caractères de style Pascal. Cependant, si vous développez également des applications pour l'environnement ou système d'exploitation Windows, vous serez en mesure d'écrire du code que vous pourrez plus facilement partager entre les plates-formes DOS et Windows si vous utilisez l'unité WinDos avec l'unité Strings; Windows nécessite l'utilisation de chaînes de caractères terminées par NULL. Vous pouvez également utiliser les unités WinDos et Strings si vous avez un fichier de données C que vous souhaitez utiliser ou convertir. Le langage de programmationC utilise des chaînes de caractères terminées par NULL.
Procédures et fonctions de l'unité DOS
Voici les procédures et fonctions de l'unité Dos. Pour les utiliser, vous devez vous référer à l'unité Dos avec l'instruction USES dans votre programme. Voici les procédures de date et d'heure des unités DOS :
Nom | Description |
---|---|
GetDate | Renvoie la date actuelle définie dans le système d'exploitation. |
GetFTime | Renvoie la date et l'heure de la dernière modification d'un fichier. |
GetTime | Renvoie l'heure actuelle définie dans le système d'exploitation. |
PackTime | Convertit un enregistrement DateTime en un LongInt de date et d'heure compressé de 4 octets utilisé par SetFTime. |
SetDate | Définit la date actuelle dans le système d'exploitation. |
SetFTime | Définit la date et l'heure de la dernière modification d'un fichier |
SetTime | Définit l'heure actuelle dans le système d'exploitation. |
UnpackTime | Convertit un LongInt de date et d'heure compressé de 4 octets renvoyé par GetFTime, FindFirst, un enregistrement DateTime non compressé. |
Voici les procédures de support d'interruption de l'unité DOS :
Nom | Description |
---|---|
GetIntVec | Renvoie l'adresse stockée dans un vecteur d'interruption spécifié. |
Intr | Exécute une interruption logicielle spécifiée avec un paquet Registers spécifié. |
MsDos | Exécute un appel de fonction DOS avec un paquet Registers spécifié |
SetIntVec | Définit un vecteur d'interruption spécifié sur une adresse spécifiée. |
Voici les fonctions d'état du disque de l'unité DOS :
Nom | Description |
---|---|
DiskFree | Renvoie le nombre d'octets libres d'un unité de disque spécifié. |
Disksize | Renvoie la taille totale en octets d'un unité de disque spécifié. |
Voici les procédures et fonctions de gestion des fichiers de l'unité DOS :
Nom | Description |
---|---|
FExpand | Prend un nom de fichier et renvoie un nom de fichier complet (unité de disque, répertoire, nom et extension). |
Fsearch | Recherche un fichier dans une liste de répertoires. |
Fsplit | Divise un nom de fichier en ses trois composantes (unité de disque et répertoire, nom de fichier et extension). |
FindFirst | Recherche dans le répertoire spécifié la première entrée correspondant au nom de fichier et à l'ensemble d'attributs spécifiés. |
FindNext | Renvoie l'entrée suivante correspondant au nom et aux attributs spécifiés lors d'un précédent appel à FindFirst. |
GetFAttr | Renvoie les attributs d'un fichier. |
SetFAttr | Définit les attributs d'un fichier. |
Voici les fonctions de gestion de l'environnement de l'unité DOS :
Nom | Description |
---|---|
EnvCount | Renvoie le nombre de chaînes de caractères contenues dans l'environnement DOS. |
Envstr | Renvoie une chaîne de caractères d'environnement spécifiée. |
GetEnv | Renvoie la valeur d'une variable d'environnement spécifiée. |
Voici les procédures de traitement des processus de l'unité DOS :
Nom | Description |
---|---|
Exec | Exécute un programme spécifié avec une ligne de commande spécifiée. |
Keep | Garde (ou TRS (Terminate Stay Resident)) met fin au programme et le fait rester en mémoire. |
SwapVectors | Échange tous les vecteurs d'interruption enregistrés avec les vecteurs actuels. |
Voici les procédures et fonctions diverses de l'unité DOS :
Nom | Description |
---|---|
DosVersion | Renvoie le numéro de version DOS. |
GetCBreak | Renvoie l'état de la vérification Ctrl+Break sous DOS. |
GetVerify | Renvoie l'état de l'indicateur de vérification sous DOS. |
SetCBreak | Définit l'état de la vérification Ctrl+Break sous DOS. |
SetVerify | Définit l'état de l'indicateur de vérification sous DOS. |
Constantes, types et variables d'unité DOS
Chacune des constantes, types et variables définis par l'unité DOS est brièvement décrite dans ci-dessous.
Constantes
L'unité DOS définit plusieurs constantes. Ces constantes peuvent être regroupées par leur fonction. Pour en savoir plus sur ces constantes, recherchez-les dans le cadre du groupe auquel elles appartiennent.
Groupe de constante | Description |
---|---|
Drapeau | Utilisé pour tester les bits de drapeau individuels dans le registre Flags après un appel à Intr ou MsDos : FCarry, FParity, FAuxiliary, FZero, Fsign et FOverflow. |
fmXXXX | Définit les valeurs autorisées pour le champ Mode d'un enregistrement de fichier texte TextRec : fmClosed, fmInput, fmOutput, fmInOut. |
Attribut de ficher | Utilisé pour construire des attributs de fichier à utiliser avec FindFirst, GetFAttr et SetFAttr : ReadOnly, Hidden, SysFile, VolumeID, Directory, Archive, AnyFile. |
Types
L'unité DOS définit ces types :
Nom | Description |
---|---|
Types d'enregistrement fichier | FileRec définit le format de données interne pour les fichiers tapés et non typés; TextRec est le format interne d'une variable de type Text. |
Registers | Les variables de ce type sont utilisées par Intr et MsDos pour spécifier le contenu du registre d'entrée et examiner le contenu du registre de sortie d'une interruption logicielle. |
DateTime | Les variables de ce type sont utilisées pour examiner et construire des valeurs de date et d'heure compactées sur 4 octets pour GetFTime, SetFTime, FindFirst et FindNext. |
SearchRec | Les variables de ce type sont utilisées par FindFirst et FindNext pour analyser les répertoires. |
Types de chaînes de caractères de gestion de fichiers | Types de chaînes utilisés par diverses procédures et fonctions dans l'unité DOS : ComStr, PathStr, DirStr, NameStr, ExtStr. |
Variables
La variable DosError est utilisé par de nombreuses routines de l'unité Dos pour signaler les erreurs.
Procédures et fonctions de l'unité WinDos
Voici les procédures et fonctions de l'unité WinDos. Pour les utiliser, vous devez vous référer à l'unité WinDos avec l'instruction uses dans votre programme :
Nom | Description |
---|---|
GetDate | Renvoie la date actuelle définie dans le système d'exploitation. |
GetFTime | Renvoie la date et l'heure de la dernière modification d'un fichier. |
GetTime | Renvoie l'heure actuelle définie dans le système d'exploitation. |
PackTime | Convertit un enregistrement TDateTime en un LongInt de date et d'heure compressé de 4 octets utilisé par SetFTime. |
SetDate | Définit la date actuelle dans le système d'exploitation. |
SetFTime | Définit la date et l'heure de la dernière modification d'un fichier. |
SetTime | Définit l'heure actuelle dans le système d'exploitation. |
UnpackTime | Convertit un LongInt de date et d'heure compressé de 4 octets renvoyé par GetFTime, FindFirst ou FindNext en un enregistrement TDateTime décompressé. |
Procédures de support d'interruption d'unité WinDos
N'utilisez pas ces fonctions lorsque vous exécutez Windows en mode protégé. Voici les procédures de support d'interruption d'unité WinDos :
Nom | Description |
---|---|
GetIntVec | Renvoie l'adresse entreposée dans un vecteur d'interruption spécifié. |
Intr | Exécute une interruption logicielle spécifiée avec un paquet TRegisters spécifié. |
MsDos | Exécute un appel de fonction DOS avec un paquet TRegisters spécifié. |
SetIntVec | Définit un vecteur d'interruption spécifié sur une adresse spécifiée. |
Fonctions d'état du disque de l'unité WinDos
Nom | Description |
---|---|
DiskFree | Renvoie le nombre d'octets libres d'un unité de disque spécifié. |
DiskSize | Renvoie la taille totale en octets d'un unité de disque spécifié. |
Procédures et fonctions de gestion des fichiers
Nom | Description |
---|---|
FileExpand | Prend un nom de fichier et renvoie un nom de fichier complet (unité, répertoire, nom et extension). |
FileSearch | Recherche un fichier dans une liste de répertoires. |
FileSplit | Divise un nom de fichier en ses trois composantes (répertoire, nom de fichier et extension). |
FindFirst | Recherche dans le répertoire spécifié la première entrée correspondant au nom de fichier et à l'ensemble d'attributs spécifiés. |
FindNext | Renvoie l'entrée suivante qui correspond au nom et aux attributs spécifiés lors d'un précédent appel à FindFirst. |
GetFAttr | Renvoie les attributs d'un fichier. |
SetFAttr | Définit les attributs d'un fichier. |
Procédures et fonctions de gestion des répertoires des unités WinDos
Nom | Description |
---|---|
CreateDir | Crée un nouveau sous-répertoire. |
GetCurDir | Renvoie le répertoire actuel d'un lecteur spécifié. |
RemoveDir | Supprime un sous-répertoire. |
SetCurDir | Modifie le répertoire actuel. |
Fonctions de gestion de l'environnement d'unité WinDos
Nom | Description |
---|---|
GetArgCount | Renvoie le nombre de paramètres passés au programme sur la ligne de commande. |
GetArgStr | Renvoie un paramètre de ligne de commande spécifié. |
GetEnvVar | Renvoie un pointeur sur la valeur d'une variable d'environnement spécifiée. |
Procédures et fonctions diverses de l'unité WinDos
Nom | Description |
---|---|
DosVersion | Renvoie le numéro de version DOS. |
GetCBreak | Renvoie l'état de la vérification Ctrl+Break sous DOS. |
GetVerify | Renvoie l'état du drapeau de vérification sous DOS. |
SetCBreak | Définit l'état de la vérification Ctrl+Break sous DOS. |
SetVerify | Définit l'état de l'indicateur de vérification sous DOS. |
Constantes, types et variables d'unité WinDos
Chacune des constantes, types et variables définis par l'unité WinDos est brièvement décrite ci-dessous.
Constantes
L'unité WinDos utilise plusieurs constantes. Ces constantes peuvent être regroupées par leur fonction. Pour en savoir plus sur ces constantes, recherchez-les dans le cadre du groupe de constantes auquel elles appartiennent.
Groupe constante | Description |
---|---|
Drapeau | Testez les bits de drapeau individuels dans le registre Flags après un appel à Intr ou MsDos : fCarry, fParity, fAuxiliary, fZero, fSign, fOverflow. |
fmXXXX | Utilisé par les procédures de gestion de fichiers lors de l'ouverture et de la fermeture de fichiers disque : fmClosed, fmInput, fmOutput, fmInOut. |
faXXXX | Tester, définir et effacer les bits d'attribut de fichier en relation avec les procédures de gestion de fichier : faReadOnly, faHidden, faSysFile, faVolumeID, faDirectory, faArchive, faAnyFile. |
fsXXXX | Longueurs maximales de chaîne de caractères de composante de nom de fichier utilisées par FileSearch et FileExpand : fsPathName, fsDirectory, fsFileName, fsExtension. |
fcXXXX | Renvoie les drapeaux utilisés par la fonction FileSplit : fcExtension, fcFileName, fcDirectory, fcWildcards. |
Types
L'unité WinDos définit ces types :
Types | Description |
---|---|
Types d'enregistrement de fichier | TFileRec est utilisé pour les fichiers typés et non typés; TTextRec est le format interne d'une variable de type Text. |
TRegisters | Les variables de ce type sont utilisées par Intr et MsDos pour spécifier le contenu du registre d'entrée et examiner le contenu du registre de sortie d'une interruption logicielle. |
TDateTime | Les variables de ce type sont utilisées pour examiner et construire des valeurs de date et d'heure compactées sur 4 octets pour GetFTime, SetFTime, FindFirst et FindNext. |
TSearchRec | Les variables de ce type sont utilisées par FindFirst et FindNext pour analyser les répertoires. |
Variables
La variable DosError est utilisé par de nombreuses routines de l'unité WinDos pour signaler les erreurs.