La lecture et l'écriture d'un fichier vers et à partir d'une chaîne
Cet article inroduces deux fonctions pratiques pour la lecture de la contens d'un fichier dans une chaîne de caractères et l'écriture d'une chaîne de caractères dans un fichier.
la Lecture d'un fichier dans une chaîne de caractères
peut-être la façon la plus simple pour lire un fichier en une chaîne de caractères est l'aide de l'option LoadFromFile
méthode TStringList
de l'objet et ensuite l'accès à ses Texte
de la propriété:
SysUtils, Les Classes
& nbsp & nbsp fonction LoadFile(const nom du fichier: TFileName): string
& nbsp & nbsp démarrer
& ! & ! & ! & nbsp avec TStringList.Créer ne
& ! & ! & ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & ! & ! & nbsp LoadFromFile(nom de fichier)
& ! & ! & ! & ! & ! & ! & ! & nbsp Résultat := Texte
& ! & ! & ! & ! & ! & nbsp enfin
& ! & ! & ! & ! & ! & ! & ! & nbsp Gratuit
& ! & ! & ! & ! & ! & nbsp fin
& nbsp & nbsp fin
Cependant, cette façon de faire est inefficace, car LoadFromFile
charge le fichier et l'analyse de séparer les lignes, et puis, quand nous utilisons le Texte
de la propriété, une méthode interne est appelé à produire une chaîne de rejoindre les lignes, de sorte que ce double emploi est fait pour rien, de plus nous utilisons de plus que le double de la mémoire de stockage nous réellement besoin (jusqu'à ce que nous gratuit le TStringList
).
mieux
Une meilleure approche pourrait être l'aide d'un TFileStream
de l'objet (ou l'ancien Assign
, Reset
, Lire
et Fermer
procédures) de lire directement le contenu d'un fichier dans une chaîne. Ici est la même fonction à l'aide de TFileStream
qui renvoie le contenu du fichier dont le nom est passé en paramètre:
SysUtils, Classes
& nbsp & nbsp fonction LoadFile(const nom du fichier: TFileName): string
& nbsp & nbsp démarrer
& ! & ! & ! & nbsp avec TFileStream.Créer(nom de fichier,
& ! & ! & ! & ! & ! & nbsp fmOpenRead ou fmShareDenyWrite) commencer
& ! & ! & ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & ! & ! & nbsp SetLength(Résultat, Taille)
& ! & ! & ! & ! & ! & ! & ! & nbsp Lire(Pointeur(Suite)^, Stream.Taille)
& ! & ! & ! & ! & ! & nbsp sauf
& ! & ! & ! & ! & ! & ! & ! & nbsp Résultat := ' // Libère la mémoire
& ! & ! & ! & ! & ! & ! & ! & nbsp Gratuit
& ! & ! & ! & ! & ! & ! & ! & nbsp augmenter
& ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp Gratuit
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
l'Écriture d'un fichier à partir d'une chaîne de caractères
Si nous avions besoin de sauvegarder le contenu de la chaîne de retour sur disque, on peut utiliser la procédure suivante:
SysUtils, Les Classes
& nbsp & nbsp procédure SaveFile(const nom du fichier: TFileName
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const contenu: string)
& nbsp & nbsp démarrer
& ! & ! & ! & nbsp avec TFileStream.Créer(nom de fichier, fmCreate) ne
& ! & ! & ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & ! & ! & nbsp Écrire(Pointeur(contenu)^, Longueur(contenu))
& ! & ! & ! & ! & ! & nbsp enfin
& ! & ! & ! & ! & ! & ! & ! & nbsp Gratuit
& ! & ! & ! & ! & ! & nbsp fin
& nbsp & nbsp fin
La lecture et l'ecriture d'un fichier vers et a partir d'une chaîne
La lecture et l'ecriture d'un fichier vers et a partir d'une chaîne : Plusieurs milliers de conseils pour vous faciliter la vie.
Cet article inroduces deux fonctions pratiques pour la lecture de la contens d'un fichier dans une chaîne de caracteres et l'ecriture d'une chaîne de caracteres dans un fichier.
la Lecture d'un fichier dans une chaîne de caracteres
peut-etre la façon la plus simple pour lire un fichier en une chaîne de caracteres est l'aide de l'option LoadFromFile
methode TStringList
de l'objet et ensuite l'acces a ses Texte
de la propriete:
SysUtils, Les Classes
& nbsp & nbsp fonction LoadFile(const nom du fichier: TFileName): string
& nbsp & nbsp demarrer
& ! & ! & ! & nbsp avec TStringList.Creer ne
& ! & ! & ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & ! & ! & nbsp LoadFromFile(nom de fichier)
& ! & ! & ! & ! & ! & ! & ! & nbsp Resultat := Texte
& ! & ! & ! & ! & ! & nbsp enfin
& ! & ! & ! & ! & ! & ! & ! & nbsp Gratuit
& ! & ! & ! & ! & ! & nbsp fin
& nbsp & nbsp fin
Cependant, cette façon de faire est inefficace, car LoadFromFile
charge le fichier et l'analyse de separer les lignes, et puis, quand nous utilisons le Texte
de la propriete, une methode interne est appele a produire une chaîne de rejoindre les lignes, de sorte que ce double emploi est fait pour rien, de plus nous utilisons de plus que le double de la memoire de stockage nous reellement besoin (jusqu'a ce que nous gratuit le TStringList
).
mieux
Une meilleure approche pourrait etre l'aide d'un TFileStream
de l'objet (ou l'ancien Assign
, Reset
, Lire
et Fermer
procedures) de lire directement le contenu d'un fichier dans une chaîne. Ici est la meme fonction a l'aide de TFileStream
qui renvoie le contenu du fichier dont le nom est passe en parametre:
SysUtils, Classes
& nbsp & nbsp fonction LoadFile(const nom du fichier: TFileName): string
& nbsp & nbsp demarrer
& ! & ! & ! & nbsp avec TFileStream.Creer(nom de fichier,
& ! & ! & ! & ! & ! & nbsp fmOpenRead ou fmShareDenyWrite) commencer
& ! & ! & ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & ! & ! & nbsp SetLength(Resultat, Taille)
& ! & ! & ! & ! & ! & ! & ! & nbsp Lire(Pointeur(Suite)^, Stream.Taille)
& ! & ! & ! & ! & ! & nbsp sauf
& ! & ! & ! & ! & ! & ! & ! & nbsp Resultat := ' // Libere la memoire
& ! & ! & ! & ! & ! & ! & ! & nbsp Gratuit
& ! & ! & ! & ! & ! & ! & ! & nbsp augmenter
& ! & ! & ! & ! & ! & nbsp fin
& ! & ! & ! & ! & ! & nbsp Gratuit
& ! & ! & ! & nbsp fin
& nbsp & nbsp fin
l'Ecriture d'un fichier a partir d'une chaîne de caracteres
Si nous avions besoin de sauvegarder le contenu de la chaîne de retour sur disque, on peut utiliser la procedure suivante:
SysUtils, Les Classes
& nbsp & nbsp procedure SaveFile(const nom du fichier: TFileName
& ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & ! & nbsp const contenu: string)
& nbsp & nbsp demarrer
& ! & ! & ! & nbsp avec TFileStream.Creer(nom de fichier, fmCreate) ne
& ! & ! & ! & ! & ! & nbsp essayer
& ! & ! & ! & ! & ! & ! & ! & nbsp Ecrire(Pointeur(contenu)^, Longueur(contenu))
& ! & ! & ! & ! & ! & nbsp enfin
& ! & ! & ! & ! & ! & ! & ! & nbsp Gratuit
& ! & ! & ! & ! & ! & nbsp fin
& nbsp & nbsp fin
La lecture et l'écriture d'un fichier vers et à partir d'une chaîne
By commentfaire
La lecture et l'écriture d'un fichier vers et à partir d'une chaîne : Plusieurs milliers de conseils pour vous faciliter la vie.