Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 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 | | Calendrier |
|
|
| V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function | |
| | |
Auteur | Message |
---|
Invité Invité
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Mar 1 Juil 2014 - 22:51 | |
| D'accord. Le principal est pour moi de pouvoir reconnaitre les lignes. Actuellement avec tables, cela semble convenir, en attendant de voir le reste. Je pense que pour les masques tu as une idée derrière la tête, mais je ne sais pas quoi faire avec. De toute façon, je vais bientôt faire le programme pour faire une saisie selon mes besoins, et je verrais ensuite si il faut aller plus loin. En tout cas en mettant TR on peut voir les débuts de lignes. Je reviens là dessus: - Citation :
- Tu as mis deux marqueurs: a et b
a=[Mot de passe perdu ?] b=[Login : ] a et b , ce n'est pas moi qui les ai mis, c'est une copie du memo 3, et en regardant ces deux lignes, je ne vois pas pourquoi il y a "a" pour la première ligne, et "b" pour la seconde. C'est toi qui a mis ces repères, moi je ne fais que lire. Je ne parle pas du code html. (récupéré avec turfomania). J'ai mets le programme revu, car je le modifie à chaque fois. C'est plus lisible à mon sens car l'écran browser est trop petit pour comparer. - Code:
-
im url$, res%, WB%, hnd%, car$ label lancer, tables, elements
' url$ = "http://panoramic.1fr1.net/" ' url$ = "http://www.klaus49.5gbfree.com/klauspanoramic/index.html" ' url$ = "http://www.pcastuces.com/pratique/bureautique/openoffice/openoffice.htm" ' url$ = "file://C:/Users/klausgunther/Downloads/table.html" url$ = "http://www.turfomania.fr/partants-programmes/detail-reunion.php?idreunion=28815" ' url$ = "http://www.turfomania.fr/fiches/chevaux/tonnerre-d-avril.html?type=T" ' url$ = "http://television.telerama.fr/tele/grille.php"
full_space 0
dll_on "h:\KGF.dll"
memo 2 : top 2,360 : left 2,10 : width 2,400 : height 2,300 :bar_both 2 ' ============ main_menu 9 sub_menu 10 :parent 10,9: caption 10,"Lancer..." :on_click 10,lancer sub_menu 11 :parent 11,9: caption 11,"Tables" : on_click 11,tables ' sub_menu 12 :parent 12,9: caption 12,"Suite" :' on_click 12,suite sub_menu 13 :parent 13,9: caption 13,"Eléments" :on_click 13,elements
' ============ memo 3 : top 3,360 : left 3,450 : width 3,500 : height 3,400 :bar_both 3
memo 4 :hide 4 : width 4,300 : bar_both 4
combo 21 : top 21,310 :left 21,550 : width 21,90 item_add 21,"Lier par AND" item_add 21,"Lier par OR" text 21,item_read$(21,1)
combo 22 : top 22,310 :left 22,650 : width 22,110 item_add 22,"Longueur mini = 0" item_add 22,"Longueur mini = 1" item_add 22,"Longueur mini = 2" item_add 22,"Longueur mini = 3" text 22,item_read$(22,1)
edit 23 : top 23,310 : left 23,770 : width 23,300 text 23,"Exclure: [-!-script-option-]"
WB% = dll_call1("WB_Create",handle(0)) res% = dll_call5("WB_Locate",WB%,10,10,width(0)-50,300) hnd% = dll_call2("WB_Function",WB%,8) res% = dll_call2("WB_Url",WB%,adr(url$))
end
lancer: res% = dll_call2("WB_Function",WB%,9) : ' équivalent de ctrl/A res% = dll_call2("WB_Function",WB%,10) : ' équivalent de ctrl/C clipboard_paste 2 res% = DLL_call3("GetHtmlFromURL",adr(url$),handle(2),1) : ' code HTML intérieur return
tables: res% = dll_call3("WB_GetInfo",WB%,1,handle(3)) return
elements: clear 4 item_add 4,text$(21) item_add 4,text$(22) item_add 4,text$(23) res% = dll_call3("WB_GetInfo",WB%,2,handle(4)) : ' charger les paramètres res% = dll_call3("WB_GetInfo",WB%,3,handle(3)) : ' récupérer les éléments filtrés return |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Mer 2 Juil 2014 - 0:22 | |
| Pour les a et b, ce sont des noms d'éléments HTML, tels qu'ils se trouvent dans la page. Exemple: - Code:
-
<TBODY> <TR> <TD><B>Login : </B></TD> <TD><INPUT size=25 name=login></TD></TR> <TR> génère la liste suivante: - Code:
-
---------tbody ----------tr -----------td ------------b=[Login : ] -----------td ----------tr Comme tu vois, la liste reflète EXACTEMENT la structure HTML. Les élément qui ont des données, montrent ces données entre crochets. Et les tirets indiquent le niveau de l'arborescence. C'est très simple. Ce n'est pas moi qui invente a et b, ce sont des balises HTML. Je te suggère de rajouter en ligne 26: - Code:
-
font_name 3,"Courier" L'affichage sera plus clair, par rapport aux indentations. Ta modification est judicieuse, et je la garde (avec cette ligne 26) pour mes essais et démos à venir. Effectivement, je vais pousser plus loin les capacités du filtre. Cela fera l'objet de la prochaine version, demain. EDIT J'ai apporté une petite modif à ta version du programme, et c'est celle-ci que je garderai: - Code:
-
dim url$, res%, WB%, hnd%, car$ label lancer, tables, elements, url
full_space 0
dll_on "KGF.dll"
combo 1 : top 1,310 : left 1,100 : width 1,300 item_add 1,"http://panoramic.1fr1.net/" item_add 1,"http://www.klaus49.5gbfree.com/klauspanoramic/index.html" item_add 1,"http://www.pcastuces.com/pratique/bureautique/openoffice/openoffice.htm" item_add 1,"file://C:/Users/klausgunther/Downloads/table.html" item_add 1,"http://www.turfomania.fr/partants-programmes/detail-reunion.php?idreunion=28815" item_add 1,"http://www.turfomania.fr/fiches/chevaux/tonnerre-d-avril.html?type=T" item_add 1,"http://television.telerama.fr/tele/grille.php" text 1,item_read$(1,count(1)) on_click 1,url url$ = text$(1)
memo 2 : top 2,360 : left 2,10 : width 2,400 : height 2,300 :bar_both 2 ' ============ main_menu 9 sub_menu 10 :parent 10,9: caption 10,"Lancer..." :on_click 10,lancer sub_menu 11 :parent 11,9: caption 11,"Tables" : on_click 11,tables ' sub_menu 12 :parent 12,9: caption 12,"Suite" :' on_click 12,suite sub_menu 13 :parent 13,9: caption 13,"Eléments" :on_click 13,elements
' ============ memo 3 : top 3,360 : left 3,450 : width 3,500 : height 3,400 :bar_both 3 font_name 3,"Courier" memo 4 :hide 4 : width 4,300 : bar_both 4
combo 21 : top 21,310 :left 21,550 : width 21,90 item_add 21,"Lier par AND" item_add 21,"Lier par OR" text 21,item_read$(21,1)
combo 22 : top 22,310 :left 22,650 : width 22,110 item_add 22,"Longueur mini = 0" item_add 22,"Longueur mini = 1" item_add 22,"Longueur mini = 2" item_add 22,"Longueur mini = 3" text 22,item_read$(22,1)
edit 23 : top 23,310 : left 23,770 : width 23,300 text 23,"Exclure: [-!-script-option-]"
WB% = dll_call1("WB_Create",handle(0)) res% = dll_call5("WB_Locate",WB%,10,10,width(0)-50,300) hnd% = dll_call2("WB_Function",WB%,8) res% = dll_call2("WB_Url",WB%,adr(url$))
end
url: url$ = text$(1) res% = dll_call2("WB_Url",WB%,adr(url$)) return
lancer: res% = dll_call2("WB_Function",WB%,9) : ' équivalent de ctrl/A res% = dll_call2("WB_Function",WB%,10) : ' équivalent de ctrl/C clipboard_paste 2 res% = DLL_call3("GetHtmlFromURL",adr(url$),handle(2),1) : ' code HTML intérieur return
tables: res% = dll_call3("WB_GetInfo",WB%,1,handle(3)) return
elements: clear 4 item_add 4,text$(21) item_add 4,text$(22) item_add 4,text$(23) res% = dll_call3("WB_GetInfo",WB%,2,handle(4)) : ' charger les paramètres res% = dll_call3("WB_GetInfo",WB%,3,handle(3)) : ' récupérer les éléments filtrés return J'y ai ajouté une combo pour mettre toutes les URL testées, avec par défaut l'activation de la dernière URL de la liste. Un clic sur une des URLs de la liste la chargera dans le browser. C'est plus commode comme ça, pour passer d'une URL à l'autre. D'ailleurs, une remarque: pourquoi tu essaies la fonction "Elements" sur la page Turfmania, alors que le résultat est complet avec la fonction "Table" ? La fonction "Eléments" servirait plutôt pour une page du type Télérama, non ? | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Mer 2 Juil 2014 - 15:00 | |
| Recharge la DLL (2/7/2014 14:49) et essaie cette version du programme de démo: - Code:
-
dim url$, res%, WB%, hnd%, car$ label lancer, tables, elements, url
full_space 0
dll_on "KGF.dll"
combo 1 : top 1,310 : left 1,100 : width 1,300 item_add 1,"http://panoramic.1fr1.net/" item_add 1,"http://www.klaus49.5gbfree.com/klauspanoramic/index.html" item_add 1,"http://www.pcastuces.com/pratique/bureautique/openoffice/openoffice.htm" item_add 1,"file://C:/Users/klausgunther/Downloads/table.html" item_add 1,"http://www.turfomania.fr/partants-programmes/detail-reunion.php?idreunion=28815" item_add 1,"http://www.turfomania.fr/fiches/chevaux/tonnerre-d-avril.html?type=T" item_add 1,"http://television.telerama.fr/tele/grille.php" text 1,item_read$(1,count(1)) on_click 1,url url$ = text$(1)
memo 2 : top 2,360 : left 2,10 : width 2,400 : height 2,300 :bar_both 2 ' ============ main_menu 9 sub_menu 10 :parent 10,9: caption 10,"Lancer..." :on_click 10,lancer sub_menu 11 :parent 11,9: caption 11,"Tables" : on_click 11,tables ' sub_menu 12 :parent 12,9: caption 12,"Suite" :' on_click 12,suite sub_menu 13 :parent 13,9: caption 13,"Eléments" :on_click 13,elements
' ============ memo 3 : top 3,360 : left 3,450 : width 3,500 : height 3,400 :bar_both 3 font_name 3,"Courier" memo 4 :hide 4 : width 4,300 : bar_both 4
combo 21 : top 21,310 :left 21,450 : width 21,90 item_add 21,"Lier par AND" item_add 21,"Lier par OR" text 21,item_read$(21,1)
combo 22 : top 22,310 :left 22,550 : width 22,110 item_add 22,"Longueur mini = 0" item_add 22,"Longueur mini = 1" item_add 22,"Longueur mini = 2" item_add 22,"Longueur mini = 3" text 22,item_read$(22,1)
combo 23 : top 23,310 : left 23,700 : width 23,60 item_add 23,"Exclure" item_add 23,"Inclure" text 23,item_read$(23,1)
edit 24 : top 24,310 : left 24,770 : width 24,400 text 24,"[-!-script-option-]"
WB% = dll_call1("WB_Create",handle(0)) res% = dll_call5("WB_Locate",WB%,10,10,width(0)-50,300) hnd% = dll_call2("WB_Function",WB%,8) res% = dll_call2("WB_Url",WB%,adr(url$))
end
url: url$ = text$(1) res% = dll_call2("WB_Url",WB%,adr(url$)) return
lancer: res% = dll_call2("WB_Function",WB%,9) : ' équivalent de ctrl/A res% = dll_call2("WB_Function",WB%,10) : ' équivalent de ctrl/C clipboard_paste 2 res% = DLL_call3("GetHtmlFromURL",adr(url$),handle(2),1) : ' code HTML intérieur return
tables: res% = dll_call3("WB_GetInfo",WB%,1,handle(3)) return
elements: clear 4 item_add 4,text$(21) item_add 4,text$(22) item_add 4,text$(23) item_add 4,text$(24) res% = dll_call3("WB_GetInfo",WB%,2,handle(4)) : ' charger les paramètres res% = dll_call3("WB_GetInfo",WB%,3,handle(3)) : ' récupérer les éléments filtrés return J'ai refait la partie "filtre" dans la DLL. Et j'ai modifié la gestion de la liste des tags HTML: maintenant, on peut choisir d'excluire (par défaut) ou inclure les tags qui sont dans la liste à droite. Ainsi, on peut extraire,disons seulement les tags a, ou seulement les tags div, ou alors tout sauf les tags script et ! (commentaire). La liste des tags à prendre en compte doit être déposée dans l'edit qui est à droite de la combo exclure/inclure. Les tags doivent être séparés par des "-" (moins). | |
| | | Invité Invité
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Mer 2 Juil 2014 - 19:33 | |
| Il y a quelque chose qui ne va pas. Panoramic se bloque avant qu'on ait cliqué sur quoi que ce soit. Dans le gestionnaire de tâche, panoramic .exe fait 70204 k et une erreur de page: 30742. - Klaus a écrit:
- D'ailleurs, une remarque: pourquoi tu essaies la fonction "Elements" sur la page Turfmania, alors que le résultat est complet avec la fonction "Table" ? La fonction "Eléments" servirait plutôt pour une page du type Télérama, non ?
Tout simplement que tu me demandes de recharger, et je pense que tu attends des commentaires. Une question: pour les filtres, les accolades se placent pour quoi? a séparer certains filtres? CA manque d'explications. |
| | | Invité Invité
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Mer 2 Juil 2014 - 21:31 | |
| Je ne sais pas pourquoi, mais ça ne bloque plus. EDIT: C'est avec l'adresse de Télérama que cela bloque. J'avais changé le text 1 pour une autre adresse, et j'ai du partir entre temps. En remettant la dernière adresse, cela rebloque.
Dernière édition par cosmos70 le Jeu 3 Juil 2014 - 5:50, édité 1 fois |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Jeu 3 Juil 2014 - 1:54 | |
| Bizarre. Je n'ai pas de blocage, quelque soit l'adresse. Mais, en effet, il faut quelque fois attendre un peu que la page soit complètement chargée, et quelque fois, le symbole d'attente de Windows s'affiche. Si l'on attend jusqu'au chargement complet, il n'y a pas de problème.
Dans le filtre, les crochets n'ont aucune importance. Seuls comptent les tirets "-" qui doivent se trouver entre les mots-clé et également devant le premier mot-clé et derrière le dernier. | |
| | | Invité Invité
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Jeu 3 Juil 2014 - 5:59 | |
| Bonjour. Oui cela doit-être cela. La fonction elements est très longue à s'exécuter, et des fois j'appuyais plusieurs fois et aussi sur table.
J'ai ajouté ceci: elements: color 0,95,95,250 clear 4 item_add 4,text$(21) item_add 4,text$(22) item_add 4,text$(23) item_add 4,text$(24) res% = dll_call3("WB_GetInfo",WB%,2,handle(4)) : ' charger les paramètres res% = dll_call3("WB_GetInfo",WB%,3,handle(3)) : ' récupérer les éléments filtrés color 0,230,242,222 return
et en haut: color 0,230,242,222
Le fait de se servir de menu à la place des boutons, c'est pratique, mais on ne voit pas le clic lorsque c'est dans le parent de main_menu.
Ainsi lorsque la couleur change, il faut attendre le retour de la couleur de départ pour recliquer. Cela aurait pu être aussi inactive 0 et active 0 , vu que tant que la dll n''a pas terminée, on a pas la main. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Jeu 3 Juil 2014 - 19:53 | |
| J'ai modifié la détection de la fin de chargement d'une page. En effet, il y avait un problème si la page contenait des iFrame. Recharge la DLL et essaie cette version du programme de démo: - Code:
-
dim url$, res%, WB%, hnd%, car$ label lancer, tables, elements, url
full_space 0 : inactive 0
dll_on "KGF.dll"
combo 1 : top 1,310 : left 1,100 : width 1,300 item_add 1,"http://panoramic.1fr1.net/" item_add 1,"http://www.klaus49.5gbfree.com/klauspanoramic/index.html" item_add 1,"http://www.pcastuces.com/pratique/bureautique/openoffice/openoffice.htm" item_add 1,"file://C:/Users/klausgunther/Downloads/table.html" item_add 1,"http://www.turfomania.fr/partants-programmes/detail-reunion.php?idreunion=28815" item_add 1,"http://www.turfomania.fr/fiches/chevaux/tonnerre-d-avril.html?type=T" item_add 1,"http://television.telerama.fr/tele/grille.php" text 1,item_read$(1,count(1)) on_click 1,url url$ = text$(1)
memo 2 : top 2,360 : left 2,10 : width 2,400 : height 2,300 :bar_both 2 ' ============ main_menu 9 sub_menu 10 :parent 10,9: caption 10,"Lancer..." :on_click 10,lancer sub_menu 11 :parent 11,9: caption 11,"Tables" : on_click 11,tables ' sub_menu 12 :parent 12,9: caption 12,"Suite" :' on_click 12,suite sub_menu 13 :parent 13,9: caption 13,"Eléments" :on_click 13,elements
' ============ memo 3 : top 3,360 : left 3,450 : width 3,500 : height 3,400 :bar_both 3 font_name 3,"Courier" memo 4 :hide 4 : width 4,300 : bar_both 4
combo 21 : top 21,310 :left 21,450 : width 21,90 item_add 21,"Lier par AND" item_add 21,"Lier par OR" text 21,item_read$(21,1)
combo 22 : top 22,310 :left 22,550 : width 22,110 item_add 22,"Longueur mini = 0" item_add 22,"Longueur mini = 1" item_add 22,"Longueur mini = 2" item_add 22,"Longueur mini = 3" text 22,item_read$(22,1)
combo 23 : top 23,310 : left 23,700 : width 23,60 item_add 23,"Exclure" item_add 23,"Inclure" text 23,item_read$(23,1)
edit 24 : top 24,310 : left 24,770 : width 24,400 text 24,"[-!-script-option-]"
message "a1" WB% = dll_call1("WB_Create",handle(0)) message "a2" res% = dll_call5("WB_Locate",WB%,10,10,width(0)-50,300) message "a3" hnd% = dll_call2("WB_Function",WB%,8) message "a4" res% = dll_call2("WB_Url",WB%,adr(url$)) message "a5"
active 0
end
url: url$ = text$(1) res% = dll_call2("WB_Url",WB%,adr(url$)) return
lancer: res% = dll_call2("WB_Function",WB%,9) : ' équivalent de ctrl/A res% = dll_call2("WB_Function",WB%,10) : ' équivalent de ctrl/C clipboard_paste 2 res% = DLL_call3("GetHtmlFromURL",adr(url$),handle(2),1) : ' code HTML intérieur return
tables: res% = dll_call3("WB_GetInfo",WB%,1,handle(3)) return
elements: color 0,95,95,250 clear 4 item_add 4,text$(21) item_add 4,text$(22) item_add 4,text$(23) item_add 4,text$(24) res% = dll_call3("WB_GetInfo",WB%,2,handle(4)) : ' charger les paramètres res% = dll_call3("WB_GetInfo",WB%,3,handle(3)) : ' récupérer les éléments filtrés color 0,230,242,222 return | |
| | | Invité Invité
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Ven 4 Juil 2014 - 18:38 | |
| Je n'avais plus internet depuis hier après-midi. Je me suis baladé avec ma box pour en savoir plus, et finalement j'ai appris qu'il y avait des travaux sur la ligne, et c'est reparti depuis 1/2 heure.
Je regarderai ce soir la nouvelle version. |
| | | Invité Invité
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Sam 5 Juil 2014 - 0:28 | |
| J'ai téléchargé et fait un essai avec elements. J'avoue ne pas savoir de quoi il s'agit. Mais je me doute bien que tu avais un problème et essayé de le résoudre.
Moi j'utilise table. J'ai pas vu de changement. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function Sam 5 Juil 2014 - 0:42 | |
| Le changement se situe au niveau de la détection de la fin du chargement complet d'une page. Cela ne fait pas de différence pour une page simple, sans FRAME. Mais dès qu'il y a des FRAME, il y a un problème. En effet, chaque FRAME est considéré comme une page à part entière, et le signal interne que renvoie le WebBrowser pour signaler la fin du chargement d'une page est envoyé pour la fin du chargement de chaque FRAME ! Et c'est pourquoi la DLL considérait dans certains cas que la page est complète, alors que seul le premier FRAME était chargé. Conséquence: un blocage...
J'ai trouvé le moyen de déterminer si ce fameux signal concerne la fin du chargement de la page complète y compris tous les FRAME, ou seulement un FRAME individuel. Ce qui évite le blocage.
Accessoirement, j'ai réorganisé la DLL au niveau des fonctions WBxxx et WB_xxx, en intégrant à WBxxx tous les rajouts que j'ai faits pour les fonctions WB_xxx. Ce double jeu de fonctions est donc maintenant équivalent au niveau d'un seul WebBrowser. Mais ça, c'est de la cuisine moléculaire... | |
| | | Contenu sponsorisé
| Sujet: Re: V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function | |
| |
| | | | V3.10 du 26/06/2014 - codes 9 et 10 pour WB_function | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |