FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Objet WebBrowser. Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Objet WebBrowser. Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Objet WebBrowser. Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Objet WebBrowser. Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Objet WebBrowser. Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Objet WebBrowser. Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Objet WebBrowser. Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Objet WebBrowser. Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Objet WebBrowser. Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Objet WebBrowser. Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Objet WebBrowser. Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Objet WebBrowser. Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Objet WebBrowser. Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Objet WebBrowser. Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Objet WebBrowser. Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le Deal du moment : -28%
Précommande : Smartphone Google Pixel 8a 5G ...
Voir le deal
389 €

 

 Objet WebBrowser.

Aller en bas 
2 participants
AuteurMessage
Pedro

Pedro


Nombre de messages : 1561
Date d'inscription : 19/01/2014

Objet WebBrowser. Empty
MessageSujet: Objet WebBrowser.   Objet WebBrowser. EmptyMer 12 Aoû 2020 - 15:31

Bonjour.

@Klaus.

Je dois télécharger des milliers de pages web, grâce à l'objet WB et cela par l'intermédiaire d'un memo, comme le montre une partie de mon code ci-dessous.
Le problème est le suivant: le temps est très long, 1.000 traductions de mots en 72 minutes environ !!
Les pauses de 0,6 sec sont obligatoires, sinon un plantage se produit de façon aléatoire.

N'y aurait-il pas moyen de récupérer la partie visible dans un  fichier, temporaire ou autre, ce qui réduirait la durée de traitement de façon drastique ?

Merci de la suite.

Code:
        res%=dll_call2("WB_Url",wb%,adr(url$)):wait 600
         res%=dll_call2("WB_CopyToMemo",wb%,handle(1)):wait 600

         if trim$(item_read$(1,1))="" then wait 1000:res%=dll_call2("WB_CopyToMemo",wb%,handle(1)):wait 1000

         a$=item_read$(1,1)
         if instr(lower$(a$),"nous ne pouvons")>0
            message "Coupure Internet !"
            terminate
         end_if
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Objet WebBrowser. Empty
MessageSujet: Re: Objet WebBrowser.   Objet WebBrowser. EmptyMer 12 Aoû 2020 - 15:44

???????????

La syntaxe des appels est bonne, c'est tout ce que je puis dire...

Si tu as un problème, poste en code complet, exécutable (sous forme d'un extrait de ton programme qui soit exploitable tel quel, avec les variables et tout le toutim), ainsi qu'une descriptiondu problème (sous forme textuelle, captures d'écran, URL, ...).
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1561
Date d'inscription : 19/01/2014

Objet WebBrowser. Empty
MessageSujet: Objet WebBrowser.   Objet WebBrowser. EmptyMer 12 Aoû 2020 - 15:47

Bonjour.

Voici donc le source complet de mon programme:

Code:
dim a$, a_partir_de%, c$, crlf$, d$, debut$, e$, element$, f$, fic$, jusque%, lettre$, lien$, nom$, nombre%, p$, url$, i%, k%, res%, tab1$(19), tab2$(19), te$, wb%, zz%

' Fait: b,f,g,h,i,j,k,l,m,n,o,q,s,t,u,v,w,x,y,z.
' 1000 mots en 72 min.
' a: de 1 à 2000, sur 24.737.
' c: de 1 à 2000, sur 34.550.
' d: de 1 à 4000, sur 41.498.
' e: de 1 à 6000, sur 35.527.
' p: de 1 à 2000, sur 27.288.
' r: de 1 à 12000, sur 36.851.
' 14.764 mots traduits.
lettre$="d"
nombre%=41498
a_partir_de%=4001
jusque%=15000

crlf$=chr$(10)+chr$(13)

lien$="https://dictionary.cambridge.org/dictionary/french-english/"

dll_on "kgf"

maximize 0

memo 1
left 1,550:width 1,500:height 1,700
bar_both 1
font_size 1,12:font_bold 1:font_color 1,0,0,255

dlist 2:dlist 3

fic$="c:\cambridge\dico_cambridge.txt"
if file_exists(fic$)=1 then file_load 3,fic$

wb%=dll_call1("WBCreate",handle(0))
res%=dll_call4("WBLocate",0,0,500,700)

c$="Ã:copyright: ê Ã:registered: è Å“ ç É ï â ä û ô ß ö ü Ãœ Ö ù à "
d$="é  ê  î  è  oe ç  é  ï  â  ä  û  ô  ß  ö  ü  Ü  Ö  ù  à "

debut$=time$

for k%=1 to 19
    tab1$(k%)=mid$(c$,k%*3-2,2)
    tab2$(k%)=trim$(mid$(d$,k%*3-2,2))
next k%

d$="c:\larousse\larousse"+lettre$
dir_change d$

nom$=file_find_first$

k%=0
while nom$<>"_"
      k%=k%+1
      nom$=file_find_next$
      
      if k%>=a_partir_de% and k%<=jusque% and left$(nom$,1)<>"."
         if right$(nom$,4)=".htm" then nom$=left$(nom$,len(nom$)-4)
         caption 0,str$(k%)+"/"+str$(jusque%)+": "+nom$+", début à "+debut$+", il est "+time$+"."

         url$=lien$+nom$
         res%=dll_call2("WB_Url",wb%,adr(url$)):wait 600
         res%=dll_call2("WB_CopyToMemo",wb%,handle(1)):wait 600

         if trim$(item_read$(1,1))="" then wait 1000:res%=dll_call2("WB_CopyToMemo",wb%,handle(1)):wait 1000

         a$=item_read$(1,1)
         if instr(lower$(a$),"nous ne pouvons")>0
            message "Coupure Internet !"
            terminate
         end_if

         for i%=1 to count(1)
             a$=item_read$(1,i%)
             if a$<>"" then corriger_ligne()
             item_add 2,a$
         next i%

         ' Le mot comporte-t-il des traductions ?
         element$="Translation of ":chercher()
         if res%>0
            for i%=res%-1 to 1 step -1:item_delete 2,i%:next i%

            for i%=1 to count(2)
                a$=trim$(item_read$(2,i%))
                if instr(a$,"GLOBAL French-English Dictionary")+instr(a$,"PASSWORD French-English Dictionary")>0 then exit_for
                ' Translation of xénophobie – French–English dictionary
                zz%=instr(a$,"Translation of "):if zz%>0 then a$=trim$(left$(a$,instr(a$,"–")-1))
                if a$<>"" then item_add 3,a$
            next i%
            item_add 3,"*"
            file_save 3,fic$
         end_if

         clear 1:clear 2
      end_if
end_while

i%=0
for k%=1 to count(3)
    a$=item_read$(3,k%)
    if instr(a$,"Translation of ")>0 then i%=i%+1
next k%

' 867 mots à l'heure.
message "Début: "+debut$+", fin: "+time$+crlf$+crlf$+"Nombre de mots traduits: "+str$(i%)+"."
terminate
end

sub corriger_ligne()
    for zz%=1 to 19
        e$=tab1$(zz%):f$=tab2$(zz%)
        res%=dll_call5("ReplaceStringInString",adr(a$),adr(e$),adr(f$),adr(a$),0)
    next zz%

    e$="'":f$="'":res%=dll_call5("ReplaceStringInString",adr(a$),adr(e$),adr(f$),adr(a$),0)
    e$="à":f$="à":res%=dll_call5("ReplaceStringInString",adr(a$),adr(e$),adr(f$),adr(a$),0)
end_sub

sub chercher()
    te$=string$(255," ")
    res%=abs(dll_call3("SearchStringList",object_internal(2),adr(element$),adr(te$)))
end_sub

Pour info, les noms des fichiers recherchés correspondent en fait aux mots de la langue française, comme on peut les trouver ici:

http://www.pallier.org/liste-de-mots-francais.html
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Objet WebBrowser. Empty
MessageSujet: Re: Objet WebBrowser.   Objet WebBrowser. EmptyMer 12 Aoû 2020 - 16:04

Ecoute, fais un extrait du code, juste avec les accès au WB, sans toute cette gestion de fichiers Juste une hnnête URL URL, la gestion de l'URL pr WebBrowser et une capture de ce que tu constates.

J'ai tenté de déactiver les histoires de fichiers et dossiers, mais rien ne se passe.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Pedro

Pedro


Nombre de messages : 1561
Date d'inscription : 19/01/2014

Objet WebBrowser. Empty
MessageSujet: Objet WebBrowser.   Objet WebBrowser. EmptyMer 12 Aoû 2020 - 16:16

Voici donc une version du code corrigé:

Code:
dim a$, a_partir_de%, c$, crlf$, d$, debut$, e$, element$, f$, fic$, jusque%, lettre$, lien$, nom$, nombre%, p$, url$, i%, k%, n%, res%, tab1$(19), tab2$(19), te$, wb%, zz%

crlf$=chr$(10)+chr$(13)

lien$="https://dictionary.cambridge.org/dictionary/french-english/"

dll_on "kgf"

maximize 0

memo 1
left 1,550:width 1,500:height 1,700
bar_both 1
font_size 1,12:font_bold 1:font_color 1,0,0,255

dlist 2:dlist 3

dlist 4:file_load 4,"mots.txt"

fic$="dico_cambridge.txt"
if file_exists(fic$)=1 then file_load 3,fic$

wb%=dll_call1("WBCreate",handle(0))
res%=dll_call4("WBLocate",0,0,500,700)

c$="Ã:copyright: ê Ã:registered: è Å“ ç É ï â ä û ô ß ö ü Ãœ Ö ù à "
d$="é  ê  î  è  oe ç  é  ï  â  ä  û  ô  ß  ö  ü  Ü  Ö  ù  à "

debut$=time$

for k%=1 to 19
    tab1$(k%)=mid$(c$,k%*3-2,2)
    tab2$(k%)=trim$(mid$(d$,k%*3-2,2))
next k%

for n%=1 to count(4)
      nom$=item_read$(4,n%)

         if right$(nom$,4)=".htm" then nom$=left$(nom$,len(nom$)-4)
         caption 0,str$(n%)+"/"+str$(count(4))

         url$=lien$+nom$
         res%=dll_call2("WB_Url",wb%,adr(url$)):wait 600
         res%=dll_call2("WB_CopyToMemo",wb%,handle(1)):wait 600

         if trim$(item_read$(1,1))="" then wait 1000:res%=dll_call2("WB_CopyToMemo",wb%,handle(1)):wait 1000

         a$=item_read$(1,1)
         if instr(lower$(a$),"nous ne pouvons")>0
            message "Coupure Internet !"
            terminate
         end_if

         for i%=1 to count(1)
             a$=item_read$(1,i%)
             if a$<>"" then corriger_ligne()
             item_add 2,a$
         next i%

         ' Le mot comporte-t-il des traductions ?
         element$="Translation of ":chercher()
         if res%>0
            for i%=res%-1 to 1 step -1:item_delete 2,i%:next i%

            for i%=1 to count(2)
                a$=trim$(item_read$(2,i%))
                if instr(a$,"GLOBAL French-English Dictionary")+instr(a$,"PASSWORD French-English Dictionary")>0 then exit_for
                ' Translation of xénophobie – French–English dictionary
                zz%=instr(a$,"Translation of "):if zz%>0 then a$=trim$(left$(a$,instr(a$,"–")-1))
                if a$<>"" then item_add 3,a$
            next i%
            item_add 3,"*"
            file_save 3,fic$
         end_if

         clear 1:clear 2
next n%

i%=0
for k%=1 to count(3)
    a$=item_read$(3,k%)
    if instr(a$,"Translation of ")>0 then i%=i%+1
next k%

message "Début: "+debut$+", fin: "+time$+crlf$+crlf$+"Nombre de mots traduits: "+str$(i%)+"."
terminate
end

sub corriger_ligne()
    for zz%=1 to 19
        e$=tab1$(zz%):f$=tab2$(zz%)
        res%=dll_call5("ReplaceStringInString",adr(a$),adr(e$),adr(f$),adr(a$),0)
    next zz%

    e$="'":f$="'":res%=dll_call5("ReplaceStringInString",adr(a$),adr(e$),adr(f$),adr(a$),0)
    e$="à":f$="à":res%=dll_call5("ReplaceStringInString",adr(a$),adr(e$),adr(f$),adr(a$),0)
end_sub

sub chercher()
    te$=string$(255," ")
    res%=abs(dll_call3("SearchStringList",object_internal(2),adr(element$),adr(te$)))
end_sub

Quant au fichier mots.txt, tu peux récupérer une partie des mots du site ici (par exemple les 200 premiers mots), puis enregistrer la sélection dans ce fichier mots.txt:
http://www.pallier.org/liste-de-mots-francais.html

Merci de la suite.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12301
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

Objet WebBrowser. Empty
MessageSujet: Re: Objet WebBrowser.   Objet WebBrowser. EmptyMer 12 Aoû 2020 - 16:39

Je constate que pour chaque mot dans la liste, le programme va chercher une page sur le site choisie (toujours l même,d'ailleurs... je ne vois nulle part apparaître le mot choisi). Puis, dans le mémo de droite,, il y a le contenu de la page qui s'affiche sous forme de texte. Ca semble marcher, bien que j'aie l'impression que l'URL n'est pas correcte puisque la page chargée est neutre, pas liée u mot choisi.

C'est après que ça se gâte. Je ne comprends pas ceci:
Code:
        if res%>0
            for i%=res%-1 to 1 step -1:item_delete 2,i%:next i%

            for i%=1 to count(2)

Si la DLIST 2 contient des lignes, tu commences par les supprimer, puis tu boucles sue ces lignes et, forcément, il y a un plantage par "index out of bounds" dans le second FOR... Normal, non ?

Je pense que tu devrais revoir la logique de ton programme.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Contenu sponsorisé





Objet WebBrowser. Empty
MessageSujet: Re: Objet WebBrowser.   Objet WebBrowser. Empty

Revenir en haut Aller en bas
 
Objet WebBrowser.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Objet WebBrowser
» Objet DTP.
» WebBrowser sur une form Panoramic !
» Détermine si oui ou non un objet est PARENT d'un autre objet
» Version instantanée du 17 juillet 2011: PANORAMIC V 0.9.22i1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: