IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)



Comment déterminer le type d'un lecteur ?
auteur : Gysmo
Pour ce faire il suffit d'utiliser la fonction GetDriveType(IpRootPathName: PChar): Cardinal dans l\u2019unité Windows. Voici une petite routine permettant d'identifier le type d'un lecteur :

         function DriveType(Drive: String): String;
         begin
                 case GetDriveType(Pchar(Drive)) of
                         DRIVE_REMOVABLE : Result := 'Lecteur de disquette';
                         DRIVE_FIXED : Result := 'Lecteur de disque';
                         DRIVE_REMOTE : Result := 'Lecteur distant';
                         DRIVE_CDROM : Result := 'Lecteur de CD-ROM';
                         DRIVE_RAMDISK : Result := 'RamDisk'
                 else
                         Result := 'Inconnue';
                 end;
                
         end;
Ainsi par exemple, DriveType(\u2018C:\\u2019) retournera 'Lecteur de disque'.

Y a t'il un média dans le lecteur ?
auteur : Atlantis
Lorsque l'on doit écrire sur une disquette ou bien lire un CD, une cartouche ZIP, etc , il est toujours pratique de savoir si l'utilisateur a bien inséré le média en question. Le code qui suit effectue un test en regardant la taille d'espace libre. Donc si le média est absent ou que celui ci n'est pas formaté, la fonction vous renverra la valeur false.

         function DiskInDrive(const Drive: Char): Boolean;
         var
                 DrvNum: Byte;
                 EMode: Word;
         begin
                 Result := False;
                 DrvNum := Ord(Drive);
                 if DrvNum >= Ord('a') then
                         Dec(DrvNum, $20);
                 EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
                 try
                         if DiskSize(DrvNum - $40) <> -1 then
                                 Result := True
                        
                 finally
                         SetErrorMode(EMode);
                 end;
                
         end;


Ce document issu de www.developpez.com est soumis à la licence GNU FDL traduit en français ici
Permission vous est donnée de distribuer, modifier des copies de cette page tant que cette note apparaît clairement.