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 :

[Delphi] Comment écrire dans un fichier texte ?


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Avril 2005
    Messages
    141
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 141
    Points : 43
    Points
    43
    Par défaut [Delphi] Comment écrire dans un fichier texte ?
    Bonjour...

    J'ai un fichier texte et je souhaiterai l'ouvrir pour écrire à la la 3 ieme ligne de ce fichier.... Mais je n'y arrive pas...
    Je fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Assignfile(f, nomFichier);
    Appen(f);
    writeln(f,'bonjour à vous');
    Le problème avec ce code c'est que la ligne de texte est rajouté a la fin de mon fichier et non a la ligne 3... Mais je ne suis pas vraiment étonné puisque je n'indique a aucun moment que je veux écrire à la ligne 3...

    Est-ce possible et si oui comment dois je m'y prendre?

    Merci d'avance...

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 465
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 465
    Points : 4 312
    Points
    4 312
    Par défaut
    Append permet d'ouvrir le fichier et d'y écrire à la fin... Pour écrire à la troisème ligne précisément, je pense qu'il faut charger le fichier texte dans un tableau de string par exemple, puis modifier la troisième string du tableau, puis réécrire le fichier.

  3. #3
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Un fichier, qu'il soit texte ou non, est constitué d'un ensemble d'octets mis bout à bout. Ce qui distingue un fichier texte d'un fichier binaire est qu'il est uniquement constituté de caractères alphanumériques et de ponctuation, et qu'il contient des retours à la ligne (CR, LF, ou CRLF).
    Prenons l'exemple d'un fichier texte simple sous Dos/Windows :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Ligne 1CR LF
    Ligne 2CR LF
    Ligne 3CR LF
    Ligne 4
    Si on se place directemet à la ligne 3 de ce fichier pour y écrire, par exemple "Nouveau texte", alors il va se passer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Ligne 1CR LF
    Ligne 2CR LF
    Nouveau textee 4
    Le nouveau texte écrase les octets occupés par l'ancien.

    Pour insérer des caractères, il faut donc passer par une zone temporaire (mémoire ou fichier) contenant les caractères précédant l'insertion, les nouveaux caractères, et enfin les caractères terminant le fichier original avant de remplacer ce dernier par le contenu temporaire établi.

    @++

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/10/2009, 18h05
  2. Comment écrire dans un fichier texte sans sauter les lignes
    Par gogéta91 dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 29/07/2008, 18h56
  3. Réponses: 1
    Dernier message: 12/06/2008, 09h30
  4. [Flash] [FAQ] Comment écrire dans un fichier texte depuis Flash ?
    Par Demco dans le forum Contribuez
    Réponses: 0
    Dernier message: 08/06/2006, 14h15
  5. Réponses: 32
    Dernier message: 17/05/2006, 16h03

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