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 :

Extraire une chaine dans une richebox


Sujet :

VB 6 et antérieur

  1. #1
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut Extraire une chaine dans une richebox
    Bonjour,
    j'ai une richetextbox contenant du code html,
    et j'aimerai pouvoir extraire toutes les liens url présent dans la richtextbox.
    Est ce que c'est possible car je n'ai aucune idée de comment faire?
    Merci d'avance

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    l'algo se présenterait selon moi de la façon suivante :

    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
    ****************************
    Variable position
    Variable texte
    Tantque position < tailletotale(texte)
      RechercheEtCopie position,texte
    Fin Tantque
     
    ****************************
    Fonction RechercheEtCopie(Byref positionInitiale,Byref Texte)
    Variable Debut
    Variable Fin
     
      recherche "<a" = Debut
      recherche "a>" = Fin
     
      CopieOùTuVeux Texte(Debut,Fin)
      positionInitiale = Fin + 1
    Fin Fonction

    Ca m'a pas bien l'air compliqué, je crois que le rtb propose un .selText et un .Find bien pratiques.

  3. #3
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut
    arf je me suis masl exprimer, c'est un code html.
    MAis les liens ne sont pas marqué en tant que lien, il sont juste ecrit dans le texte de la forme http://.......

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    le html c'est du texte.
    Pour la recherche, il suffit alors de repérer les bornes "http://" et ".com" ou ".fr" ...

  5. #5
    Membre actif
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Points : 235
    Points
    235
    Par défaut
    Je mets le tout dans un fichier texte et je recherche:
    Voici le code:
    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    Open App.Path & "/ok.txt" For Input As #1
    While Not EOF(1)
      Input #1, a$
      ok = 0
      ligneapres = a$
     
      While InStr(ligneapres, "http://") > 0
     
            existe = InStr(ligneapres, "http://")
     
           If existe > 0 Then
            ligneapres = Mid(ligneapres, existe)
     
            existe1 = InStr(ligneapres, " ")
            existe2 = InStr(ligneapres, "'")
            existe3 = InStr(ligneapres, """")
            existe4 = InStr(2, ligneapres, "http://")
     
            If existe1 = 0 Then existe1 = Len(ligneapres)
            If existe2 = 0 Then existe2 = Len(ligneapres)
            If existe3 = 0 Then existe3 = Len(ligneapres)
            If existe4 = 0 Then existe4 = Len(ligneapres)
     
     
                 If existe1 <= existe2 And existe1 <= existe3 And existe1 <= existe4 Then existe = existe1
                 If existe2 <= existe3 And existe2 <= existe1 And existe2 <= existe4 Then existe = existe2
                 If existe3 <= existe1 And existe3 <= existe2 And existe3 <= existe4 Then existe = existe3
                 If existe4 <= existe1 And existe4 <= existe2 And existe4 <= existe3 Then existe = existe4
     
            If existe <> Len(ligneapres) Then
                 ligneavant = Left(ligneapres, existe - 1)
                 ligneapres = Mid(ligneapres, existe)
            Else
            ligneavant = Left(ligneapres, existe)
            ligneapres = Mid(ligneapres, existe + 1)
            End If
     
     
            If List1.ListCount - 1 <= 0 Then
                List1.AddItem (ligneavant)
                MsgBox ligneavant
     
            Else
               For i = 0 To List1.ListCount - 1
     
                    If List1.List(i) <> ligneavant Then
                    ok = ok + 0
                    Else
                    ok = ok + 1
                    End If
                Next i
                If ok = 0 Then List1.AddItem (ligneavant): MsgBox ligneavant
            End If
     
     
        End If
        Wend
    Wend
    Close #1

  6. #6
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Et il y a une question ou c'est résolu???
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

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

Discussions similaires

  1. recherche d'une chaine dans une chaine
    Par jpclutier dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 03/12/2007, 11h30
  2. Réponses: 1
    Dernier message: 18/04/2007, 17h07
  3. Tester une chaine dans une chaine
    Par ulysse031 dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 26/03/2007, 00h48
  4. chercher caractére d'une chaine dans une chaine
    Par ulysse031 dans le forum Langage
    Réponses: 25
    Dernier message: 21/03/2007, 18h09
  5. Réponses: 2
    Dernier message: 19/10/2005, 15h38

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