Delphipage - la reference en Delphi
Accueil - Astuces - Composants - Programmes - Tutoriaux - Livres - Liens
 Sources
- Astuces
- Composants
- Programmes
- Tutoriaux
 Rechercher
- Delphipage
- Ngscan
 Ressources
- Lexique Delphi
- Livres
- News
- Patchs Delphi
 Liens
- Borland France
- CodeGear
- Les meilleurs sites


Tutoriaux - Gestion des fichiers

Présentation

Ce chapitre traitera de la gestion de fichier en delphi, c'est à dire la manipulation de fichiers en générales.
Pour cette gestion de fichiers, nous utiliserons les fonctions de l'API de Windows.
Pour nos application, nous utiliserons comme fichier : 'c:\test.doc'.


Afficher la boite de propriété d'un fichier

Ajoutez un composant TButton.

Uses ShellApi;

procedure Affichepropriete(fichier: string);
var info: TShellExecuteInfo;
begin
FillChar(info, SizeOf(info),0);
info.cbSize := SizeOf(info);
info.lpFile := PChar(fichier);
info.lpVerb := 'properties';
info.fMask := SEE_MASK_INVOKEIDLIST; ShellExecuteEx(@info);
end;

procedure
TForm1.Button1Click(sender : TObject);
begin
Affichepropriete('c:\test.doc');
end;

Affiche la fenêtre de propiété du fichier 'c:\pixels.doc'.


Copier un fichier

Ajoutez un composant TButton.

procedure TForm1.Button1Click(sender : TObject);
begin
CopyFile('c:\test.doc','c:\test2.doc',true);
end;

La fonction CopyFile va copier le fichier puis le coller.


Créer un nouveau répertoire

Ajoutez un composant TButton.

procedure TForm1.Button1Click(sender : TObject);
begin
CreateDirectory('c:\test',nil);
end;


Créer un nouveau répertoire en se basant sur un autre répertoire

Ajoutez un composant TButton.

procedure TForm1.Button1Click(sender : TObject);
begin
CreateDirectoryEx('c:\docs','c:\test',nil);
end;

Le premier répertoire spécifié est le répertoire sur lequel la fonction se base pour créer un nouveau répertoire ayant les même attributs.


Déplacer un fichier

Ajoutez un composant TButton.

procedure TForm1.Button1Click(sender : TObject);
begin
MoveFile('c:\test.doc','a:\test.doc');
end;


Déplacer un fichier ou un répertoire et tous ses sous-répertoires

Ajoutez un composant TButton.

procedure TForm1.Button1Click(sender : TObject);
begin
MoveFileEx('c:\test\','a:\test',MoveFile_Copy_Allowed);
end;

Déplacer un fichier ou un répertoire et tous ses sous-répertoires au prochain démarrage

Ajoutez un composant TButton.

procedure TForm1.Button1Click(sender : TObject);
begin
MoveFileEx('c:\test\','a:\test',MoveFile_Delay_Until_Reboot);
end;


Envoyer a la corbeille un fichier

Ajoutez un composant TButton.

procedure FichierRecycler(s : string);
var SHFileOpStruct : TSHFileOpStruct;
begin
with SHFileOpStruct do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(s+#0+#0);
pTo := nil;
fFlags := FOF_ALLOWUNDO;
hNameMappings := nil;
lpszProgressTitle := nil;
end;
SHFileOperation(SHFileOpStruct);
end;

procedure TForm1.Button1Click(sender : TObject);
begin
FichierRecycler('c:\test.doc');
end;


Renommer un fichier

Ajoutez un composant TButton.

procedure TForm1.Button1Click(sender : TObject);
begin
RenameFile('c:\test.doc','c:\test2.doc');
end;

Le premier fichier correspond au fichier renommé et le deuxième fichier correspond au nouveau nom du fichier.


Supprimer un fichier

Il convient que le fichier qui va être supprimer soit fermer.
Ajoutez un composant TButton.

procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteFile('c:\test.doc');
end;


Supprimer la liste des fichiers se trouvant dans le menu Documents de Windows

Ajoutez un composant TButton.

uses ShlObj;

procedure TForm1.Button1Click(Sender: TObject);
begin
SHAddToRecentDocs(0,nil);
end;


Obtenir la taille d'un fichier

Ajoutez un composant TButton et TLabel.

function TailleFichier(fichier: string): longint;
var SearchRec:TSearchRec;
Resultat:integer;
begin
// fonction renvoyant la taille du fichier en Octets
Result:=0;
Resultat:=FindFirst(fichier, FaAnyFile, SearchRec);
if Resultat=0 then
Result:=SearchRec.Size;
FindClose(SearchRec);
end;

procedure
TForm1.Button1Click(sender : TObject);
begin
Label1.Caption:=IntToStr(TailleFichier('c:\test.doc'));
end
;


Obtenir la date de la dernière modification d'un fichier

Ajoutez un composant TButton et TLabel.

function DateHeureCreatFichier(fichier: string): TDateTime;
var SearchRec:TSearchRec;
Resultat:longint;
begin
Result:=0;
Resultat:=FindFirst(fichier, FaAnyFile, SearchRec);
if Resultat=0 then
Result:=FileDateToDateTime(SearchRec.Time);
FindClose(SearchRec);
end;

procedure TForm1.Button1Click(sender : TObject);
begin
Label1.Caption:=DateToStr(DateHeureCreatFichier('c:\test.doc'));

end;


Obtenir l'heure de la dernière modification d'un fichier

Ajoutez un composant TButton et TLabel.
Il suffit de rependre la même fonction juste au dessus et de remplacer DateToStr par TimeToStr.

procedure TForm1.Button1Click(sender : TObject);
begin
Label1.Caption:=TimeToStr(DateHeureCreatFichier('c:\test.doc'));
end;


Supprimer un répertoire vide

Ajoutez un composant TButton.

procedure TForm1.Button1Click(sender : TObject);
begin
RemoveDirectory('c:\delphi');
end;


Vider la corbeille

Ajoutez un composant TButton.

procedure TForm1.vidercorbeille;
const SHERB_NOCONFIRMATION = $00000001; SHERB_NOPROGRESSUI = $00000002;
SHERB_NOSOUND = $00000004;
type TSHEmptyRecycleBin =
function(Wnd: HWND;LPCTSTR: PChar;WORD: Word): integer; stdcall;
var SHEmptyRecycleBin: TSHEmptyRecycleBin;
LibHandle: THandle;
begin
LibHandle := LoadLibrary(PChar('Shell32.dll'));
if LibHandle <> 0 then
@SHEmptyRecycleBin := GetProcAddress(LibHandle, 'SHEmptyRecycleBinA')
else
begin
MessageDlg('Impossible de charger Shell32.dll.', mtError, [mbOK], 0);
Exit;
end;
if @SHEmptyRecycleBin <> nil then SHEmptyRecycleBin(Application.Handle, '', SHERB_NOCONFIRMATION or
SHERB_NOPROGRESSUI or
SHERB_NOSOUND);
FreeLibrary(LibHandle);
@SHEmptyRecycleBin := nil;
end;

procedure TForm1.Button1Click(sender : TObject);
begin
vidercorbeille;
end;

Vous pouvez également utiliser pour confirmer ou non un choix de l'utilisateur, une boite de message.

Tous droits réservés - Contacts
Haut de la page