IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Lecture et ecriture fichier txt


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 89
    Par défaut Lecture et ecriture fichier txt
    bonjour,

    Je souhaite ecrire et lire dans un fichier txt.

    Voici mon programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    procedure TForm1.Button2Click(Sender: TObject);
    Var
      Fich_out    : TextFile;
      Ligne_out : string;
      i : integer;
    begin
    //lire tous les fichier
    assignFile(fich_OUT,'d:\toto.txt');
    reset(fich_out);
     
    ComboBox1.Clear;
     
    while not eof (fich_out)
     do begin
     readln(fich_out,Ligne_out);
     ComboBox1.Items.Add(Ligne_out);
     end;
     
     
    CloseFile(Fich_out);
    rewrite(fich_out);
     
    //Ecriture des ancienne ligne
    For i:=0 to combobox1.Items.count-1
      do begin
      Ligne_out:=ComboBox1.Items[i];
      writeLn(Fich_out,Ligne_out);
      end;
    Writeln(Fich_out,'toto');
     
    //Ecriture de la nouvelle ligne
    CloseFile(Fich_out);
    end;
    Je trouve cette methode tres bete car je suis obliger de recrire tous le fichier.

    Avez vous d'autre methode plus simple ?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juin 2004
    Messages
    219
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Andorre

    Informations forums :
    Inscription : Juin 2004
    Messages : 219
    Par défaut
    Salut

    Regarde du cote du TStringList et ces metodes LoadFromFile et SaveToFile (on doit penser que la propieté Items de combo est un TStrings )

    A+

  3. #3
    Membre émérite Avatar de Yurck
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 16
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2005
    Messages : 682
    Par défaut
    Bonjour,

    Append

    et je livre mes sources (F1 sous delphi)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    var
     
      f: TextFile;
    begin
      if OpenDialog1.Execute then
      begin                    { Ouverture d'un fichier texte }
        AssignFile(f, OpenDialog1.FileName);
        Append(f);
        Writeln(f, 'J''ajoute quelque chose à la fin du fichier.'); 
        { Insérer ici un code nécessitant un Flush avant de fermer le fichier }
        Flush(f);  { Pour que le texte soit réellement écrit dans le fichier }
        CloseFile(f);
      end;
     
    end;
    Ceci dit si tu veux remplir ta combobox essie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      ComboBox1.Items.LoadFromFile('d:\toto.txt');
    a+

  4. #4
    Membre Expert
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Par défaut
    Juste pour info, il n'est pas possible d'insérer des données au début d'un fichier sans être obligé de le reécrire en entier (faire une copie). La fonction Append n'est valable que dans le cas où l'on veut ajouter des données à la fin du fichier, à+

  5. #5
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    Petite question :

    C'est la premièrefois que jefois ce FLUSH pour un fichier texte (ou fichier tout court même) ... à quoi sert-il ?

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Par défaut
    Je te conseille vivement d'utiliser un TStringStream plutôt qu'un TextFile, c'est nettement plus agréable à manipuler...

  7. #7
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 127
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 127
    Par défaut
    C'est la premièrefois que jefois ce FLUSH pour un fichier texte (ou fichier tout court même) ... à quoi sert-il ?
    Ça vide le cache disque : on est sûr (normalement - lol) que c'est écrit sur le dur. Sinon, y a toujours un 'tit temps de latence, et si la machine crashe *juste avant*, t'as tout paumé !

    HTH,
    JP

  8. #8
    Membre éclairé
    Homme Profil pro
    Freelance
    Inscrit en
    Décembre 2003
    Messages
    423
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Décembre 2003
    Messages : 423
    Par défaut
    D'accord, merci de ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Ecriture et lecture d'un fichier .txt public
    Par Débutant2 dans le forum Android
    Réponses: 5
    Dernier message: 31/05/2015, 13h07
  2. [XL-2003] Lecture/Ecriture fichier txt - Problème caractères spéciaux
    Par Blencastreur dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/06/2012, 18h08
  3. Lecture/ecriture fichier txt
    Par kmizgier dans le forum C
    Réponses: 5
    Dernier message: 07/12/2009, 21h12
  4. PL/SQL lecture/ecriture fichier txt
    Par stos dans le forum PL/SQL
    Réponses: 2
    Dernier message: 19/05/2006, 12h19
  5. Lecture et ecriture fichier .ini
    Par despe dans le forum C
    Réponses: 6
    Dernier message: 23/07/2003, 20h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo