Fichier.txt en delphi 7

sanasana23 Messages postés 5 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 3 avril 2010 - 1 avril 2010 à 22:48
sanasana23 Messages postés 5 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 3 avril 2010 - 3 avril 2010 à 18:53
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

fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
2 avril 2010 à 19:54
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+
0
sanasana23 Messages postés 5 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 3 avril 2010
3 avril 2010 à 00:29
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.
0
Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
3 avril 2010 à 03:24
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 !
0
fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
3 avril 2010 à 10:11
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;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sanasana23 Messages postés 5 Date d'inscription jeudi 11 mars 2010 Statut Membre Dernière intervention 3 avril 2010
3 avril 2010 à 18:53
merci
0
Rejoignez-nous