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 :

parcour de fichier et retour a la ligne?


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut parcour de fichier et retour a la ligne?
    salut

    voila jai un petit souci avec le parcours d'un fichier et les retours a la lignes:

    quand je lis mon fichier je fais ceci pour connaitre les retours a la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Do While Not EOF(1)
    Input #1, Normal
    lbltxt.Caption = lbltxt.Caption & Normal & Chr(10)
    Loop
    et lorsque que je relis mon fichier pour connaitre les retours a la ligne je n'arrive pas a rentrer dans ma condition que voici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    Case tabtemp(i) = Chr(10)
     
        tabretourligne(l) = tabtemp(i)
        l = l + 1
     
    Case tabtemp(i):
        tabsansespace(k) = tabtemp(i)
        lbltxtcompresse.Caption = lbltxtcompresse.Caption & tabtemp(i)
        k = k + 1
    il me met un genre de carré comme caractere et donc ne rentre pas dans la premiere condition.

    de plus je voudrai savoir quelle est le composant que je doit rajouter pour avoir un bouton parcours de fichier. car le dirlistbox ne me conviens pas je voudrai le composant qui permet d'obtenir le fichier avec la fenetre comme sous window....


    merci par avance

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    bin sa marche pas car :
    vbCrLf met donc 2 carrés (quand je fais un pas a pas)

    et sa rentre jamais dans ma condition

    ps pour etre plus caire voici ce que j'ecris dans mon fichier compressé
    For i = 0 To j
    Print #1, tabespace(i) 'stock dans le fichier, le tableau des espace
    Next
    Print #1, "---"
    For i = 0 To l
    Print #1, tabretourligne(i) 'stock dans le fichier le tableau des retour à la ligne
    Next
    Print #1, "---"

    Print #1, lbltxtcompresse.Caption

    Close #1
    et voici comment il sort
    0
    17
    20
    27
    30
    36
    0
    ---
    0
    0
    ---
    La
    fonction
    viséensortiedecettelicence
    voila les 2 00 correspondent normalement a la position des retour a la ligne

  3. #3
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    le Chr(10) correspond au caractère Line Feed (LF) or un retour a la ligne est conposé dabord d'un Carriage Return (CR)qui est le chr(13) puis d'un LF (cela nous vient de la machine a ecrire ou il fallait ramener le chariot a sa position initiale, soit un CR, puis faire remonter la feuille, soit un LF)
    d'ou les deux caractère que VB ne peut t'afficher car ce ne sont pas des caractères affichables
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    ouai salut
    merci de ta reponse mais meme sil les affiche pas je comprend pas pourquoi il ne rentre pas dans ma condition ?

  5. #5
    Membre éprouvé Avatar de avigeilpro
    Homme Profil pro
    Ambulancier
    Inscrit en
    Janvier 2004
    Messages
    880
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Ambulancier
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2004
    Messages : 880
    Points : 971
    Points
    971
    Par défaut
    Pourrait tu etre plus precis sur ton code et ce que tu veut faire car je ne comprend pas tout
    La connaissance seule ne suffit pas. La vraie compréhension vient de la mise en expérience.
    Règles|FAQ|Tuto

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    en fait je dois faire un genre de compresseur de fichier texte,
    donc je parcours mon fichier,
    chaque fois quil y a un espace ou un retour a la ligne je les enregistre dans 2 tableau un pour les espace avec la position de lespace et lautre pour les retour a la ligne
    apres j'enregistre tout dans un fichier.

    donc pour les espace aucun soucis mais pour les retour chariot probleme.

    donc jai testé avec ch(10) chr(13) et vbCrLf mais sans succés

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    dans le parcour de mon fichier j'ai tenté de faire sa :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lbltxt.Caption = lbltxt.Caption & normal & Chr(13) & Chr(10)
    et dans mon select case :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tabtemp(i) = Mid(lbltxt.Caption, i, 1)
    .......
    Case tabtemp(i - 1) = Chr(13) And tabtemp(i) = Chr(10)
    mais jamais je rentre dans cette condition

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ton utilisation de l'instruction case ne semble pas la bonne... (voir aide en ligne..) remplace la par des if...

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 164
    Points : 64
    Points
    64
    Par défaut
    ouai lol
    sauf que je n'ai pas qu'une ou 2 conditions conditions, j'en est plusieurs pour dautres tests donc le case est quand meme mieux approprié que le If
    mais en quoi il est pas bon?

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    e ben case ne marche pas comme ça tu as :

    Select Case VariableATester


    et pour chaque valeur (ou ensemble de valeur) .. possible ...

    Case Valeur1
    ActionPourValeur1




    Pour utiliser Case pour tester 2 caractéres consécutifs tu peu t'inspirer de :

    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
    Sub test()
        For i = 1 To 3 'On Rempli les lignes...
         st = st & "Ligne " & i & Chr(13) & Chr(10)
        Next
        st = st & "|"
     
     
        For i = 1 To Len(st) 'Lecture .....
         Debug.Print Mid(st, i, 1)
         Select Case Mid(st, i, 2)
            Case Chr(13) & Chr(10)
             Debug.Print "Saut de ligne à i = " & i
     
         End Select
        Next
     
    End Sub

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

Discussions similaires

  1. [XSLT][>CSV]retour a la ligne dans une cellule d'un fichier csv
    Par ujoodha dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 09/07/2006, 12h08
  2. prb retour a la ligne dans fichier txt telecharge avec php
    Par supersonicblonde dans le forum Langage
    Réponses: 3
    Dernier message: 08/06/2006, 14h20
  3. Retour a la ligne dans un fichier texte
    Par dykkent dans le forum Langage
    Réponses: 2
    Dernier message: 07/03/2006, 18h57
  4. ecrire dans un fichier un retour a la ligne
    Par ETI-trian dans le forum C++
    Réponses: 8
    Dernier message: 17/10/2005, 09h51
  5. [JTextArea] Fichier et retour à la ligne
    Par eraim dans le forum Composants
    Réponses: 4
    Dernier message: 23/06/2004, 08h21

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