S'enregistrerS'enregistrer RechercherRechercher FAQFAQ ConnexionConnexion
UFichier Robuste (Delphi 6)

 
Poster un nouveau sujet   Répondre au sujet    Teamatic.net Index du Forum -> Travaux de groupes
Message Auteur
MessagePosté le: 19 11 2002 17:30    Sujet du message: UfichierRobuste (Delphi 6)

Code:
unit UFichierRobuste;

interface

USES Windows,Messages,SySUtils,Classes,Graphics,Controls,Forms,
     Dialogs, Menus, StdCtrls;

type TForm1 = class(TForm)
    end;

var Form1 : Tform1;
    sortir: Boolean;
         f: TextFile;
      Nomf: String[30];
     Ligne: String;
    succes: Byte;

PROCEDURE OuvertureFichierEnLecture(VAR F:TextFile;VAR Success:BYTE);
PROCEDURE OuvertureFichierEnEcriture(VAR F:TextFile;VAR Success:BYTE);
PROCEDURE OuvertureFichierEnAppend(VAR F:TextFile;VAR Success:BYTE);
PROCEDURE FermetureFichier(VAR F:TextFile);
PROCEDURE ErrorLevel(Var Succes: byte);

implementation

Procedure ErrorLevel(Var succes : byte);

Begin
  Case succes of
    2: ShowMessage('Fichier non trouvé');
    3: ShowMessage('Chemin du fichier non trouvé');
    4: ShowMessage('Trop de fichiers ouverts');
    5: ShowMessage('Acces du fichier interdit');
    6: ShowMessage('Indicateur de fichier invalide');
   15: ShowMessage('Numero de lecteur invalid');
  100: ShowMessage('Erreur de lecture sur le disque');
  101: ShowMessage('Erreur en écriture, disque plein');
  102: ShowMessage('Fichier non assigné');
  103: ShowMessage('Fichier non ouvert');
  104: ShowMessage('fichier non ouvert pour lecture');
  105: ShowMessage('Fichier non ouvert pour ecriture');
  106: ShowMessage('Format de lecture numérique invalide');
  Else ShowMessage('Erreur inconnu... !');
  end;
end;

PROCEDURE OuvertureFichierEnLecture(VAR F:TextFile;VAR Success:BYTE);

VAR S,NomF     : STRING;
    CodeErreur : byte;

BEGIN
  Sortir := False;
  Repeat
    S:= InputBox('Nom du fichier:','Entrez le nom du fichier:','0');
    NomF:=S;
    If ((NomF = 'F') or (NomF = 'f')) THEN
      begin
        ShowMessage('Attention ! Vous avez tapez F pour terminer le programme!');
        sortir := True;
        Exit;
      end;
      If NomF = '' Then showMessage('Ouverture impossible, Entrer le nom');
  {$I-}
    AssignFile(F,NomF);
    RESET(F);
    CodeErreur:=IOResult;
  {$I+}
  IF (CodeErreur<>0) OR (NomF='') THEN
  If NomF = '' THEN ShowMessage('Ouverture impossible, introduiser le nom')
  Else
    begin
      ShowMessage('Ouverture impossible,Erreur # '+IntToStr(CodeErreur));
      ErrorLevel(CodeErreur);
    end;
  Until (Codeerreur=0) and (NomF <> '');
  ShowMessage('Fichier '+NomF+' ouvert en lecture');
END;

PROCEDURE OuvertureFichierEnEcriture(VAR F:TextFile;VAR Success:BYTE);

VAR S,NomF     : STRING;
    CodeErreur : Byte;

BEGIN
sortir := False;
  Repeat
    S:= InputBox('Nom du fichier:','Entrez le nom du fichier:','0');
    NomF:=S;
    If ((NomF = 'F') or (NomF = 'f')) THEN
      Begin
       ShowMessage('Attention vous avez tappez F pour terminer le programme !');
       sortir := TRUE;
       Exit
     end;
     If NomF = '' THEN ShowMessage('Ouverture impossible, Introduiser le nom');
 {$I-}
    AssignFile(F,NomF);
    REWRITE(F);
    CodeErreur:=IOResult;
{$I+}
  IF (CodeErreur<>0) OR (NomF='') THEN
  If NomF = '' THEN ShowMessage('Ouverture impossible, introduiser le nom')
  Else
    begin
      ShowMessage('Ouverture impossible,Erreur # '+IntToStr(CodeErreur));
      ErrorLevel(CodeErreur);
    end;
  Until (Codeerreur=0) and (NomF <> '');
  ShowMessage('Fichier '+NomF+' ouvert en lecture');
END;

PROCEDURE OuvertureFichierEnAppend(VAR F:TextFile;VAR Success:BYTE);

VAR S,NomF     : STRING;
    CodeErreur : Byte;

BEGIN
sortir := False;
  Repeat
    S:= InputBox('Nom du fichier:','Entrez le nom du fichier:','0');
    NomF:=S;
    If ((NomF = 'F') or (NomF = 'f')) THEN
      Begin
       ShowMessage('Attention vous avez tappez F pour terminer le programme !');
       sortir := TRUE;
       Exit
     end;
     If NomF = '' THEN ShowMessage('Ouverture impossible, Introduiser le nom');
{$I-}
    APPEND(F);
    CodeErreur:=IOResult;
{$I+}
  IF (CodeErreur<>0) OR (NomF='') THEN
  If NomF = '' THEN ShowMessage('Ouverture impossible, introduiser le nom')
  Else
    begin
      ShowMessage('Ouverture impossible,Erreur # '+IntToStr(CodeErreur));
      ErrorLevel(CodeErreur);
    end;
  Until (Codeerreur=0) and (NomF <> '');
  ShowMessage('Fichier '+NomF+' ouvert en Append');
END;


PROCEDURE FermetureFichier(VAR F:TextFile);

Var CodeErreur: Byte;

BEGIN
  {$I-}
  CloseFile(F);
  Codeerreur := IOResult;
  {$I-}
  If codeerreur <> 0 THEN showmessage('Erreur !! Fichier non ouvert')
  Else ShowMessage('Le fichier a été fermé !')
END;


end.
Vinchenzo
Invité





Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet Toutes les heures sont au format GMT
Page 1 sur 1

 
 
 
Powered by phpBB © 2001, 2005 phpBB Group - Traduction : phpBB-fr.com
Gzip: Disabled  -  Queries: 15  -  Generation Time: 1.16344 s