Bonjour
je cherche une commande delphi qui me permet d'écrire dans un fichier text dans la ligne N° 10 par exemple, ou lire des données dans fichier txt ligne 14 par ex
merci
Bonjour
je cherche une commande delphi qui me permet d'écrire dans un fichier text dans la ligne N° 10 par exemple, ou lire des données dans fichier txt ligne 14 par ex
merci
Pour lire
Standard Delphi
TextFile : ReadLn
File : Seek et ReadBlock
TStringList : LoadFromFile (pour un fichier de moins de 10000 lignes !)
TFileStream : Seek et Read
Classe Maison
TTextFileReader : BuildLinesIndexes et ReadLine
Pour écrire
TextFile : WriteLn
File : Seek et WriteBlock
TStringList : SaveToFile (pour un fichier de moins de 10000 lignes !)
TFileStream : Seek et Write
Pour un fichier Texte, faut se rendre compte que remplacer une ligne par une autre c'est plus complexe que l'on croit, il faut écrire la nouvelle ligne certe mais décaler en avant ou en arrière tout le reste du fichier selon la nouvelle longueur de la ligne ...
Faudrait que je finisse TTextFileReader pour modifier un fichier texte (gestion de cache et mise à jour des index, pas évident et probablement très lent sur de gros fichiers)
Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
Attention Troll Méchant !
"Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
L'ignorance n'excuse pas la médiocrité !
L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
Il faut avoir le courage de se tromper et d'apprendre de ses erreurs
merci pour l'aide
mais pour mon cas j'en ai besoin que d'un fichier normal pour écrire environ 80 ligne et les récupérer après mais mon problème c'est que j'arrive pas à écrire sur une ligne de mon choix sans avoir changer le contenu des autres lignes
Les StringList le permettent à travers la propriété Strings.
Pour autant qu'il y ait déjà au moins 10 lignes dans le fichier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sl.Strings[9] := 'Ton texte'; //ou plus simplement sl[9] := 'Ton texte';
Comme ça a été expliqué, les fichiers ne peuvent fonctionner qu'en accès sequentiel. Aussi, tu ne peux ouvrir un fichier texte que dans deux modes :
Rewrite : Tu crées un nouveau fichier vide.
Append : Tu ouvres le fichier et tu te positionne à la fin pour ajouter des données.
Pour modifier une ligne au milieu, il faut réécrire le fichier complet avec la ligne modifiée.
Soit en se servant de deux fichiers texte en bascule, soit (le plus simple et le plus performant) en passant par un TStringList.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager