|
|
|

| | | | | | | | |  |
 | 
 | Code source : unité LRJ_DosDevice |  |

|  |
 | |  |

|
Description : cette unité contient les objets LRJ_TDOSDevice, LRJ_TDOSDeviceList et
LRJ_TNewDOSDeviceLecteur. LRJ_TDOSDeviceList contient la liste des objets LRJ_TDOSDevice qui
encapsulent les DOS Devices existantes. LRJ_TDOSDevice permet de lire les informations de la DOS
Device sous-jacente et de la détruire. LRJ_TNewDOSDeviceLecteur permet la création d'un lecteur sur
un répertoire, lecteur qui n'est pas permanent c'est-à-dire qui disparaît avec la session
utilisateur.
L'unité est livrée avec une application de démonstration (
voir description plus loin
) qui utilise les fonctionnalités des
objets contenus dans l'unité. Les codes de l'application
sont livrés avec l'unité pour illustrer comment utiliser les objets de
cette unité. L'application de démonstration utilise les unités
LRJ_WindowsPlus,
LRJ_GridsPlus,
LRJ_ShellUtils,
LRJ_WinBrowseDialog et
LRJ_WinDrives non livrées avec l'application.
L'unité LRJ_DosDevice met en oeuvre les fonctions de Windows suivantes :
|
|
DefineDosDevice
QueryDosDevice
|
Déclarations publiques de l'unité
I
Télécharger l'application de démonstration
I
Exemples d'utilisations
Utilise les unités : Windows, SysUtils et
LRJ_ClassesPlus.
Version : 1.3 du 10.05.2009
Auteur : Laurent Hède
Copyright : LorenJo
Nombre de lignes : 372
Réalisée sous : Delphi 6
Systèmes compatibles : NT4, 2000, XP, Vista, serveurs
Prix : 91.00 € H.T.
Déclarations publiques de l'unité :
unit LRJ_DosDevice;
interface
uses
Windows,
SysUtils,
LRJ_ClassesPlus;
type
//-----------OBJECT--------------------------
LRJ_TDOSDevice = class(TObject)
.........
function Delete: boolean; // famille NT uniquement
property Name: string read MOName write SetName;
property Path: string read MOPath;
end; //-----------FIN--------------------------
//-----------OBJECT--------------------------
LRJ_TNewDOSDevice = class(LRJ_TDOSDevice)
.........
// Famille NT uniquement
function CreateNew(const AName, APath: string; const IfSendMsgSettingChange: boolean): boolean;
function CreateNewLecteurToDirectory(const ALecteur: Char;const ADirectory: string; const IfSendMsgSettingChange: boolean): boolean;
end; //-----------FIN--------------------------
//-----------OBJECT--------------------------
LRJ_TDOSDeviceList = class(TObject)
.........
procedure RefreshList;
procedure OrderByPath;
procedure OrderByName;
function Count: DWORD;
function FindByName(const AName: string): LRJ_TDOSDevice;
function FindByNameAndPath(const AName : string; const APath : string): LRJ_TDOSDevice;
property DOSDevice[const Index: integer]: LRJ_TDOSDevice read GetDOSDevice;
end; //-----------FIN--------------------------
|
Application de démonstration

L'onglet "Liste" permet de lister les Dos Devices et de les ranger par nom ou path.
L'onglet "Delete" permet de détruire une Dos Device existante.
L'onglet "Create" permet de créer une DOS Device.
L'onglet "Créer un lecteur sur un répertoire" permet de créer un lecteur virtuel sur un
répertoire. Il n'y a pas de contrainte, c'est-à-dire que le répertoire peut être vide ou
contenir des fichiers et/ou des répertoires, peut être sur un disque NTFS ou FAT ou peut aussi
être un répertoire d'un lecteur réseau.
L'onglet "Détruire un lecteur sur un répertoire" permet de détruire les lecteurs virtuels que
l'on aurait montés à l'aide de l'onglet précédent.
Exemples d'utilisations
Charger la liste des DOS devices dans une LRJ_TStringGrid
var
zDosDeviceList: LRJ_TDOSDeviceList;
i: integer;
zDosDevice: LRJ_TDOSDevice;
begin
MOStrGridListe.ClearCells(0,1);
zDosDeviceList := LRJ_TDOSDeviceList.Create;
for i:=0 to zDosDeviceList.Count-1 do
begin
zDosDevice := zDosDeviceList.DOSDevice[i];
MOStrGridListe.Cells[0, i+1] := zDosDevice.Name;
MOStrGridListe.Cells[1, i+1] := zDosDevice.Path;
end;
MOStrGridListe.RowCount := zDosDeviceList.Count + 1;
MOStrGridListe.ResizeCells(10);
edit4.Text := IntToStr(zDosDeviceList.Count);
zDosDeviceList.Free;
end;
|
Créer un lecteur virtuel sur un répertoire et envoyer un Windows message pour que
l'interface utilisateur soit rafraîchie
var
zNewDosDevice: LRJ_TNewDOSDevice;
begin
zNewDosDevice := LRJ_TNewDOSDevice.Create;
if not zNewDosDevice.CreateNewLecteurToDirectory(EditRootPath.text, EditRepertoire.text, true) then
begin
//problème
end;
zNewDosDevice.Free;
end;
|
Détruire un lecteur virtuel
var
zDosDevice: LRJ_TDOSDevice;
begin
zDosDevice := LRJ_TDOSDevice.Create;
zDosDevice.Name := EditRootPath.text;
if not zDosDevice.Delete then
begin
//problème
end;
zDosDevice.Free;
end;
|
Vous n'avez pas trouvé d'exemple répondant à votre problématique ?
Cliquez sur ce lien.
|
|
 |
 | |  |
|
|