bonjour à tous, et avant toutes choses, bonne année !
voila 2 petits soucis avec un webBrowser qui charge une page html dans ma
form :
1 je souhaiterais pauser l'exécution du code de cette form, tant que la
page n'est pas complètement chargée, mais je ne sais pas trop comment
faire ?
une boucle avec :
Do While WebBorwser1.Busy
Sleep 1000
Loop
ne donnant pas les résultats escomptés
2 si la page web distante que je charge dans mon contrôle comporte une
erreur de script, comment faire pour bypasser le message d'erreur ? (objet
manquant, ou autres, dûs à un mauvais codage de la page ?
j'ai essayé de placer des On Error Resume Next, sans résultat
bonjour à tous, et avant toutes choses, bonne année !
voila 2 petits soucis avec un webBrowser qui charge une page html dans ma
form :
1 je souhaiterais pauser l'exécution du code de cette form, tant que la
page n'est pas complètement chargée, mais je ne sais pas trop comment
faire ?
une boucle avec :
Do While WebBorwser1.Busy
Sleep 1000
Loop
ne donnant pas les résultats escomptés
2 si la page web distante que je charge dans mon contrôle comporte une
erreur de script, comment faire pour bypasser le message d'erreur ? (objet
manquant, ou autres, dûs à un mauvais codage de la page ?
j'ai essayé de placer des On Error Resume Next, sans résultat
bonjour à tous, et avant toutes choses, bonne année !
voila 2 petits soucis avec un webBrowser qui charge une page html dans ma
form :
1 je souhaiterais pauser l'exécution du code de cette form, tant que la
page n'est pas complètement chargée, mais je ne sais pas trop comment
faire ?
une boucle avec :
Do While WebBorwser1.Busy
Sleep 1000
Loop
ne donnant pas les résultats escomptés
2 si la page web distante que je charge dans mon contrôle comporte une
erreur de script, comment faire pour bypasser le message d'erreur ? (objet
manquant, ou autres, dûs à un mauvais codage de la page ?
j'ai essayé de placer des On Error Resume Next, sans résultat
Hello Scraper,
Bonne année à toi aussi!
Tu peux utiliser l'évènement NavigateComplete2, qui se
déclenche quand la page est "presque" chargée...
Cf:
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/events/navigatecomplete2.asp
Tu peux aussi utiliser le changement de StatusText avec
WebBrowser1_StatusTextChange
Pas forcément satisfaisant, à voir selon ton usage...
Hello Scraper,
Bonne année à toi aussi!
Tu peux utiliser l'évènement NavigateComplete2, qui se
déclenche quand la page est "presque" chargée...
Cf:
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/events/navigatecomplete2.asp
Tu peux aussi utiliser le changement de StatusText avec
WebBrowser1_StatusTextChange
Pas forcément satisfaisant, à voir selon ton usage...
Hello Scraper,
Bonne année à toi aussi!
Tu peux utiliser l'évènement NavigateComplete2, qui se
déclenche quand la page est "presque" chargée...
Cf:
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/events/navigatecomplete2.asp
Tu peux aussi utiliser le changement de StatusText avec
WebBrowser1_StatusTextChange
Pas forcément satisfaisant, à voir selon ton usage...
Bonjour Jean-marc, dans le message
news:459bc36c$0$21498$
tu disais :
Hello Scraper,
Bonne année à toi aussi!
Tu peux utiliser l'évènement NavigateComplete2, qui se
déclenche quand la page est "presque" chargée...
Cf:
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/events/navigatecomplete2.asp
Tu peux aussi utiliser le changement de StatusText avec
WebBrowser1_StatusTextChange
Pas forcément satisfaisant, à voir selon ton usage...
merci de ta réponse !
ce qui est surprenant, c'est que, concernant ce problème d'erreur, cela ne
se produit pas si j'écris un script qui effectue la même tâche .... :(
alors je me suis inspiré de ce code :
Dim Web As SHDocVw.InternetExplorer
Set Web = New SHDocVw.InternetExplorer
Web.Visible = True
Web.Navigate (http://www.google.be)
que j'ai inséré dans mon projet d'exe ....
en y insérant également la boucle que j'écrivais ci dessus, et avec une
tempo, ça le fait ....
de toutes façons, c'est pas grave, ça doit rester en local, alors pourvu
que ça fonctionne chez moi :-D
maintenant, pour que ça aille bien, me reste une dernière (peut être ....
lol question :
quelle méthode puis je utiliser pour que mon programme se mette en
"veille", en consommant le moins de ressources possible, et se "réveille"
toutes les heures ?
je pensais utiliser GetTickCount() couplé à un timer, mais je doute de la
fiabilité du timer ?
et je crains d'utiliser une boucle ????!
Bonjour Jean-marc, dans le message
news:459bc36c$0$21498$ba620e4c@news.skynet.be
tu disais :
Hello Scraper,
Bonne année à toi aussi!
Tu peux utiliser l'évènement NavigateComplete2, qui se
déclenche quand la page est "presque" chargée...
Cf:
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/events/navigatecomplete2.asp
Tu peux aussi utiliser le changement de StatusText avec
WebBrowser1_StatusTextChange
Pas forcément satisfaisant, à voir selon ton usage...
merci de ta réponse !
ce qui est surprenant, c'est que, concernant ce problème d'erreur, cela ne
se produit pas si j'écris un script qui effectue la même tâche .... :(
alors je me suis inspiré de ce code :
Dim Web As SHDocVw.InternetExplorer
Set Web = New SHDocVw.InternetExplorer
Web.Visible = True
Web.Navigate (http://www.google.be)
que j'ai inséré dans mon projet d'exe ....
en y insérant également la boucle que j'écrivais ci dessus, et avec une
tempo, ça le fait ....
de toutes façons, c'est pas grave, ça doit rester en local, alors pourvu
que ça fonctionne chez moi :-D
maintenant, pour que ça aille bien, me reste une dernière (peut être ....
lol question :
quelle méthode puis je utiliser pour que mon programme se mette en
"veille", en consommant le moins de ressources possible, et se "réveille"
toutes les heures ?
je pensais utiliser GetTickCount() couplé à un timer, mais je doute de la
fiabilité du timer ?
et je crains d'utiliser une boucle ????!
Bonjour Jean-marc, dans le message
news:459bc36c$0$21498$
tu disais :
Hello Scraper,
Bonne année à toi aussi!
Tu peux utiliser l'évènement NavigateComplete2, qui se
déclenche quand la page est "presque" chargée...
Cf:
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/webbrowser/reference/events/navigatecomplete2.asp
Tu peux aussi utiliser le changement de StatusText avec
WebBrowser1_StatusTextChange
Pas forcément satisfaisant, à voir selon ton usage...
merci de ta réponse !
ce qui est surprenant, c'est que, concernant ce problème d'erreur, cela ne
se produit pas si j'écris un script qui effectue la même tâche .... :(
alors je me suis inspiré de ce code :
Dim Web As SHDocVw.InternetExplorer
Set Web = New SHDocVw.InternetExplorer
Web.Visible = True
Web.Navigate (http://www.google.be)
que j'ai inséré dans mon projet d'exe ....
en y insérant également la boucle que j'écrivais ci dessus, et avec une
tempo, ça le fait ....
de toutes façons, c'est pas grave, ça doit rester en local, alors pourvu
que ça fonctionne chez moi :-D
maintenant, pour que ça aille bien, me reste une dernière (peut être ....
lol question :
quelle méthode puis je utiliser pour que mon programme se mette en
"veille", en consommant le moins de ressources possible, et se "réveille"
toutes les heures ?
je pensais utiliser GetTickCount() couplé à un timer, mais je doute de la
fiabilité du timer ?
et je crains d'utiliser une boucle ????!
Pourquoi faire compliqué?
Un simple controle Timer et tu testes l'heure
avec la fonction Time, c'est plus que suffisant,
non?
Et tu règles l'interval à 1, 2 ou plus secondes,
en fonction de tes besoins. La consommation
en ressource sera très très petite (invisible).
Pourquoi faire compliqué?
Un simple controle Timer et tu testes l'heure
avec la fonction Time, c'est plus que suffisant,
non?
Et tu règles l'interval à 1, 2 ou plus secondes,
en fonction de tes besoins. La consommation
en ressource sera très très petite (invisible).
Pourquoi faire compliqué?
Un simple controle Timer et tu testes l'heure
avec la fonction Time, c'est plus que suffisant,
non?
Et tu règles l'interval à 1, 2 ou plus secondes,
en fonction de tes besoins. La consommation
en ressource sera très très petite (invisible).
Bonjour Jean-marc, dans le message
news:459bf059$0$6462$
tu disais :Pourquoi faire compliqué?
Un simple controle Timer et tu testes l'heure
avec la fonction Time, c'est plus que suffisant,
non?
Et tu règles l'interval à 1, 2 ou plus secondes,
en fonction de tes besoins. La consommation
en ressource sera très très petite (invisible).
ben comme je te disais, j'ai besoin de "réveiller" mon appli toute les
heures, et je voudrais quela mesure du temps ne soit pas trop fantaisiste
;-)
or je me suis laissé dire que le timer n'était pas si précis ?
Bonjour Jean-marc, dans le message
news:459bf059$0$6462$ba620e4c@news.skynet.be
tu disais :
Pourquoi faire compliqué?
Un simple controle Timer et tu testes l'heure
avec la fonction Time, c'est plus que suffisant,
non?
Et tu règles l'interval à 1, 2 ou plus secondes,
en fonction de tes besoins. La consommation
en ressource sera très très petite (invisible).
ben comme je te disais, j'ai besoin de "réveiller" mon appli toute les
heures, et je voudrais quela mesure du temps ne soit pas trop fantaisiste
;-)
or je me suis laissé dire que le timer n'était pas si précis ?
Bonjour Jean-marc, dans le message
news:459bf059$0$6462$
tu disais :Pourquoi faire compliqué?
Un simple controle Timer et tu testes l'heure
avec la fonction Time, c'est plus que suffisant,
non?
Et tu règles l'interval à 1, 2 ou plus secondes,
en fonction de tes besoins. La consommation
en ressource sera très très petite (invisible).
ben comme je te disais, j'ai besoin de "réveiller" mon appli toute les
heures, et je voudrais quela mesure du temps ne soit pas trop fantaisiste
;-)
or je me suis laissé dire que le timer n'était pas si précis ?
or je me suis laissé dire que le timer n'était pas si précis ?
C'est un faux problème :-)
Le timer n'est "pas précis" si on l'utilise pour faire
des cumuls de valeurs, par ce qu'on va alors propager
l'erreur.
Mais si on programme un timer pour qu'il fasse un évènement
toutes les secondes (ou toutes les 2 secondes, ou 10 secondes
ou peu importe) et que dans l'évènement Timer on prend l'heure
avec la fonction TIME, alors il n'y a aucun problème.
Je suppose que tu n'es pas à la recherche de la microseconde
pour réveiller ton appli? Le but c'est que tu fasses quelque chose
toutes les 60 minutes ou toutes les 3600 secondes ...
L'idée c'est donc:
- utiliser le timer pour avoir environ un évènement toutes les
secondes, il ne sert qu'à ça
- Dans l'évènement, regarder l'heure avec la fonction Time
- Si c'est l'heure, faire qq chose, noter que c'est fait et
réamorcer pour dans une heure.
Après, Il y a 100 façons d'implémenter ce principe :-)
or je me suis laissé dire que le timer n'était pas si précis ?
C'est un faux problème :-)
Le timer n'est "pas précis" si on l'utilise pour faire
des cumuls de valeurs, par ce qu'on va alors propager
l'erreur.
Mais si on programme un timer pour qu'il fasse un évènement
toutes les secondes (ou toutes les 2 secondes, ou 10 secondes
ou peu importe) et que dans l'évènement Timer on prend l'heure
avec la fonction TIME, alors il n'y a aucun problème.
Je suppose que tu n'es pas à la recherche de la microseconde
pour réveiller ton appli? Le but c'est que tu fasses quelque chose
toutes les 60 minutes ou toutes les 3600 secondes ...
L'idée c'est donc:
- utiliser le timer pour avoir environ un évènement toutes les
secondes, il ne sert qu'à ça
- Dans l'évènement, regarder l'heure avec la fonction Time
- Si c'est l'heure, faire qq chose, noter que c'est fait et
réamorcer pour dans une heure.
Après, Il y a 100 façons d'implémenter ce principe :-)
or je me suis laissé dire que le timer n'était pas si précis ?
C'est un faux problème :-)
Le timer n'est "pas précis" si on l'utilise pour faire
des cumuls de valeurs, par ce qu'on va alors propager
l'erreur.
Mais si on programme un timer pour qu'il fasse un évènement
toutes les secondes (ou toutes les 2 secondes, ou 10 secondes
ou peu importe) et que dans l'évènement Timer on prend l'heure
avec la fonction TIME, alors il n'y a aucun problème.
Je suppose que tu n'es pas à la recherche de la microseconde
pour réveiller ton appli? Le but c'est que tu fasses quelque chose
toutes les 60 minutes ou toutes les 3600 secondes ...
L'idée c'est donc:
- utiliser le timer pour avoir environ un évènement toutes les
secondes, il ne sert qu'à ça
- Dans l'évènement, regarder l'heure avec la fonction Time
- Si c'est l'heure, faire qq chose, noter que c'est fait et
réamorcer pour dans une heure.
Après, Il y a 100 façons d'implémenter ce principe :-)
Bonjour Jean-marc, dans le message
news:459c082c$0$21501$
tu disais :or je me suis laissé dire que le timer n'était pas si précis ?
C'est un faux problème :-)
Le timer n'est "pas précis" si on l'utilise pour faire
des cumuls de valeurs, par ce qu'on va alors propager
l'erreur.
Mais si on programme un timer pour qu'il fasse un évènement
toutes les secondes (ou toutes les 2 secondes, ou 10 secondes
ou peu importe) et que dans l'évènement Timer on prend l'heure
avec la fonction TIME, alors il n'y a aucun problème.
Je suppose que tu n'es pas à la recherche de la microseconde
pour réveiller ton appli? Le but c'est que tu fasses quelque chose
toutes les 60 minutes ou toutes les 3600 secondes ...
L'idée c'est donc:
- utiliser le timer pour avoir environ un évènement toutes les
secondes, il ne sert qu'à ça
- Dans l'évènement, regarder l'heure avec la fonction Time
- Si c'est l'heure, faire qq chose, noter que c'est fait et
réamorcer pour dans une heure.
Après, Il y a 100 façons d'implémenter ce principe :-)
hello, et merci de ta réponse ...
bien vu la différence, je vais mettre ça en application !
je suppose que ce sera moins gourmand en temps processeur que la boucle
que j'ai faite ?
pour info, mon prog doit tourner en permanence sur la bécane, et toutes
les heures lance une autre appli ...
ma boucle :
Do While GetTickCount < StartTime + Value
Sleep 1000
DoEvents
Loop
StartTime est la valeur de GetTickCount lors du dernier évènement
(lancement de l'appli) et Value vaut 3 600 000 (secondes)
Bonjour Jean-marc, dans le message
news:459c082c$0$21501$ba620e4c@news.skynet.be
tu disais :
or je me suis laissé dire que le timer n'était pas si précis ?
C'est un faux problème :-)
Le timer n'est "pas précis" si on l'utilise pour faire
des cumuls de valeurs, par ce qu'on va alors propager
l'erreur.
Mais si on programme un timer pour qu'il fasse un évènement
toutes les secondes (ou toutes les 2 secondes, ou 10 secondes
ou peu importe) et que dans l'évènement Timer on prend l'heure
avec la fonction TIME, alors il n'y a aucun problème.
Je suppose que tu n'es pas à la recherche de la microseconde
pour réveiller ton appli? Le but c'est que tu fasses quelque chose
toutes les 60 minutes ou toutes les 3600 secondes ...
L'idée c'est donc:
- utiliser le timer pour avoir environ un évènement toutes les
secondes, il ne sert qu'à ça
- Dans l'évènement, regarder l'heure avec la fonction Time
- Si c'est l'heure, faire qq chose, noter que c'est fait et
réamorcer pour dans une heure.
Après, Il y a 100 façons d'implémenter ce principe :-)
hello, et merci de ta réponse ...
bien vu la différence, je vais mettre ça en application !
je suppose que ce sera moins gourmand en temps processeur que la boucle
que j'ai faite ?
pour info, mon prog doit tourner en permanence sur la bécane, et toutes
les heures lance une autre appli ...
ma boucle :
Do While GetTickCount < StartTime + Value
Sleep 1000
DoEvents
Loop
StartTime est la valeur de GetTickCount lors du dernier évènement
(lancement de l'appli) et Value vaut 3 600 000 (secondes)
Bonjour Jean-marc, dans le message
news:459c082c$0$21501$
tu disais :or je me suis laissé dire que le timer n'était pas si précis ?
C'est un faux problème :-)
Le timer n'est "pas précis" si on l'utilise pour faire
des cumuls de valeurs, par ce qu'on va alors propager
l'erreur.
Mais si on programme un timer pour qu'il fasse un évènement
toutes les secondes (ou toutes les 2 secondes, ou 10 secondes
ou peu importe) et que dans l'évènement Timer on prend l'heure
avec la fonction TIME, alors il n'y a aucun problème.
Je suppose que tu n'es pas à la recherche de la microseconde
pour réveiller ton appli? Le but c'est que tu fasses quelque chose
toutes les 60 minutes ou toutes les 3600 secondes ...
L'idée c'est donc:
- utiliser le timer pour avoir environ un évènement toutes les
secondes, il ne sert qu'à ça
- Dans l'évènement, regarder l'heure avec la fonction Time
- Si c'est l'heure, faire qq chose, noter que c'est fait et
réamorcer pour dans une heure.
Après, Il y a 100 façons d'implémenter ce principe :-)
hello, et merci de ta réponse ...
bien vu la différence, je vais mettre ça en application !
je suppose que ce sera moins gourmand en temps processeur que la boucle
que j'ai faite ?
pour info, mon prog doit tourner en permanence sur la bécane, et toutes
les heures lance une autre appli ...
ma boucle :
Do While GetTickCount < StartTime + Value
Sleep 1000
DoEvents
Loop
StartTime est la valeur de GetTickCount lors du dernier évènement
(lancement de l'appli) et Value vaut 3 600 000 (secondes)
Oui la version avec un timer est bien meilleure,
car tu ne propages pas d'erreur. En plus c'est
moins gourmand en ressources et plus souple
si tu veux faire des modifications par la suite:
tu gardes le timer à résolution de 1 sec, et dans
l'évènement tu testes autant d'heures de déclenchement
que tu veux.
J'utilise ce principe pour un scheduler de batch un peu
particulier au boulot (je ne pouvais pas utiliser
le task scheduler).
Oui la version avec un timer est bien meilleure,
car tu ne propages pas d'erreur. En plus c'est
moins gourmand en ressources et plus souple
si tu veux faire des modifications par la suite:
tu gardes le timer à résolution de 1 sec, et dans
l'évènement tu testes autant d'heures de déclenchement
que tu veux.
J'utilise ce principe pour un scheduler de batch un peu
particulier au boulot (je ne pouvais pas utiliser
le task scheduler).
Oui la version avec un timer est bien meilleure,
car tu ne propages pas d'erreur. En plus c'est
moins gourmand en ressources et plus souple
si tu veux faire des modifications par la suite:
tu gardes le timer à résolution de 1 sec, et dans
l'évènement tu testes autant d'heures de déclenchement
que tu veux.
J'utilise ce principe pour un scheduler de batch un peu
particulier au boulot (je ne pouvais pas utiliser
le task scheduler).
Bonjour Jean-marc, dans le message
news:459ce22c$0$6468$
tu disais :Oui la version avec un timer est bien meilleure,
car tu ne propages pas d'erreur. En plus c'est
moins gourmand en ressources et plus souple
si tu veux faire des modifications par la suite:
tu gardes le timer à résolution de 1 sec, et dans
l'évènement tu testes autant d'heures de déclenchement
que tu veux.
J'utilise ce principe pour un scheduler de batch un peu
particulier au boulot (je ne pouvais pas utiliser
le task scheduler).
OK, je te remercie de tous ces renseignements, que j'ai appliqués ;-)
je me suis servi de la fonction Time, et de DateAdd, DateDiff ...
ça roule, merci énormément :-)
amicalement
Bonjour Jean-marc, dans le message
news:459ce22c$0$6468$ba620e4c@news.skynet.be
tu disais :
Oui la version avec un timer est bien meilleure,
car tu ne propages pas d'erreur. En plus c'est
moins gourmand en ressources et plus souple
si tu veux faire des modifications par la suite:
tu gardes le timer à résolution de 1 sec, et dans
l'évènement tu testes autant d'heures de déclenchement
que tu veux.
J'utilise ce principe pour un scheduler de batch un peu
particulier au boulot (je ne pouvais pas utiliser
le task scheduler).
OK, je te remercie de tous ces renseignements, que j'ai appliqués ;-)
je me suis servi de la fonction Time, et de DateAdd, DateDiff ...
ça roule, merci énormément :-)
amicalement
Bonjour Jean-marc, dans le message
news:459ce22c$0$6468$
tu disais :Oui la version avec un timer est bien meilleure,
car tu ne propages pas d'erreur. En plus c'est
moins gourmand en ressources et plus souple
si tu veux faire des modifications par la suite:
tu gardes le timer à résolution de 1 sec, et dans
l'évènement tu testes autant d'heures de déclenchement
que tu veux.
J'utilise ce principe pour un scheduler de batch un peu
particulier au boulot (je ne pouvais pas utiliser
le task scheduler).
OK, je te remercie de tous ces renseignements, que j'ai appliqués ;-)
je me suis servi de la fonction Time, et de DateAdd, DateDiff ...
ça roule, merci énormément :-)
amicalement