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

VB 6 et antérieur Discussion :

Gros bug & ReadLine & FSO


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut Gros bug & ReadLine & FSO
    j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim OFS, MonFichier, FR, textCont
    '1 je crée la référence du fichier
    Set OFS = CreateObject("Scripting.FileSystemObject")
    '2 je vais obtenir le fichier toto.txt qui est dans le répertoire windows.
    Set MonFichier = OFS.GetFile("c:\sky.txt")
    '3 maintenant je vais ouvrir le fichier en lecture
    Set FR = MonFichier.OpenAsTextStream(1, 0)
    '
    Label1.Caption = FR.readline
    label1 m'affiche la premiere ligne de mon text

    mais je voudrais bien quelque chose qui pourrait m'aider a affichier la ligne que je veux ... disant la 10éme ligne...
    Cmt pourrais-je le faire?

    Et j'aimerais juste lire a partir de 5eme caractère de la ligne et jusqu'à la 10eme ou bien depuis 5eme caractère je voudrais en lire que 5 prochains ( c'est pareil)

    Je panse que c'est faisable avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Dim File As Collection
     Dim i As Integer
    Mid(File.Item(i), 9, 2)' 9 c'est start as long , et 2 c'est length
    mais je n'ai pas trop pu l'intégrer ..
    Merci de m'aider...

  2. #2
    Membre Expert
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 70
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Par défaut
    Bonjour,

    Il te faut une boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    Dim OFS, MonFichier, FR, textCont
    '1 je crée la référence du fichier
    Set OFS = CreateObject("Scripting.FileSystemObject")
    '2 je vais obtenir le fichier toto.txt qui est dans le répertoire windows.
    Set MonFichier = OFS.GetFile("c:\sky.txt")
    '3 maintenant je vais ouvrir le fichier en lecture
    Set FR = MonFichier.OpenAsTextStream(1, 0)
    '
    do while not FR.AtEndOfStream 
    msgbox FR.readline
    Loop
    FR.Close

  3. #3
    Membre Expert
    Avatar de Delbeke
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2 675
    Détails du profil
    Informations personnelles :
    Âge : 72
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2 675
    Par défaut
    Sans sortir l'artillerie lourde du filesystem object

    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
    Private Sub Command1_Click()
      Dim hFich As Integer
      Dim FileName As String
      Dim Buffer As String
      Dim Lignes As Variant
      FileName = "c:\sky.txt"
      'trouver un numero de fichier dispo
      hFich = FreeFile
      'ouvrir le fichier en mode binaire
      Open FileName For Binary As #hFich
      'dimmensionner buffer à la taille du fichier
      Buffer = String(LOF(hFich), 0)
      'lire la totalité du fichier
      Get #hFich, , Buffer
      'on peut fermer le fichier, on n'en a plus besoin
      Close #hFich
      'on va separer buffer sur les fins de ligne  (vbcrlf)
      Lignes = Split(Buffer, vbCrLf)
      'Afficher le nombres de lignes du fichier
      Debug.Print "Ce fichier a " & UBound(Lignes) & " lignes"
      'exemple,afficher la 4 eme ligne ,10 caractères a partitr du 5 eme caractère
      Debug.Print Mid(Lignes(4), 5, 10)
    End Sub

  4. #4
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    pc75 merci pour ta réponse .. mais je des floux dans ma tête pour utiliser ton code....

    Et Delbeke ton code correspond 99% à ce que je veux ...
    et enfaite j'avais oublié de préciser comment obtenir le nombre de lignes... (tu as répondu Merci :p )

  5. #5
    Membre confirmé Avatar de imparator_42
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 242
    Par défaut
    Il y a une toute petite erreur ..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print "Ce fichier a " & UBound(Lignes) & " lignes"
    Quand vous avez 1 ligne , il affiche 0... je panse qu'il utilise les numéros des lignes, comme la 1ere ligne est : Mid(ligne(0))

    Du coup il faut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print "Ce fichier a " & UBound(Lignes) + 1 & " lignes"

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

Discussions similaires

  1. Gros bug SQL Server avec caractère "²"
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 26/05/2005, 14h31
  2. Gros bug BDE ??
    Par totof42 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/03/2004, 11h36
  3. gros bug interbase 6 freeware
    Par camis dans le forum InterBase
    Réponses: 18
    Dernier message: 28/01/2004, 11h42
  4. [Kylix] Gros gros bug
    Par Hokuto dans le forum EDI
    Réponses: 3
    Dernier message: 16/09/2003, 14h08

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