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

jnmchl 67 Messages postés dimanche 16 octobre 2005Date d'inscription 13 novembre 2009 Dernière intervention - 19 févr. 2007 à 19:35 - Dernière réponse : jnmchl 67 Messages postés dimanche 16 octobre 2005Date d'inscription 13 novembre 2009 Dernière intervention
- 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 

Votre réponse

1 réponse

Meilleure réponse
jnmchl 67 Messages postés dimanche 16 octobre 2005Date d'inscription 13 novembre 2009 Dernière intervention - 19 févr. 2007 à 19:53
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

Merci jnmchl 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 121 internautes ce mois-ci

Commenter la réponse de jnmchl

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.