Fichier.txt en delphi 7

Signaler
Messages postés
5
Date d'inscription
jeudi 11 mars 2010
Statut
Membre
Dernière intervention
3 avril 2010
-
Messages postés
5
Date d'inscription
jeudi 11 mars 2010
Statut
Membre
Dernière intervention
3 avril 2010
-
bonjour,je veut tester si un fichier.txt est crée ou non en delphi 7.
si il est crée je termine l'enregistrement d'une liste à la fin de fichier.si non je le crée.
voici le code que je veut le corriger.
lorsque je refait l'execution avec ce code il efface ce qui est enregistrer. merci
procedure TForm1.Button2Click(Sender: TObject);
Var F: TextFile;
Stg:String;
begin
//Effacer le fichier et ecrire
Stg:=c.items.text; //c est un tcombobox
AssignFile(F,'C:\info\test.txt');
//Associe la variable F au fichier texte
Rewrite(F); //Crée puis ouvre un nouveau fichier
Writeln(F,Stg); //Writeln place une marque en fin de ligne
CloseFile(F);
end;

5 réponses

Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

Bonjour

il faut utiliser FileExits comme l'indique Dubois77
qui renvoie True si le fichier existe
En fonction du résultat il faut soit utiliser Append
pour passer en mode ajout dans le fichier
si non Rewrite pour créer le fichier vide

A+
Messages postés
5
Date d'inscription
jeudi 11 mars 2010
Statut
Membre
Dernière intervention
3 avril 2010

Bonjour
merci,mais il y'a encore un probleme dans le code.il ne fait pas la creation de fichier il gere un erreur au niveau de Append(F).
procedure TForm1.Button2Click(Sender: TObject);
Var
F: TextFile;
Stg:String;
begin
Stg:=c.items.text; //c est un tcombobox
AssignFile(F,'C:\info\test.txt');
if IOResult<>0then begin
Rewrite(F);
Writeln(F,Stg);
CloseFile(F);

end
else begin
Append(F);

Writeln(F,Stg);
CloseFile(F);
end;

end;

end.
Messages postés
3793
Date d'inscription
samedi 22 décembre 2007
Statut
Membre
Dernière intervention
3 juin 2016
9
Bonjour,
L'utilisation du mot réservé file est obsolète à ce jour. Il est recommandé d'utiliser les techniques plus puissantes (et plus fonctionnelles) existant aujourd'hui.

Si il s'agit de gérer un fichier texte, un simple TStringList suffira - voir les méthodes et propriétés LoadToFile, Strings, Text, Count, ...

Si il s'agit de gérer un fichier binaire, utiliser TFileStream (voir les méthodes et propriétés à l'aide de la touche sainte)
Cordialement, Bacterius !
Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

un poil bouché on dirait
donc petit exemple avec fileexists

procedure TForm1.Button2Click(Sender: TObject);
Var
  F: TextFile;
  Stg:String;
begin
  Stg:=c.items.text; //c est un tcombobox
  AssignFile(F,'C:\info\test.txt');
  if FileExists('C:\info\test.txt') then
    Append(F)
  else
    Rewrite(F);
  Writeln(F,Stg);
  CloseFile(F);
end;
Messages postés
5
Date d'inscription
jeudi 11 mars 2010
Statut
Membre
Dernière intervention
3 avril 2010

merci