IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Lire un fichier par la fin


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 36
    Points : 20
    Points
    20
    Par défaut Lire un fichier par la fin
    Bonjour,

    Je cherche depuis un moment comment lire un fichier txt en commençant par la fin ?

    De plus, je récupère des valeurs d'un fichier texte (ça fonctionne très bien) et je voudrais arrêter le traitement dès que ma valeurs est récupéré (même si la même valeur ce trouve plus loin dans le fichier).

    Merci pour vos pistes et votre aide,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Const ForReading = 1, ForWriting = 2 
    Dim oFso, f
    Dim lectureLigne, sansEspace
    Dim caNet, nbArticle, nbTicketCA
    Set oFso = CreateObject("Scripting.FileSystemObject")
     
    'Ouverture et lecture du fichier
    	Set f = oFso.OpenTextFile("P:\Scripts\test.txt", ForReading)
     
    		do while f.AtEndOfStream = false
     
    			lectureLigne = f.readLine
    			caNet = left(lectureLigne,8)
    			nbArticle = left(lectureLigne,19)
    			nbTicketCA = left(lectureLigne,29)
     
    			if caNet = "C.A. net" Then
     
    				sansEspace=replace(lectureLigne," ","")
    				Deb = Instr(sansEspace,"C")+7
    				Fin = Instr(sansEspace,"E")
    				msgbox Mid(sansEspace,Deb,Fin-Deb)
     
     
    			End If
     
    			if nbArticle = "Nombre d'articles  " Then
     
    				sansEspace=replace(lectureLigne," ","")
    				test = replace(sansEspace,"Nombred'articles","")
    				msgbox test
     
    			End If
     
    			if nbTicketCA = "Nombre de tickets (avec C.A.)" Then
     
    				sansEspace=replace(lectureLigne," ","")
    				test2 = replace(sansEspace,"Nombredetickets(avecC.A.)","")
    				msgbox test2
     
    			End If
     
    		loop	
    	f.close
    Voici le contenu de mon fichier test.txt :

    ========================================================

    ========================================================
    RAZ NUMERO
    --------------------------------------------------------
    Boutique :
    Caisse :
    Caissier :
    En date :
    Heure :
    ========================================================
    --------------------------------------------------------
    Ventes (brut) 0,00 E
    Remises caisse 0,00 E
    --------------------------------------------------------
    Retours 0,00 E
    C.A. net 0,00 E
    --------------------------------------------------------
    Taxes sur chiffre d'affaires
    --------------------------------------------------------
    --------------------------------------------------------
    Règlements
    --------------------------------------------------------
    --------------------------------------------------------
    --------------------------------------------------------
    Sorties de caisse 0,00 E
    Dont dépenses 0,00 E
    --------------------------------------------------------
    Entrées de caisse 0,00 E
    Dont retouches 0,00 E
    --------------------------------------------------------
    Nombre d'articles 0,00
    Nombre d'articles cadeau 0,00
    Nombre de tickets (avec C.A.) 0
    Indice de vente 0,00
    Panier moyen 0,00 E
    ========================================================
    *** FIN BANDE RAZ ***

    ========================================================

    ========================================================
    RAZ NUMERO
    --------------------------------------------------------
    Boutique :
    Caisse :
    Caissier :
    En date :
    Heure :
    ========================================================
    --------------------------------------------------------
    Ventes (brut) 0,00 E
    Remises caisse 0,00 E
    --------------------------------------------------------
    Retours 0,00 E
    C.A. net 2574,50 E
    --------------------------------------------------------
    Taxes sur chiffre d'affaires
    --------------------------------------------------------
    --------------------------------------------------------
    Règlements
    --------------------------------------------------------
    --------------------------------------------------------
    --------------------------------------------------------
    Sorties de caisse 0,00 E
    Dont dépenses 0,00 E
    --------------------------------------------------------
    Entrées de caisse 0,00 E
    Dont retouches 0,00 E
    --------------------------------------------------------
    Nombre d'articles 53,00
    Nombre d'articles cadeau 0,00
    Nombre de tickets (avec C.A.) 33
    Indice de vente 0,00
    Panier moyen 0,00 E
    ========================================================
    *** FIN BANDE RAZ ***
    Je voudrais donc commencer par la fin pour récupérer les valeurs qui ne sont pas à zéro et dès qu'il trouve, il s'arrête (et n'affiche pas celle à 0 plus haut)

    Merci

  2. #2
    Expert éminent sénior
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 091
    Points : 16 630
    Points
    16 630
    Par défaut
    Citation Envoyé par Touny Voir le message
    Bonjour,

    Je cherche depuis un moment comment lire un fichier txt en commençant par la fin ?
    .....
    je voudrais arrêter le traitement dès que ma valeurs est récupéré (même si la même valeur ce trouve plus loin dans le fichier).
    - en commençant par la fin: peut être comme cela, mais couteux en mémoire quand ton fichier sera de quelque Mega/Giga.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Const ForReading = 1, ForWriting = 2
    Dim oFso, f, t
    Dim lectureLigne, sansEspace, ContenuLgn
    Dim caNet, nbArticle, nbTicketCA
    Set oFso = CreateObject("Scripting.FileSystemObject")
     
    'Ouverture et lecture du fichier
    	Set f = oFso.OpenTextFile("P:\Scripts\test.txt", ForReading)
            'récupération d'un tableau de x lignes totalité du fichier
            ContenuLgn = split(f.ReadAll,vbnewline)
            f.close
            set f = nothing
            'lecture des 10 dernières lignes en commençant par la dernière ligne
            for t = ubound(ContenuLgn) to ubound(ContenuLgn)-9  Step -1
                    msgbox ContenuLgn(t)
            next
    - arrêter le traitement dès que ma valeurs est récupéré: Ben comme tu sais que ta valeurs est récupérer, tu fais un Exit Do

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2009
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup c'est exactement ce que je cherchais

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2003] Lire des fichiers par date de modification
    Par K2O2$ dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/05/2010, 19h11
  2. Lecture d'un fichier par flots : fin de ligne ?
    Par Loïc B. dans le forum C++
    Réponses: 4
    Dernier message: 07/11/2007, 21h02
  3. Lire une chaine par la fin
    Par Electroniktor dans le forum C
    Réponses: 8
    Dernier message: 14/07/2007, 16h42
  4. Lire un fichier par bloc de n*m bytes
    Par chaka_zulu dans le forum Langage
    Réponses: 1
    Dernier message: 24/05/2007, 07h26
  5. Lire un fichier par la fin
    Par romaintaz dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 22/01/2007, 16h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo