Developpez.com - Delphi
X

Choisissez d'abord la catégorieensuite la rubrique :

Nono40.developpez.com
Le petit coin du web de Nono40
SOURCES TESTS DELPHI WIN32 AUTOMATISMES DELPHI .NET QUICK-REPORT
Retour à l'accueil
49 - TESTER SI UN FICHIER EST DÉJÀ OUVERT

PRÉSENTATION : Tester si un fichier est déjà ouvert par une autre application.
ZIP : Téléchargez le zip APERÇUS :

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 œuvre intellectuelle protégée par les droits d'auteur. 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'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Responsables bénévoles de la rubrique Delphi : Gilles Vasseur - Alcatîz -