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

cs_Jordan59 174 Messages postés vendredi 26 mai 2006Date d'inscription 9 avril 2014 Dernière intervention - 30 déc. 2009 à 18:23 - Dernière réponse : cs_Jordan59 174 Messages postés vendredi 26 mai 2006Date d'inscription 9 avril 2014 Dernière intervention
- 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
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 30 déc. 2009 à 20:47
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 ?

Merci JulioDelphi 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de JulioDelphi
Meilleure réponse
Utilisateur anonyme - 30 déc. 2009 à 22:10
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

Merci Utilisateur anonyme 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 102 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
JulioDelphi 2354 Messages postés dimanche 5 octobre 2003Date d'inscription 18 novembre 2010 Dernière intervention - 30 déc. 2009 à 19:28
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
cs_Jordan59 174 Messages postés vendredi 26 mai 2006Date d'inscription 9 avril 2014 Dernière intervention - 30 déc. 2009 à 20:22
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
cs_Jordan59 174 Messages postés vendredi 26 mai 2006Date d'inscription 9 avril 2014 Dernière intervention - 4 janv. 2010 à 15:40
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.