Problème avec FileCreate puis AssignFile [Résolu]

Messages postés
67
Date d'inscription
dimanche 16 octobre 2005
Statut
Membre
Dernière intervention
13 novembre 2009
- - Dernière réponse : jnmchl
Messages postés
67
Date d'inscription
dimanche 16 octobre 2005
Statut
Membre
Dernière intervention
13 novembre 2009
- 19 févr. 2007 à 19:53
Mon extrait de code :



var s0,s1,Rep : String;
    TF : TextFile;
  ...   
  // Création du répertoire de travail s'il n'existe pas
  Rep:= ExtractFilePath(paramstr(0));
  s0:=Rep+'\Param';
  if not DirectoryExists (s0) then CreateDir(s0);
  // Création du fichier ListNT s'il n'existe pas
  s0:=RepLocal+'\Param/ListNT.lst';
  if not FileExists (s0) then FileCreate(s0);
  ...
  // Lecture de la liste
  s0: =Rep+'\Param/ListNT.lst';
  FPrinc.CBnat.Items.LoadFromFile(s0);
  AssignFile(TF,s0);
    Reset(TF);
    Readln(TF,s1);
  CloseFile(TF);

ça sert à initialiser et créer un fichier ListNT.lst lors de la prmière utilisation du logiciel, puis les autres fois à écrire et lire les données dans ce fichier.
Quand le fichier existe : ça marche impec !
Le problème, quand c'est la première fois : il me fait une erreur ... visiblement : FileCreate continue à utiliser le fichier ...
Ouiais, suffit de relancer et hop : ça marche ... mais bon ça fait pas pro ... même si bien entendu je n'ai pas cette prétention !
Merci d'avance.

Jean-Michel
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
67
Date d'inscription
dimanche 16 octobre 2005
Statut
Membre
Dernière intervention
13 novembre 2009
1
3
Merci
j'ai posté un peu vite :
je remplace FileCreate(s0) par ce qui est en rouge ci dessous :

  if not FileExists (s0) then <strike>FileCreate(s0);</strike> begin
    AssignFile(TF,s0);
    Rewrite(TF);
    CloseFile(TF);
  end;

Jean-Michel

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 199 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jnmchl