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 :

Comment on peut se positionner sur une ligne donnée d'un fichier texte ?


Sujet :

VBScript

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Comment on peut se positionner sur une ligne donnée d'un fichier texte ?
    Bonjour,
    Je suis débutante en VBScript et je souhaite modifier le code ci-dessous afin de se positionner sur la fin du fichier texte et remonter à partir de la dernière ligne pour afficher les dix derniers lignes au lieu de lire ligne par ligne.

    Voilà Code qui permet de lire ligne par ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Dim aryline, lngTail, strFileName
    lngTail = 10
    set objFs = Wscript.CreateObject("Scripting.FilesSystemObject")
    if objFs.FileExists(strFileName) Then
    set objFile=objFs.OpenTextFile(strFileName,ForReading)
    reDim aryline(lngTail)
    i=0
    Do until objFile.AtEndOfSteam
    i=(i+1) Mod lngTail
    aryline(i)=objFile.ReadLine
    Loop
    // J'ai une petite idée :
    récupérer le nombre de ligne par : la propriété Line

    seulement ça me donne un nombre que je ne sais pas quoi faire avec. J'aimerais bien récupérer un pointeur sur la dernière ligne et puis déplacer le pointeur en haut pour récupérer les derniers lignes.

    Merci de me proposer une solution.

    dadaapocalypse

  2. #2
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 189
    Points : 212
    Points
    212
    Par défaut
    Salut dadaapocalypse.


    En fait il n'y a pas de pointeurs, avec le numéro de ligne, tu peux eventuellement lire avec readLine pour récupérer les informations dont tu as besoin, mais il faut recommencer la lecture du début.


    Dans ton cas, tu compte les lignes et remplis une variable totalLignes, et tu copie les infos a partir de totalLignes - 10 jusqu'à totalLignes.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Bonjour,
    Je vous remercie pour la réponse.
    seulement, il n'existe pas une propriété qui indique nombre total de lignes
    donc si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    total_Lignes=objFs.Line
    i=total_Lignes
    do until total_Lignes - 10
    i=i-1
    aryLine(i)=objFile.ReadLine
    Loop
    ça ne marchera pas car total_Lignes n'est pas une propriété de l'objet FSO.

    merci de me montrer clairement où est le problème.

    dadaapocalypse

  4. #4
    Membre actif
    Inscrit en
    Mai 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 189
    Points : 212
    Points
    212
    Par défaut
    exemple :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Const ForReading = 1, ForWriting = 2 
    Dim oFso, f
    Dim ts, nl
    Dim total_Lignes
    Set oFso = CreateObject("Scripting.FileSystemObject")
    Set f = oFso.OpenTextFile("c:\test1.txt", ForReading)
    ts = f.ReadAll '-- Lit la totalité du fichier
    total_Lignes = f.Line    '-- Récupère le nombre de lignes
    f.Close
     
    'Suite du code...

Discussions similaires

  1. Afficher une ligne Donnée dans un fichier texte existant
    Par M.sarah1988 dans le forum VB.NET
    Réponses: 2
    Dernier message: 20/09/2014, 01h20
  2. Réponses: 4
    Dernier message: 13/03/2013, 06h48
  3. Acceder a une ligne donnée d'un fichier texte
    Par mcorvaisier dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 11/02/2009, 10h00
  4. comment se positionner sur une ligne de table mysql ?
    Par pas30 dans le forum Requêtes
    Réponses: 3
    Dernier message: 13/01/2007, 13h43
  5. Réponses: 2
    Dernier message: 16/03/2006, 19h07

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