OVH Cloud OVH Cloud

Nb Enr Fichier txt [WD 7.5]

8 réponses
Avatar
C. COGNET
Bonjour
Mon problème est le suivant j'ai un fichier texte que j'importe dans un
hyperfile jusque la pas de soucis. J'aimerais mettre une jauge pour indiquer
à l'utilisateur le déroulement de l'importation. J'importe mon fichier avec
une boucle serait il possible de connaitre le nombre d'enregistrements du
fichier, en sachant que chaque enregistrement est séparé par un RC, sans
devoir parcourir tout le fichier. Le fichier contient plus de 150000
enregistrements. J'ai essayé fpositionne mais il va me donner le nombre
d'octets. Merci de ce que vous pourrez faire pour moi.

8 réponses

Avatar
PYT
Bonjour,

Souvent dans les fichiers structurés, le nombre d'enregistrement = taille du
fichier/taille d'un enregistrement.

Cordialement

PYT
--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr

http://forums.club-internet.fr/
Avatar
Eric L.
Et si la valeur max de la jauge est la taille du fichier en octets et
que lorsque tu lis une ligne tu ajoutes à la valeur en cours de la
jauge la taille de la ligne lue + la taille de RC ?!
Ca devrait suffire et comme ça c'est simple à programmer ;)
Par contre, petit conseil, pour que le traitement ne soit pas trop long,
il vaut mieux ne pas mettre la jauge à jour pour chaque enregistrement
traité mais plutôt tous les 20 ou 50... A voir en fonction du temps
mis à traiter un enregistrement de ton fichier texte...

bon courage ;)
Eric L.

"C. COGNET" a écrit dans le
message de news:bnlavv$hai$
Bonjour
Mon problème est le suivant j'ai un fichier texte que j'importe dans un
hyperfile jusque la pas de soucis. J'aimerais mettre une jauge pour


indiquer
à l'utilisateur le déroulement de l'importation. J'importe mon fichier


avec
une boucle serait il possible de connaitre le nombre d'enregistrements du
fichier, en sachant que chaque enregistrement est séparé par un RC, sans
devoir parcourir tout le fichier. Le fichier contient plus de 150000
enregistrements. J'ai essayé fpositionne mais il va me donner le nombre
d'octets. Merci de ce que vous pourrez faire pour moi.




Avatar
C. COGNET
Ton idée est bonne mais le problème est que je n'est aucun enregistremnt de
même taille, il faudrait que je le calcul pour chaque et la totalité
totalité serait obtenu à la fin de la lecture du fichier
"Eric L." a écrit dans le message de
news:3f9e32fc$
Et si la valeur max de la jauge est la taille du fichier en octets et
que lorsque tu lis une ligne tu ajoutes à la valeur en cours de la
jauge la taille de la ligne lue + la taille de RC ?!
Ca devrait suffire et comme ça c'est simple à programmer ;)
Par contre, petit conseil, pour que le traitement ne soit pas trop long,
il vaut mieux ne pas mettre la jauge à jour pour chaque enregistrement
traité mais plutôt tous les 20 ou 50... A voir en fonction du temps
mis à traiter un enregistrement de ton fichier texte...

bon courage ;)
Eric L.

> "C. COGNET" a écrit dans le
> message de news:bnlavv$hai$
> Bonjour
> Mon problème est le suivant j'ai un fichier texte que j'importe dans un
> hyperfile jusque la pas de soucis. J'aimerais mettre une jauge pour
indiquer
> à l'utilisateur le déroulement de l'importation. J'importe mon fichier
avec
> une boucle serait il possible de connaitre le nombre d'enregistrements


du
> fichier, en sachant que chaque enregistrement est séparé par un RC, sans
> devoir parcourir tout le fichier. Le fichier contient plus de 150000
> enregistrements. J'ai essayé fpositionne mais il va me donner le nombre
> d'octets. Merci de ce que vous pourrez faire pour moi.
>
>




Avatar
Eric LAURENT
Ne fait pas en fonction du nombre d'enregistrement mais du nombre d'octets
lus.


"C. COGNET" a écrit dans le message de
news:bnld16$524$
Ton idée est bonne mais le problème est que je n'est aucun enregistremnt


de
même taille, il faudrait que je le calcul pour chaque et la totalité
totalité serait obtenu à la fin de la lecture du fichier
"Eric L." a écrit dans le message de
news:3f9e32fc$
> Et si la valeur max de la jauge est la taille du fichier en octets et
> que lorsque tu lis une ligne tu ajoutes à la valeur en cours de la
> jauge la taille de la ligne lue + la taille de RC ?!
> Ca devrait suffire et comme ça c'est simple à programmer ;)
> Par contre, petit conseil, pour que le traitement ne soit pas trop long,
> il vaut mieux ne pas mettre la jauge à jour pour chaque enregistrement
> traité mais plutôt tous les 20 ou 50... A voir en fonction du temps
> mis à traiter un enregistrement de ton fichier texte...
>
> bon courage ;)
> Eric L.
>
> > "C. COGNET" a écrit dans le
> > message de news:bnlavv$hai$
> > Bonjour
> > Mon problème est le suivant j'ai un fichier texte que j'importe dans


un
> > hyperfile jusque la pas de soucis. J'aimerais mettre une jauge pour
> indiquer
> > à l'utilisateur le déroulement de l'importation. J'importe mon fichier
> avec
> > une boucle serait il possible de connaitre le nombre d'enregistrements
du
> > fichier, en sachant que chaque enregistrement est séparé par un RC,


sans
> > devoir parcourir tout le fichier. Le fichier contient plus de 150000
> > enregistrements. J'ai essayé fpositionne mais il va me donner le


nombre
> > d'octets. Merci de ce que vous pourrez faire pour moi.
> >
> >
>
>




Avatar
Laurent Imbert
Ne t'est tu jamais rendu compte que windows (tous confondus) règle leur
jauge en copie sur la taille totale des fichiers; donc fause la réalité du
temp de copie.
En gros la seule possibilité de faire une jauge 99,99 % rééle serait
d'analyser toutes la taille des fichiers et de rajouter pour chaque fichier
un temp n pour le temp d'écriture dans la table des matière. (il est plus
rapide de copier un fichier de 2Mo que 10 fichier de 10 Ko sur nos machines
actuelle j'entend car le temp de copie physique des bits est plus rapide que
la création de son adresse dans la table des matières{lecture de celle-ci,
calcul du positionnement, écriture,ect..}).
Pour finir je dirait que rien que le temp que cette procèdure d'analyse
tourne (avant la copy), la copie elle-même serait terminée.
En conclusion, fait comme microsoft, eux ne font pas mieux, analyse sur la
taille totale car sinon tu ralongera énormément le temp de la copie au
total.

"Eric LAURENT" a écrit dans le message de
news:bnldh9$70j$
Ne fait pas en fonction du nombre d'enregistrement mais du nombre d'octets
lus.


"C. COGNET" a écrit dans le message de
news:bnld16$524$
> Ton idée est bonne mais le problème est que je n'est aucun enregistremnt
de
> même taille, il faudrait que je le calcul pour chaque et la totalité
> totalité serait obtenu à la fin de la lecture du fichier
> "Eric L." a écrit dans le message de
> news:3f9e32fc$
> > Et si la valeur max de la jauge est la taille du fichier en octets et
> > que lorsque tu lis une ligne tu ajoutes à la valeur en cours de la
> > jauge la taille de la ligne lue + la taille de RC ?!
> > Ca devrait suffire et comme ça c'est simple à programmer ;)
> > Par contre, petit conseil, pour que le traitement ne soit pas trop


long,
> > il vaut mieux ne pas mettre la jauge à jour pour chaque enregistrement
> > traité mais plutôt tous les 20 ou 50... A voir en fonction du temps
> > mis à traiter un enregistrement de ton fichier texte...
> >
> > bon courage ;)
> > Eric L.
> >
> > > "C. COGNET" a écrit dans le
> > > message de news:bnlavv$hai$
> > > Bonjour
> > > Mon problème est le suivant j'ai un fichier texte que j'importe dans
un
> > > hyperfile jusque la pas de soucis. J'aimerais mettre une jauge pour
> > indiquer
> > > à l'utilisateur le déroulement de l'importation. J'importe mon


fichier
> > avec
> > > une boucle serait il possible de connaitre le nombre


d'enregistrements
> du
> > > fichier, en sachant que chaque enregistrement est séparé par un RC,
sans
> > > devoir parcourir tout le fichier. Le fichier contient plus de 150000
> > > enregistrements. J'ai essayé fpositionne mais il va me donner le
nombre
> > > d'octets. Merci de ce que vous pourrez faire pour moi.
> > >
> > >
> >
> >
>
>




Avatar
C. COGNET
Déjà merci à tous pour vos réponses mais je crois que je me suis mal fait
comprendre, je veux bien faire varier mon fichier par rapport à le taille du
fichier mais à aucun moment cette taille varie dans ma boucle. J'ai une
boucle qui lit la première ligne, la convertit OEM vers ANSI et enfin
l'ecrit dans l'hyper file et ensuite on recommence la boucle à la deuxième
ligne et ainsi de suite jusqu'à rencontrer EOT. Je souhaiterais que ma jauge
varie en fonction de ces multiples boucles même approximativement. Le
problème est que ce qui me fait sortir de ma boucle c'est EOT et non pas une
valeur donc j'ai du mal à fixer la borne max de ma jauge ou alors de la
faire évoluer proportionnellement.
"Eric LAURENT" a écrit dans le message de
news:bnldh9$70j$
Ne fait pas en fonction du nombre d'enregistrement mais du nombre d'octets
lus.


"C. COGNET" a écrit dans le message de
news:bnld16$524$
> Ton idée est bonne mais le problème est que je n'est aucun enregistremnt
de
> même taille, il faudrait que je le calcul pour chaque et la totalité
> totalité serait obtenu à la fin de la lecture du fichier
> "Eric L." a écrit dans le message de
> news:3f9e32fc$
> > Et si la valeur max de la jauge est la taille du fichier en octets et
> > que lorsque tu lis une ligne tu ajoutes à la valeur en cours de la
> > jauge la taille de la ligne lue + la taille de RC ?!
> > Ca devrait suffire et comme ça c'est simple à programmer ;)
> > Par contre, petit conseil, pour que le traitement ne soit pas trop


long,
> > il vaut mieux ne pas mettre la jauge à jour pour chaque enregistrement
> > traité mais plutôt tous les 20 ou 50... A voir en fonction du temps
> > mis à traiter un enregistrement de ton fichier texte...
> >
> > bon courage ;)
> > Eric L.
> >
> > > "C. COGNET" a écrit dans le
> > > message de news:bnlavv$hai$
> > > Bonjour
> > > Mon problème est le suivant j'ai un fichier texte que j'importe dans
un
> > > hyperfile jusque la pas de soucis. J'aimerais mettre une jauge pour
> > indiquer
> > > à l'utilisateur le déroulement de l'importation. J'importe mon


fichier
> > avec
> > > une boucle serait il possible de connaitre le nombre


d'enregistrements
> du
> > > fichier, en sachant que chaque enregistrement est séparé par un RC,
sans
> > > devoir parcourir tout le fichier. Le fichier contient plus de 150000
> > > enregistrements. J'ai essayé fpositionne mais il va me donner le
nombre
> > > d'octets. Merci de ce que vous pourrez faire pour moi.
> > >
> > >
> >
> >
>
>




Avatar
Romain PETIT
"C. COGNET" a pensé très fort :
Déjà merci à tous pour vos réponses mais je crois que je me suis mal fait
comprendre, je veux bien faire varier mon fichier par rapport à le taille du
fichier mais à aucun moment cette taille varie dans ma boucle. J'ai une
boucle qui lit la première ligne, la convertit OEM vers ANSI et enfin
l'ecrit dans l'hyper file et ensuite on recommence la boucle à la deuxième
ligne et ainsi de suite jusqu'à rencontrer EOT. Je souhaiterais que ma jauge
varie en fonction de ces multiples boucles même approximativement. Le
problème est que ce qui me fait sortir de ma boucle c'est EOT et non pas une
valeur donc j'ai du mal à fixer la borne max de ma jauge ou alors de la
faire évoluer proportionnellement.



Tu n'as pas compris apparemment la solution (bonne) donnée par Eric
LAURENT.

1. Tu stockes la taille totale du fichier dans une variable
2. Tu ouvres une fenetre jauge (par exemple), tu ouvres le fichier et
commence la lecture
--BOUCLE
3. A chaque lecture de ligne, tu récupères le nombre d'octets lu dans
cette ligne, que tu ajoutes dans un compteur (qui s'additionne au fur
et à mesure de la lecture des lignes)
4. Tu fais le rapport entre ce compteur et la taille total * 100 et ça
te donne le % de progression
--FIN BOUCLE
5. Tu atteinds EOT, tu fermes la fenetre jauge, le fichier et tu
quittes la boucle

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Laurent Imbert
En effet, je me suis mélangé les pinceaux !
je pensé à plusieurs fichiers.
Sur un seul fichier la solution est donné donc ciao


"Romain PETIT" a écrit dans le message de
news:
"C. COGNET" a pensé très fort :
> Déjà merci à tous pour vos réponses mais je crois que je me suis mal


fait
> comprendre, je veux bien faire varier mon fichier par rapport à le


taille du
> fichier mais à aucun moment cette taille varie dans ma boucle. J'ai une
> boucle qui lit la première ligne, la convertit OEM vers ANSI et enfin
> l'ecrit dans l'hyper file et ensuite on recommence la boucle à la


deuxième
> ligne et ainsi de suite jusqu'à rencontrer EOT. Je souhaiterais que ma


jauge
> varie en fonction de ces multiples boucles même approximativement. Le
> problème est que ce qui me fait sortir de ma boucle c'est EOT et non pas


une
> valeur donc j'ai du mal à fixer la borne max de ma jauge ou alors de la
> faire évoluer proportionnellement.

Tu n'as pas compris apparemment la solution (bonne) donnée par Eric
LAURENT.

1. Tu stockes la taille totale du fichier dans une variable
2. Tu ouvres une fenetre jauge (par exemple), tu ouvres le fichier et
commence la lecture
--BOUCLE
3. A chaque lecture de ligne, tu récupères le nombre d'octets lu dans
cette ligne, que tu ajoutes dans un compteur (qui s'additionne au fur
et à mesure de la lecture des lignes)
4. Tu fais le rapport entre ce compteur et la taille total * 100 et ça
te donne le % de progression
--FIN BOUCLE
5. Tu atteinds EOT, tu fermes la fenetre jauge, le fichier et tu
quittes la boucle

A+

--
Romain PETIT
http://cerbermail.com/?IJmancZl88
(cliquez sur le lien ci-dessus pour me contacter en privé)