 |
|
 |
|
 |
49 - TESTER SI UN FICHIER EST DÉJÀ OUVERT
|
|
|
|
PRÉSENTATION :
Tester si un fichier est déjà ouvert par une autre application.
NOTES :
Le principe de détection est basé sur un essai d'ouverture et le test du code d'erreur 32 indiquant une violation de partage.
CODE :
Unit Unit1;
//
// Sujet : Tester si un fichier est déjà ouvert
//
// Par Nono40 : http://nono40.developpez.com http://nono40.fr.st
// mailTo:nono40@fr.st
//
// Le 23/03/2003
//
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
Type
TForm1 = Class(TForm)
Button1: TButton;
OpenDialog1: TOpenDialog;
Procedure Button1Click(Sender: TObject);
Private
{ Déclarations privées }
Public
{ Déclarations publiques }
End;
Var
Form1: TForm1;
Implementation
{$R *.dfm}
Procedure TForm1.Button1Click(Sender: TObject);
Var F:TextFile;
Begin
// Sélection du fichier
If Not OpenDialog1.Execute Then Exit;
// Test du fichier
AssignFile(F,OpenDialog1.FileName);
{$I-}
Reset(F);
{$I+}
Case IOResult Of
// Pas d'erreur
0 :Begin
CloseFile(F);
ShowMessage('Le fichier existe et n''est pas ouvert.');
End;
// L'erreur 32 est une violation de partage
32:ShowMessage('Le fichier est déjà ouvert.');
Else
// Autre erreur
ShowMessage('Erreur '+IntToStr(IOResult));
End;
End;
End.
|
| |
 |
|
 |
Les sources présentées sur cette page sont libres de droits,
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©
2003 Bruno Guérangé. Aucune reproduction,
même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts.
Cette page est déposée à la
SACD.
|