écrire au milieu d'un fichier [Résolu]

Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Dernière intervention
9 avril 2014
- - Dernière réponse : cs_Jordan59
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Dernière intervention
9 avril 2014
- 4 janv. 2010 à 15:40
Bonsoir tout le monde,

Je cherche à écrire une ligne en plein milieu d'un fichier texte et je n'y parviens pas. Est-il réellement possible de le faire ?

Merci par avance pour votre aide !
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
3
Merci
Tu utilises une TStringList (http://www.delphibasics.co.uk/RTL.asp?Name=TStringList)
Exemple (non testé, juste de tete, je ne cree rien, verifie rien, rapide quoi ^^)
:
MaStringList.LoadFromFile('fichier.txt');
MaStringList.Insert('Magasin 01', 50); // insere ce texte à la ligne 50, et décale donc toutes les prochaines
(là je ne suis plus sur du Insert('', 0); ou Insert(0, ''); vois tu ?
MaStringList.SaveToFile('Magasin01.txt');
Ensuite, pour trouver la bonne ligne, as tu ton idée ? Le nombre de données communes est-il fixe ?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de JulioDelphi
3
Merci
Salut,

Une autre méthode que celle de Julio, les streams :

1)Tu crée un TFilStream en mode OpenRead
2)Tu crée un TFileStream en mode OpenWrite
3)Tu copies la premiere partie de ton fichier dans le second stream
4)Tu ajoutes les données que tu souhaites insérer, dans ce dernier
5)Tu copies le reste des données de ton Stream de lecture.
6)Tu libères le tout

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 96 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
0
Merci
Bien sur
Et si le fichier a un nombre impair de lignes, tu ecris avant ou apres le milieu ? ^^
Commenter la réponse de JulioDelphi
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Dernière intervention
9 avril 2014
0
Merci
Non pas exactement au milieu. A un endroit précis que je compte repérer par une chaîne <CodeMagasin> par exemple et à la place y mettre le code de mon magasin.

En fait dans le cadre de mon boulot, je doit générer des fichiers avec diverses données de ventes, des produits, des fournisseurs, ... Un fichier par magasin.

Or beaucoup de données se trouvant au début du fichier sont communes.

Je crée donc un fichier temporaire que je vais copier puis renommer pour chaque magasin et écrire à la suite les données spécifiques au magasin.

Le problème est que je dois préciser le code du magasin dans une des lignes du début de mon fichier (petite nouveauté que je viens d'apprendre)

D'où ma question !

Comme puis-je procéder ?

Merci !
Commenter la réponse de cs_Jordan59
Messages postés
174
Date d'inscription
vendredi 26 mai 2006
Dernière intervention
9 avril 2014
0
Merci
Ok, merci !
Commenter la réponse de cs_Jordan59

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.