cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 2009
-
22 mars 2007 à 13:44
cs_Loda
Messages postés814Date d'inscriptionvendredi 3 novembre 2000StatutMembreDernière intervention30 juillet 2009
-
23 mars 2007 à 08:59
hello tout le monde,
est-ce possible d'inserer des données au milieux d'un stream ?
J'ai un class qui dérive de TFileStream et je doit écrire vers le début du fichiers des données que je ne connait qu'après avoir écrire le reste du fichier. Le problème c'est que la taille des données est variable.
J'espère que qqun connaît un truc pour faire ça.
sinon, quel solution altérnative me proposer vous?
2 fichiers et copyfrom? dériver d'une autres class? laquel?
Context:
fichier text de petit taille.
merci d'avance,
Loda
<hr size="2" width="100%" />Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.
f0xi
Messages postés4205Date d'inscriptionsamedi 16 octobre 2004StatutModérateurDernière intervention12 mars 202235 22 mars 2007 à 15:40
aah aussi, si l'ordre des données n'est pas importante, tu veras qu'on peu placer les données dans n'importe qu'elle ordre puisque de toute façon c'est la DAT qui donne un ordre pour sortir les données.
en gros avec ce systeme, tu n'as plus qu'a prendre un TMemoryStream par exemple et a recuperer OffsetStart, DataSize de l'item que tu veux sortir, comme ceci :
TFS.Seek(DAT.Items[x].OffsetStart); // on positionne le stream principal a la position de la donnée
TMS.CopyFrom(TFS, DAT.Items[x].DataSize); // on copie la donnée dans un stream temporaire
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 22 mars 2007 à 18:29
Salut,
Je suis de l'avis de f0xi. L'ordre des données n'est généralement pas important.
Et pour éviter d'utiliser une table de données, tu peux regarder mon source: