J'ai un fichier texte des plus simple et je veux retirer
syst=E8matiquement la derni=E8re ligne.
Bon, je pourrais faire une boucle pour r=E9soudre le pb mais j'ai
souvenir qu'en ouvrant le fichier en binaire il est possible de
r=E9duire directement le fichier au moyen d'une soustraction sur sa
taille.
L'op=E9ration est un poil compliqu=E9, je l'admets, mais elle a le m=E9rite
d'=EAtre extr=EAment rapide.
J'ai cherch=E9 l'info sur de nombreux forum mais sans succ=E8s
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Fred
Dans : news:, Tschuß disait :
Bonjour,
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Mais cela n'empêchera pas d'ouvrir tout d'abord le fichier (en binaire) et de le parcourir à partir de la fin pour trouver le début de la dernière ligne (sauf si elles sont toutes de même longueur).
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Dans : news:1191919272.979388.69020@19g2000hsx.googlegroups.com,
Tschuß disait :
Bonjour,
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer
systèmatiquement la dernière ligne.
Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai
souvenir qu'en ouvrant le fichier en binaire il est possible de
réduire directement le fichier au moyen d'une soustraction sur sa
taille.
L'opération est un poil compliqué, je l'admets, mais elle a le mérite
d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Mais cela n'empêchera pas d'ouvrir tout d'abord le fichier (en binaire)
et de le parcourir à partir de la fin pour trouver le début de la
dernière ligne (sauf si elles sont toutes de même longueur).
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Mais cela n'empêchera pas d'ouvrir tout d'abord le fichier (en binaire) et de le parcourir à partir de la fin pour trouver le début de la dernière ligne (sauf si elles sont toutes de même longueur).
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
tking
Tschuß a exprimé avec précision :
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
Questions: Ton fichier texte a-il systèmatiquement la même taille ? Chaque retour à la ligne doit se faire par un caractère retour ? Le nombre de lignes est-il identiques à chaque fois ?
Une des solutions serait de compter le nombre de retour à la ligne, au total, de calculer la longueur jusqu'au dernier ou avant dernier et ensuite tu peux determiner à quel endroit couper.
Bon courage.
Tschuß a exprimé avec précision :
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer
systèmatiquement la dernière ligne.
Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai
souvenir qu'en ouvrant le fichier en binaire il est possible de
réduire directement le fichier au moyen d'une soustraction sur sa
taille.
L'opération est un poil compliqué, je l'admets, mais elle a le mérite
d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
Questions: Ton fichier texte a-il systèmatiquement la même taille ?
Chaque retour à la ligne doit se faire par un caractère retour ?
Le nombre de lignes est-il identiques à chaque fois ?
Une des solutions serait de compter le nombre de retour à la ligne, au
total, de calculer la longueur jusqu'au dernier ou avant dernier et
ensuite tu peux determiner à quel endroit couper.
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
Questions: Ton fichier texte a-il systèmatiquement la même taille ? Chaque retour à la ligne doit se faire par un caractère retour ? Le nombre de lignes est-il identiques à chaque fois ?
Une des solutions serait de compter le nombre de retour à la ligne, au total, de calculer la longueur jusqu'au dernier ou avant dernier et ensuite tu peux determiner à quel endroit couper.
Bon courage.
Patrice Henrio
Sans vérification voici mon idée considérer le fichier comme un tableau dynamique de byte la taille du tableau est la longueur du fichier partir de la fin et rechercher le premier eol (end of line) couper à cet endroit par un redimensionnement et enregistrer le tableau dans un fichier (voire le même)
lire la faq : http://faq.vb.free.fr/index.php?question4 sur la lecture et l'enregistrement de tableau dynamique
Fred" a écrit dans le message de news: %
Dans : news:, Tschuß disait :
Bonjour,
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Mais cela n'empêchera pas d'ouvrir tout d'abord le fichier (en binaire) et de le parcourir à partir de la fin pour trouver le début de la dernière ligne (sauf si elles sont toutes de même longueur).
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Sans vérification voici mon idée
considérer le fichier comme un tableau dynamique de byte
la taille du tableau est la longueur du fichier
partir de la fin et rechercher le premier eol (end of line)
couper à cet endroit par un redimensionnement et enregistrer le tableau dans
un fichier (voire le même)
lire la faq : http://faq.vb.free.fr/index.php?question4
sur la lecture et l'enregistrement de tableau dynamique
Fred" <foleide@libre.france> a écrit dans le message de news:
%23RL8RFlCIHA.5228@TK2MSFTNGP05.phx.gbl...
Dans : news:1191919272.979388.69020@19g2000hsx.googlegroups.com,
Tschuß disait :
Bonjour,
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer
systèmatiquement la dernière ligne.
Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai
souvenir qu'en ouvrant le fichier en binaire il est possible de
réduire directement le fichier au moyen d'une soustraction sur sa
taille.
L'opération est un poil compliqué, je l'admets, mais elle a le mérite
d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Mais cela n'empêchera pas d'ouvrir tout d'abord le fichier (en binaire) et
de le parcourir à partir de la fin pour trouver le début de la dernière
ligne (sauf si elles sont toutes de même longueur).
--
Fred
http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Sans vérification voici mon idée considérer le fichier comme un tableau dynamique de byte la taille du tableau est la longueur du fichier partir de la fin et rechercher le premier eol (end of line) couper à cet endroit par un redimensionnement et enregistrer le tableau dans un fichier (voire le même)
lire la faq : http://faq.vb.free.fr/index.php?question4 sur la lecture et l'enregistrement de tableau dynamique
Fred" a écrit dans le message de news: %
Dans : news:, Tschuß disait :
Bonjour,
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Mais cela n'empêchera pas d'ouvrir tout d'abord le fichier (en binaire) et de le parcourir à partir de la fin pour trouver le début de la dernière ligne (sauf si elles sont toutes de même longueur).
-- Fred http://www.cerber mail.com/?3kA6ftaCvT (enlever l'espace)
Aski
Hello Tschuß,
Tu as écrit :
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée. - Placer la totalité du fichier dans une chaîne par dim l as long l = FileLen(LeFichier) Open LeFichier For Binary As #1 'Utiliser la fonction Input() ou Get et non Input# pour lire tous les caractères S = Space$(l) Get #1, , S Close 1 - Rechercher le dernier retour de chariot (VbCrLf) par InStrRev - Réduire la chaîne S par Left$() ou Mid$()
Hello Tschuß,
Tu as écrit :
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer
systèmatiquement la dernière ligne.
Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai
souvenir qu'en ouvrant le fichier en binaire il est possible de
réduire directement le fichier au moyen d'une soustraction sur sa
taille.
L'opération est un poil compliqué, je l'admets, mais elle a le mérite
d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée.
- Placer la totalité du fichier dans une chaîne par
dim l as long
l = FileLen(LeFichier)
Open LeFichier For Binary As #1
'Utiliser la fonction Input() ou Get et non Input# pour lire tous
les caractères
S = Space$(l)
Get #1, , S
Close 1
- Rechercher le dernier retour de chariot (VbCrLf) par InStrRev
- Réduire la chaîne S par Left$() ou Mid$()
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée. - Placer la totalité du fichier dans une chaîne par dim l as long l = FileLen(LeFichier) Open LeFichier For Binary As #1 'Utiliser la fonction Input() ou Get et non Input# pour lire tous les caractères S = Space$(l) Get #1, , S Close 1 - Rechercher le dernier retour de chariot (VbCrLf) par InStrRev - Réduire la chaîne S par Left$() ou Mid$()
Tschuß
Merci à tous pour vos réponses je vais essayer cette dernière solution car pour répondre à tking, mon fichier n'a pas la même taille mais la largueur est toujours la même (133 charactères avant le retour chariot)
Bon, je m'y mets demain (j'vais tout de même pas faire d'heure sup)
On 9 oct, 13:03, "Aski" wrote:
Hello Tschuß,
Tu as écrit :
> Bonjour,
> J'ai un fichier texte des plus simple et je veux retirer > systèmatiquement la dernière ligne. > Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai > souvenir qu'en ouvrant le fichier en binaire il est possible de > réduire directement le fichier au moyen d'une soustraction sur sa > taille. > L'opération est un poil compliqué, je l'admets, mais elle a le mé rite > d'être extrêment rapide.
> J'ai cherché l'info sur de nombreux forum mais sans succès
> Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée. - Placer la totalité du fichier dans une chaîne par dim l as long l = FileLen(LeFichier) Open LeFichier For Binary As #1 'Utiliser la fonction Input() ou Get et non Input# pour lire tous les caractères S = Space$(l) Get #1, , S Close 1 - Rechercher le dernier retour de chariot (VbCrLf) par InStrRev - Réduire la chaîne S par Left$() ou Mid$()
Merci à tous pour vos réponses
je vais essayer cette dernière solution car pour répondre à tking, mon
fichier n'a pas la même taille mais la largueur est toujours la même
(133 charactères avant le retour chariot)
Bon, je m'y mets demain (j'vais tout de même pas faire d'heure sup)
On 9 oct, 13:03, "Aski" <a...@asci.asc> wrote:
Hello Tschuß,
Tu as écrit :
> Bonjour,
> J'ai un fichier texte des plus simple et je veux retirer
> systèmatiquement la dernière ligne.
> Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai
> souvenir qu'en ouvrant le fichier en binaire il est possible de
> réduire directement le fichier au moyen d'une soustraction sur sa
> taille.
> L'opération est un poil compliqué, je l'admets, mais elle a le mé rite
> d'être extrêment rapide.
> J'ai cherché l'info sur de nombreux forum mais sans succès
> Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée.
- Placer la totalité du fichier dans une chaîne par
dim l as long
l = FileLen(LeFichier)
Open LeFichier For Binary As #1
'Utiliser la fonction Input() ou Get et non Input# pour lire tous
les caractères
S = Space$(l)
Get #1, , S
Close 1
- Rechercher le dernier retour de chariot (VbCrLf) par InStrRev
- Réduire la chaîne S par Left$() ou Mid$()
Merci à tous pour vos réponses je vais essayer cette dernière solution car pour répondre à tking, mon fichier n'a pas la même taille mais la largueur est toujours la même (133 charactères avant le retour chariot)
Bon, je m'y mets demain (j'vais tout de même pas faire d'heure sup)
On 9 oct, 13:03, "Aski" wrote:
Hello Tschuß,
Tu as écrit :
> Bonjour,
> J'ai un fichier texte des plus simple et je veux retirer > systèmatiquement la dernière ligne. > Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai > souvenir qu'en ouvrant le fichier en binaire il est possible de > réduire directement le fichier au moyen d'une soustraction sur sa > taille. > L'opération est un poil compliqué, je l'admets, mais elle a le mé rite > d'être extrêment rapide.
> J'ai cherché l'info sur de nombreux forum mais sans succès
> Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée. - Placer la totalité du fichier dans une chaîne par dim l as long l = FileLen(LeFichier) Open LeFichier For Binary As #1 'Utiliser la fonction Input() ou Get et non Input# pour lire tous les caractères S = Space$(l) Get #1, , S Close 1 - Rechercher le dernier retour de chariot (VbCrLf) par InStrRev - Réduire la chaîne S par Left$() ou Mid$()
Aski
Hello Tschuß,
Merci du retour. -- Aski
Merci à tous pour vos réponses je vais essayer cette dernière solution car pour répondre à tking, mon fichier n'a pas la même taille mais la largueur est toujours la même (133 charactères avant le retour chariot)
Bon, je m'y mets demain (j'vais tout de même pas faire d'heure sup)
On 9 oct, 13:03, "Aski" wrote:
Hello Tschuß,
Tu as écrit :
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée. - Placer la totalité du fichier dans une chaîne par dim l as long l = FileLen(LeFichier) Open LeFichier For Binary As #1 'Utiliser la fonction Input() ou Get et non Input# pour lire tous les caractères S = Space$(l) Get #1, , S Close 1 - Rechercher le dernier retour de chariot (VbCrLf) par InStrRev - Réduire la chaîne S par Left$() ou Mid$()
Hello Tschuß,
Merci du retour.
--
Aski
Merci à tous pour vos réponses
je vais essayer cette dernière solution car pour répondre à tking, mon
fichier n'a pas la même taille mais la largueur est toujours la même
(133 charactères avant le retour chariot)
Bon, je m'y mets demain (j'vais tout de même pas faire d'heure sup)
On 9 oct, 13:03, "Aski" <a...@asci.asc> wrote:
Hello Tschuß,
Tu as écrit :
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer
systèmatiquement la dernière ligne.
Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai
souvenir qu'en ouvrant le fichier en binaire il est possible de
réduire directement le fichier au moyen d'une soustraction sur sa
taille.
L'opération est un poil compliqué, je l'admets, mais elle a le
mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée.
- Placer la totalité du fichier dans une chaîne par
dim l as long
l = FileLen(LeFichier)
Open LeFichier For Binary As #1
'Utiliser la fonction Input() ou Get et non Input# pour lire
tous les caractères
S = Space$(l)
Get #1, , S
Close 1
- Rechercher le dernier retour de chariot (VbCrLf) par InStrRev
- Réduire la chaîne S par Left$() ou Mid$()
Merci à tous pour vos réponses je vais essayer cette dernière solution car pour répondre à tking, mon fichier n'a pas la même taille mais la largueur est toujours la même (133 charactères avant le retour chariot)
Bon, je m'y mets demain (j'vais tout de même pas faire d'heure sup)
On 9 oct, 13:03, "Aski" wrote:
Hello Tschuß,
Tu as écrit :
Bonjour,
J'ai un fichier texte des plus simple et je veux retirer systèmatiquement la dernière ligne. Bon, je pourrais faire une boucle pour résoudre le pb mais j'ai souvenir qu'en ouvrant le fichier en binaire il est possible de réduire directement le fichier au moyen d'une soustraction sur sa taille. L'opération est un poil compliqué, je l'admets, mais elle a le mérite d'être extrêment rapide.
J'ai cherché l'info sur de nombreux forum mais sans succès
Merci de m'apporter vos réponses ou vos pistes.
J'y vais de mon idée. - Placer la totalité du fichier dans une chaîne par dim l as long l = FileLen(LeFichier) Open LeFichier For Binary As #1 'Utiliser la fonction Input() ou Get et non Input# pour lire tous les caractères S = Space$(l) Get #1, , S Close 1 - Rechercher le dernier retour de chariot (VbCrLf) par InStrRev - Réduire la chaîne S par Left$() ou Mid$()