Existe-t-il une fonction deleteln; probleme avec fichier textfile
cs_arthur07
Messages postés4Date d'inscriptionvendredi 1 août 2003StatutMembreDernière intervention27 février 2004
-
18 déc. 2003 à 07:18
speletux
Messages postés30Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 6 février 2014
-
23 sept. 2005 à 03:33
DR@G :sleepy)
Bonjour,
Ce que j'aimerais savoir c'est s'il existe une fonction en Delphi pour ecrire à un endroit X dans un fichier texte ou s'il existe une fonction du genre deleteln. Mon problème est que je dois updater mon fichier config.ini, mais je veux juste update le champ voulu et non reconstituer tout le texte.
Merci d'avances :)
A voir également:
Existe-t-il une fonction deleteln; probleme avec fichier textfile
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 18 déc. 2003 à 10:41
Bonjour,
yes il existe bien des fonctions mais pas toute fait en utilsant la fonction pos et write ect tu peux t'en sortir. Cependant si tu fais cela pour un fichier .ini il y a beaucoup plus simple. Tu devrais utiliser le composant TiniFile. Il gère tout seul ce genre de chose et c'est tres simple d'utilisation.
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 16 sept. 2004 à 09:14
Hello,
ALors la fonction Pos comme décrite dans l'aide recherche une sous-chaine dans une chaine et renvoie la position de ta sous-chaine dans la chaine.
Par exemple : Tu cherches la position de "Text" dans "Inserer votre text ici" et bien pos('Text','Inserer votre text ici') te renverra 15 normalement.
Sinon pour inserer une ligne dans un fichier : Pour ma part pour gérer des ajouts ou suppression de ligne j'utilise toujours un tstringlist dans lequel je charge le fichier s'il n'est pas trop volumineux.
Exemple : Avec cette procedure tu lui passe:
-le nom du fichier dans FileName
-le Texte à inséré dans TextLine
- la position ou tu souhaites inséré cette ligne par PosLine
et hop le tour est joué.
begin
MaVar := TStringList.Create; {Création du TStringList}
Try
MaVar.LoadFromFile(FileName); {Chargement du fichier}
MaVar.Insert(PosLine,TextLine); {Ajout de la ligne TextLine à la position PosLine}
MaVar.SaveToFile(FileName); {On Sauvegarde de nouveau le fichier}
finally
MaVar.Free;{Libérer la mémoire associé}
end;
end;
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 16 sept. 2004 à 15:33
Ben en réalite je sais pas trop car j ai deja chargé des fichiers avec des milliers de ligne et j'ai jamais eu de soucis de lenteur aux chargement du fichier dans le tstringlist.
Si tu vois qu au chargement du fichier dans le tstringlist cela mets un peu de temps je pense que l on peut dire que le fichier est trop volumineux. Mais perso j ai jamais eu le cas.
jmp77
Messages postés1119Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention 4 octobre 20067 16 sept. 2004 à 15:33
Ben en réalite je sais pas trop car j ai deja chargé des fichiers avec des milliers de ligne et j'ai jamais eu de soucis de lenteur aux chargement du fichier dans le tstringlist.
Si tu vois qu au chargement du fichier dans le tstringlist cela mets un peu de temps je pense que l on peut dire que le fichier est trop volumineux. Mais perso j ai jamais eu le cas.
speletux
Messages postés30Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention 6 février 2014 23 sept. 2005 à 03:33
D'une manière générale:
Lorsqu'on doit travailler sur des données provenant et à destination
d'un fichier de texte, il faut faire appel à une base de données
mémoire (qui peut être un simple tableau array ou un TStringList) pour
les traiter.
Un fichier texte ne peut être modifié directement, sauf pour un ajout.
Il doit être reconstruit à partir de la base de données mémoire.