UNE AUTRE FACON POUR ECRIR DANS UN FICHIER

cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008 - 16 août 2002 à 17:00
cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008 - 16 août 2002 à 17:00
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12084-une-autre-facon-pour-ecrir-dans-un-fichier

cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008
16 août 2002 à 17:00
Pourquoi tu na pas mis dans Ton Pseudo Tete D'oeuf :D
Moi j'ai pas dit que c'est La mienne et toi tu crois que U7pro C'est Le votre Lol :)
Bye bye Tete D'oeuf
T'es Vraiment Con .
LiqSnake Messages postés 6 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 15 février 2003
13 août 2002 à 20:31
Hum, Jadovich, c'est de la tricherie ce que tu as fait :P
Faut pas pretendre que ce sont vos codes, tu as tout simplement copié ces lignes depuis ma source de U7Pro.

Bein, fallait juste dire que c'est pas le votre, en tout cas, bonne continuation sur Delphi.

Liquid Snake
cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008
10 août 2002 à 16:27
Merci Manchi Pour ton aide il ma bien Servi :)
cs_ManChesTer Messages postés 374 Date d'inscription vendredi 20 octobre 2000 Statut Modérateur Dernière intervention 15 janvier 2021
9 août 2002 à 04:13
Trois remarques : (qui en feras 4 ?)

1. D'abord un filestrem n'est pas un memory stream (voir les source de tfilestream), et il n'aloue q'un handle de fichier.

2. CloseHandle(stream); remplace tres bien stream.free

3. quand on utilise une var tstream liè a un form, je conseille vivement de faire :
type
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Déclarations privées }
Stream : Tfilestream;
public
{ Déclarations publiques }
end;

donc déclarez le filestream dans vos private ainsi vous ne risquez pas son effacemant accidentel par une autre partie du code (les libs en particulier).


voila bon coding

Manchi.
cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008
8 août 2002 à 22:39
Ma Façon aussi marche et je pense pas qu'il ya un risque de perte de donnees
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
8 août 2002 à 21:49
Deux remarques :
- Si le fichier n'existe pas tu utilises un MemoryStream, c'est inutile :
Begin
NomDeFichier:='C: empJaDo.txt';
if FileExists(NomDeFichier)
Then Stream:=TFileStream.Create(NomDeFichier,fmOpenReadWrite or fmShareDenyNone)
Else Stream:=TFileStream.Create(NomDeFichier,fmCreate or fmShareDenyNone);
Stream.Seek(0,soFromEnd);
End;

- Ensuite tu oublies de librérer le flux et donc il y a un risque de perte de données,
sur le OnDestroy il faut ajouter : Stream.Free;

Nono
cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008
8 août 2002 à 19:10
Si il ya une faute Je suis la :)
cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008
8 août 2002 à 19:09
Si il ya une faute Je suis la :)
cs_jado Messages postés 25 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 18 mai 2008
8 août 2002 à 19:09
Si il ya une faute Je suis la :)
Rejoignez-nous