Bonjour,
Comment je peux lire un filestream ligne par ligne comme la fonction READLN de Textfile ?
Cdt.
Bonjour,
Comment je peux lire un filestream ligne par ligne comme la fonction READLN de Textfile ?
Cdt.
Il faut le faire manuellement, tu peux t'inspirer de ma classe TTextFileReader
Deux modes possibles !
- AutoIndexed à true et la fonction ReadLine, il construit un fichier d'index qui mémorise les retours charriot, très utile si tu prévois beaucoup de va et vient dans le fichier (c'est la raison de sa conception, pouvoir faire un Seek sur des fichiers texte de TRÈS grande taille !)
- la fonction ReadString, se comportement comme ReadLn, chaque lecture lit une ligne et passe à la suivante !
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
si fs1 est de type TFileStream
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 sl1 := TStringList.Create ; sl1.LoadFromStream(fs1); for i1 := 0 to sl1.count-1 do ...
ALWEBER, dans ce cas autant utiliser TStringList.LoadFromFile !
L'intérêt de TFileStream, c'est d'économiser la mémoire en évitant de charger tout un fichier
surtout qu'un fichier ANSI double de volume lors du passage Unicode !
Ou encore TFileStream avec TStreamReader.ReadLine, c'est apparu en 2009
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
D'accord avec toi! ShailLeTroll. Ceci dit la taille du fichier n'est plus un généralement plus un pb. aujourd'hui.
Tout dépend l'équipement du client, j'ai du importer des SQL Zippés de 3Go (10Go décompressé mais découper en fichier de 1Go max) sur des machines sur Win2K et 256Mo de RAM !
Le système par défaut de notre provider DB chargeait 3 fois le fichier en mémoire !
J'ai du gérer moi-même le découpage du fichier et le passage des SQL !
Quelques mois plus tard, nouvelle version du provider DB qui corrigeait ce bug
J'ai bossé entre 2006 et 2009 sur un XP avec 512Mo de RAM !
Il est vrai que j'ai senti le passage à 4Go !
En fait, plus le développeur a une machine pourrie plus ça lui donne conscience des problèmes clients !
Après, j'ai eu des collègues à la course de la SUPER-Machine pour faire tourner de pauvre WAMP !
C'est tout l'enjeu, il faut à la fois passer au 64Bits pour les développement serveur tout en conservant une compatibilité pour les postes clients qui ne suivent pas la même évolution !
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
J'espère que 3 Go correspondaient au résultat de la requête et non pas à la requête elle même![]()
Si si, C'était des BackUp de DB sous format SQL !
Cela pouvait être nos propre BackUp ou alors ceux de MySQL Administrator !
Cela remplaçait le système par CSV qui avait montrer quelques problèmes !
La plupart des SGBD font des BackUp SQL, comme Oracle, qui fait une sorte de binaire qui mélange SQL et code interne !
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
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