begin process at 2012 02 14 00:31:00
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Réseau & Internet

 > RECUPERER UNE COMBOBOX D'INTERNET

RECUPERER UNE COMBOBOX D'INTERNET


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Réseau & Internet Niveau :Débutant Date de création :08/12/2003 Date de mise à jour :10/12/2003 19:47:41 Vu / téléchargé :2 038 / 213

Auteur : IceSpiN

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Salut !
Voila , la derniere fois , je me suis trouve dans l'obligation de creer une combobox qui devait fournir un grand choix de pays a selectioner .Le probleme etait que rentrer plus de 50 entree manuellement c'etait long et ennuyeux . Alors je me suis dis c'est dommage que je puisse pas prendre une deja toute faite d'un site internet .Alors j'ai fait ce petit programme qui recupere une combobox dans une url donne , a condition qu'elle soit en HTML .
J'ai updater ce post pour afficher direct la source pour ceux qui ont la fleme de telecharger le zip .Dites ce que vous en pensez .Merci.

Source

  • Dim Url As String
  • Dim Analyze As String
  • Dim Test3, num, N As Integer
  • Dim c As Long
  • Dim Test, cboSettings, cboName, Nam As String
  • Private Sub cmdTest_Click()
  • 'Num est le nombre de caracteres qui vont etre lus avec Mid$
  • num = 10000
  • 'On met qqchose dans Nam pour la boucle de la sub Read()
  • Nam = "something"
  • 'On recup l'URL
  • Url = txtURL.Text
  • 'On recupere la source
  • Analyze = Inet1.OpenURL(Url)
  • 'On rearrange le code en supprimant les retours a la ligne les triple et doubles _
  • espaces et sur en decolant les balises
  • Analyze = Replace(Analyze, Chr(10), "", 1, -1, 0)
  • Analyze = Replace(Analyze, Chr(13), "", 1, -1, 0)
  • Analyze = Replace(Analyze, Chr(11), "", 1, -1, 0)
  • Analyze = Replace(Analyze, Chr(12), "", 1, -1, 0)
  • Analyze = Replace(Analyze, Chr(9), "", 1, -1, 0)
  • Analyze = Replace(Analyze, Chr(8), "", 1, -1, 0)
  • Analyze = Replace(Analyze, "><", "> <", 1, -1, 0)
  • Analyze = Replace(Analyze, " ", " ", 1, -1, 0)
  • Analyze = Replace(Analyze, " ", " ", 1, -1, 0)
  • 'On analyse la source
  • 'On se "deplace dans la source jusqu'a trouver <select ( qui est le debut de la _
  • combobox HTML )
  • Test = InStr(1, Analyze, "<select")
  • 'cboSettings contient les "num" caracteres apres select
  • cboSettings1 = Mid(Analyze, Test, num)
  • 'Apres on se deplace dans cboSettings pour trouver le nom de la combobox _
  • et on ajoute 6 qui correspnd au nombres de caracteres contenus dans _
  • ' name=" '
  • Test3 = InStr(1, cboSettings1, "name") + 6
  • 'Ici on lit le nom de la cbobox
  • cboSettings = Mid(cboSettings1, Test3, num)
  • 'La on cherche la derniere ' " ' qui indique la fin du nom de la cbobox
  • Test3 = InStr(1, cboSettings, Chr(34)) - 1
  • 'Et ensuite on enregistre sont nom
  • cboName = Left(cboSettings, Test3)
  • 'On l'affiche
  • lblCboName.Caption = cboName
  • 'Ensuite on se deplace jusqu'a la premiere balise option qui indique la premiere _
  • entree de la cbobox
  • Test = InStr(Test3, cboSettings, "<option")
  • 'On cherche ou la balise se ferme
  • Test = InStr(Test, cboSettings, ">")
  • 'On enregistre Test dans N pour pouvoir travailler avec
  • N = Test
  • Call Read
  • i = 0
  • 'Avec cette boucle on se deplace a chaque fois jusqu'a l'autre balise
  • '"i" sert d'une sorte d'index pour la comboBox
  • Do Until i = 100000
  • Test2 = InStr((N - 2), cboSettings, "</option")
  • 'S'il n'y a plus de balise on enleve la derniere entree de la combobox _
  • qui est vide a cause de la boucle , et on sort de la sub .Sinon on sort _
  • de la balise "</option>" en ajoutant 9 et on va a l'autre "<option>" _
  • Et on appel Read() pour enregistrer la valeure
  • If Test2 <> 0 Then Test2 = Test2 + 9 Else cboStolen.RemoveItem i: Exit Sub
  • Test = InStr(Test2, cboSettings, ">")
  • N = Test
  • Call Read
  • i = i + 1
  • Loop
  • End Sub
  • Private Sub Read()
  • 'Name semble etre utilise par vb donc se sera Nam et on la vide
  • Nam = ""
  • 'On recommence jusqu'a l'ouverture d'une balise
  • Do Until Char = "<"
  • 'N est defini en fonction de Test
  • N = N + 1
  • 'On lit l'entree caractere par caractere
  • Char = Mid(cboSettings, N, 1)
  • If Char <> "<" And Char <> Chr(10) And Char <> Chr(13) And Char <> Chr(8) And Char <> Chr(9) Then Nam = Nam & Char
  • Loop
  • 'On ajoute l'entree a la comboBox
  • If Nam <> "" Then cboStolen.AddItem Nam
  • End Sub
Dim Url As String
Dim Analyze As String
Dim Test3, num, N As Integer
Dim c As Long
Dim Test, cboSettings, cboName, Nam As String

Private Sub cmdTest_Click()
'Num est le nombre de caracteres qui vont etre lus avec Mid$
num = 10000
'On met qqchose dans Nam pour la boucle de la sub Read()
Nam = "something"
'On recup l'URL
Url = txtURL.Text
'On recupere la source
Analyze = Inet1.OpenURL(Url)
'On rearrange le code en supprimant les retours a la ligne les triple et doubles _
 espaces et sur en decolant les balises
Analyze = Replace(Analyze, Chr(10), "", 1, -1, 0)
Analyze = Replace(Analyze, Chr(13), "", 1, -1, 0)
Analyze = Replace(Analyze, Chr(11), "", 1, -1, 0)
Analyze = Replace(Analyze, Chr(12), "", 1, -1, 0)
Analyze = Replace(Analyze, Chr(9), "", 1, -1, 0)
Analyze = Replace(Analyze, Chr(8), "", 1, -1, 0)
Analyze = Replace(Analyze, "><", "> <", 1, -1, 0)
Analyze = Replace(Analyze, "   ", " ", 1, -1, 0)
Analyze = Replace(Analyze, "  ", " ", 1, -1, 0)
'On analyse la source
'On se "deplace dans la source jusqu'a trouver <select ( qui est le debut de la _
 combobox HTML )
Test = InStr(1, Analyze, "<select")
'cboSettings contient les "num" caracteres apres select
cboSettings1 = Mid(Analyze, Test, num)
'Apres on se deplace dans cboSettings pour trouver le nom de la combobox _
 et on ajoute 6 qui correspnd au nombres de caracteres contenus dans _
 ' name=" '
Test3 = InStr(1, cboSettings1, "name") + 6
'Ici on lit le nom de la cbobox
cboSettings = Mid(cboSettings1, Test3, num)
'La on cherche la derniere ' " ' qui indique la fin du nom de la cbobox
Test3 = InStr(1, cboSettings, Chr(34)) - 1
'Et ensuite on enregistre sont nom
cboName = Left(cboSettings, Test3)
'On l'affiche
lblCboName.Caption = cboName
'Ensuite on se deplace jusqu'a la premiere balise option qui indique la premiere _
 entree de la cbobox
Test = InStr(Test3, cboSettings, "<option")
'On cherche ou la balise se ferme
Test = InStr(Test, cboSettings, ">")
'On enregistre Test dans N pour pouvoir travailler avec
N = Test
Call Read
i = 0
'Avec cette boucle on se deplace a chaque fois jusqu'a l'autre balise
'"i" sert d'une sorte d'index pour la comboBox
Do Until i = 100000
    Test2 = InStr((N - 2), cboSettings, "</option")
    'S'il n'y a plus de balise on enleve la derniere entree de la combobox _
     qui est vide a cause de la boucle , et on sort de la sub .Sinon on sort _
     de la balise "</option>" en ajoutant 9 et on va a l'autre "<option>" _
     Et on appel Read() pour enregistrer la valeure
    If Test2 <> 0 Then Test2 = Test2 + 9 Else cboStolen.RemoveItem i: Exit Sub
    Test = InStr(Test2, cboSettings, ">")
    N = Test
    Call Read
    i = i + 1
Loop
End Sub

Private Sub Read()
'Name semble etre utilise par vb donc se sera Nam et on la vide
Nam = ""
'On recommence jusqu'a l'ouverture d'une balise
Do Until Char = "<"
'N est defini en fonction de Test
N = N + 1
'On lit l'entree caractere par caractere
Char = Mid(cboSettings, N, 1)
If Char <> "<" And Char <> Chr(10) And Char <> Chr(13) And Char <> Chr(8) And Char <> Chr(9) Then Nam = Nam & Char
Loop
'On ajoute l'entree a la comboBox
If Nam <> "" Then cboStolen.AddItem Nam
End Sub

 Conclusion

Bon desoles d'avoir raconte ma vie au dessus :p
En plus concret , j'utilise Inet juste pour recupere la source de la page .
Certaine page ne sont pas lisible , j'ai pas trouve pourquoi ( par exemple www.download.com ).
Si vous voulait une page qui fonctionne bien et une utile c'est celle de UPS :
http://www.ups.com , avec la liste de tres tres nombreux pays .
Enfin , je fais mes etudes aux etats unis , donc desoles si quelques variables on des noms anglais , et surtout si je ne met pas d'accents ( claviers qwerty ) .

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources de la même categorie

Source avec Zip Source avec une capture GESTIONNAIRE DE TÉLÉCHARGEMENT, AVEC REPRISE ET MULTITHREADI... par Madx23
Source avec Zip Source avec une capture CONVERTIR DU TEXTE RTF EN CODE HTML ET VICE-VERSA par vicosta
Source avec Zip Source avec une capture DICTIONAIRE TEXT/AUDIO/VISUELLE ANGLAIS AVEC WEBBROWSER CONT... par majnounmajda
Source avec Zip Source .NET (Dotnet) NSLOOKUP EN VB.NET OU COMMENT FAIRE UNE REQÛETE DNS EN PRÉCI... par ShareVB
Source avec Zip Source avec une capture MINI SEVEUR HTTP AVEC INTERFACE GRAPHIQUE ET IMPLÉMENTATIONS... par lemout

Commentaires et avis

Commentaire de Dalamar le 10/12/2003 03:11:03

fort

Commentaire de IceSpiN le 17/12/2003 02:15:43

Aller , aller , siouplait des ptis commentaires pour me dire si je suis sur la bone voie ????

Commentaire de CPASNET le 26/01/2004 15:38:31

Vraiment sympa cette source!!

Il manque juste une petite sauvegarde de la liste dans un fichier, sinon
c'est impressionnant

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales