besoin d'aide, je tourne en rond... ça n'avance pas
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
- blacksoul305
- Membre émérite
- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: besoin d'aide, je tourne en rond... ça n'avance pas
Salut,
à priori je recommanderai de regarder la fonction WinMenuSelectItem mais personnellement je n'arrive pas à la faire marcher. D'après la doc, elle est susceptible de ne pas fonctionner sur la plupart des menus actuels, ces derniers n'étant pas des menus mais des contrôles plus compliqués sous la forme de menu. Et ControlViewer ne me donne pas grand chose si ce n'est l'Edit et la StatusBar du bloc-notes.
à priori je recommanderai de regarder la fonction WinMenuSelectItem mais personnellement je n'arrive pas à la faire marcher. D'après la doc, elle est susceptible de ne pas fonctionner sur la plupart des menus actuels, ces derniers n'étant pas des menus mais des contrôles plus compliqués sous la forme de menu. Et ControlViewer ne me donne pas grand chose si ce n'est l'Edit et la StatusBar du bloc-notes.
Étudiant en 2ème année de Licence Informatique.
Re: besoin d'aide, je tourne en rond... ça n'avance pas
Bonsoir
Bon, je vais continuer avec mes send pour la mise en page de mon rapport final,
Revenons en à nos moutons : ce qui ne va pas dans mon premier code, c'est qu'il attends de faire le If et pas de If, pas de elsif, ce qui est con, puis que le but du elsif, si je ne m'abuse, c'est que
If si il y a de la tarte au pommes, then, tu la manges
Elsif sinon, s'il y a de la tarte au poire, then, tu la manges
Elsif sinon...
Else s'il n'y a rien de tout ça, fais toi une omelette
Endif
le problème, c'est que s'il n'y a pas de tarte aux pommes, il attends quand même une tarte au pommes, et voilà quoi, j'ai essayé en supprimant le if de la tarte aux pomes, et de lui indiquer qu'il n'y avait que des poires en cette saison, et ô miracle, celle aux poires lui va très bien, en fait, il y a quelque chose que je n'ai pas saisi correctement dans cette fonction, parce que dans l'état actuel des choses, j'ai envie de dire que j'ai compris à peu près le principe de base des fonctions, des classes et autres fenêtres, ce que je veux fonctionne très bien de manière séparée, mais maintenant, il faut que tout soit ensemble, c'est à dire que
1 je me connecte
2 j'arrive sur telle ou telle chose, il me faut agir ainsi, et ne pas attendre que la première action devienne vraie pour passer à la seconde, et là, ça bloque, je me fais des nœuds dans le cerveau, heureusement qu'il n'est pas très gros
merci vraiment pour votre aide
Bon, je vais continuer avec mes send pour la mise en page de mon rapport final,
Revenons en à nos moutons : ce qui ne va pas dans mon premier code, c'est qu'il attends de faire le If et pas de If, pas de elsif, ce qui est con, puis que le but du elsif, si je ne m'abuse, c'est que
If si il y a de la tarte au pommes, then, tu la manges
Elsif sinon, s'il y a de la tarte au poire, then, tu la manges
Elsif sinon...
Else s'il n'y a rien de tout ça, fais toi une omelette
Endif
le problème, c'est que s'il n'y a pas de tarte aux pommes, il attends quand même une tarte au pommes, et voilà quoi, j'ai essayé en supprimant le if de la tarte aux pomes, et de lui indiquer qu'il n'y avait que des poires en cette saison, et ô miracle, celle aux poires lui va très bien, en fait, il y a quelque chose que je n'ai pas saisi correctement dans cette fonction, parce que dans l'état actuel des choses, j'ai envie de dire que j'ai compris à peu près le principe de base des fonctions, des classes et autres fenêtres, ce que je veux fonctionne très bien de manière séparée, mais maintenant, il faut que tout soit ensemble, c'est à dire que
1 je me connecte
2 j'arrive sur telle ou telle chose, il me faut agir ainsi, et ne pas attendre que la première action devienne vraie pour passer à la seconde, et là, ça bloque, je me fais des nœuds dans le cerveau, heureusement qu'il n'est pas très gros
merci vraiment pour votre aide
- blacksoul305
- Membre émérite
- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: besoin d'aide, je tourne en rond... ça n'avance pas
Re,
pour le soucis de votre condition, je ne sais pas si vous avez vu ma remarque, mais il est fort probable que la fenêtre dont vous cherchez l'existence dans le tout premier "if" existe quand même et qu'elle soit tout simplement cachée. Si c'est bel et bien le cas, il va falloir changer l'ordre des conditions.
pour le soucis de votre condition, je ne sais pas si vous avez vu ma remarque, mais il est fort probable que la fenêtre dont vous cherchez l'existence dans le tout premier "if" existe quand même et qu'elle soit tout simplement cachée. Si c'est bel et bien le cas, il va falloir changer l'ordre des conditions.
Étudiant en 2ème année de Licence Informatique.
Re: besoin d'aide, je tourne en rond... ça n'avance pas
j'ai déjà ôté un gros doute, ma seconde condition fonctionne, ce dont je n'étais pas sur, j'ai fait l'inversion des deux conditions maintenant, et je vais tenter de voir comment ça se comporte,
j'ai aussi ajouté une boucle pendant la durée de connexion comme ça m'avait été proposé, ça ça fonctionne bien.
Je pense que tu dois avoir raison pour l'histoire de la fenêtre cachée, je ne vois que ça, mais là, maintenant, la réponse sera pour demain, à moins que l'astreinte ai besoin de me faire retourner bosser..
bonne soirée
j'ai aussi ajouté une boucle pendant la durée de connexion comme ça m'avait été proposé, ça ça fonctionne bien.
Je pense que tu dois avoir raison pour l'histoire de la fenêtre cachée, je ne vois que ça, mais là, maintenant, la réponse sera pour demain, à moins que l'astreinte ai besoin de me faire retourner bosser..
bonne soirée
- mikell
- Spammer !
- Messages : 6292
- Enregistré le : dim. 29 mai 2011 17:32
- Localisation : Deep Cévennes
- Status : Hors ligne
Re: besoin d'aide, je tourne en rond... ça n'avance pas
Il est même possible qu'elle soit présente tout le temps (facile à vérifier avec WinList), dans ce cas un WinExists ne sert à rien et il faut un test plus précis avec WinGetStateblacksoul305 a écrit : il est fort probable que la fenêtre dont vous cherchez l'existence dans le tout premier "if" existe quand même et qu'elle soit tout simplement cachée. Si c'est bel et bien le cas, il va falloir changer l'ordre des conditions.
If si il y a de la tarte au pommes et que tu la vois sur la table, then, tu la manges (il peut y en avoir, mais dans le frigo)
Elsif si il y a de la tarte au poires then ... (fonctionne même s'il y a de la tarte au pommes dans le frigo)
etc

" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
- jchd
- AutoIt MVPs (MVP)
- Messages : 2282
- Enregistré le : lun. 30 mars 2009 22:57
- Localisation : Sud-Ouest de la France (43.622788,-1.260864)
- Status : Hors ligne
Re: besoin d'aide, je tourne en rond... ça n'avance pas
La programmation à coups de tartes.
Note, il le faut bien, des fois.
Note, il le faut bien, des fois.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Re: besoin d'aide, je tourne en rond... ça n'avance pas
notez qu'une belle image c'est parfois plus parlant que de longs discours, à méditer
Bon, un petit message pour vous dire qu'en inversant, ça a fonctionné,
après, le modem a planté, mais ça, je ne l'ai pas compris tout de suite, j'ai donc bidouillé un peu tout, et maintenant, ça ne re fonctionne plus, mais une bonne nuit portera conseil.
Pour la tarte, maintenant que je sais qu'elle est au frigo, je ne vais pas me gêner, j'aurai sûrement d'autres questions à venir, en particulier peut être pour simplifier mon code, et voir les choses qui merdouillassent un peu dedans, mais pour ce soir, je trouve que j'ai déjà fait beaucoup de progrès dans mon machin,
merci beaucoup en tous cas, bonne soirée
Bon, un petit message pour vous dire qu'en inversant, ça a fonctionné,
après, le modem a planté, mais ça, je ne l'ai pas compris tout de suite, j'ai donc bidouillé un peu tout, et maintenant, ça ne re fonctionne plus, mais une bonne nuit portera conseil.
Pour la tarte, maintenant que je sais qu'elle est au frigo, je ne vais pas me gêner, j'aurai sûrement d'autres questions à venir, en particulier peut être pour simplifier mon code, et voir les choses qui merdouillassent un peu dedans, mais pour ce soir, je trouve que j'ai déjà fait beaucoup de progrès dans mon machin,
merci beaucoup en tous cas, bonne soirée
Re: besoin d'aide, je tourne en rond... ça n'avance pas
alors maintenant que ça tourne à peu près rond, à deux trois broutilles près, j'ai une autre question, qui va vous sembler encore plus nulle que la précédente, mais mon cerval n'arrive clairement pas à assimiler la possibilité,
mettons :
- une tarte aux pommes
- une tarte aux poires
- une tarte aux fraises (j'adore les fraises)
mettons que j'ai trois sites
- Paris
- Lyon
- Marseille
les conditions maintenant :
si j'ai une tarte aux fraises, then,
je mange une tarte aux fraises
si je mange une tarte then
il faut que je mette la cuiller dans l'évier
il faut que je me fasse un café...
finsi
sinon je mange de la tarte aux pommes (sous entendu, si j'ai tout bien saisi, la tarte aux fraises a déjà été mangée par un autre et n'existe plus donc)
sinon je mange de la tarte aux poires
enfin et bien, cqfd, il n'y a plus rien à bouffer je vais au restaurant
je sors
maintenant, chacune des conditions implique des choses donc disons que le code contient 1000 lignes, avec des sous conditions et tout, je voudrait reproduire de code sur les trois sites sans me refaire toutes les conditions pour chaque site, d'autant plus que si un aléa, ou un truc que je n'avais pas prévu en plein milieu du script m'appelle à une modif, c'est quasi ingérable, d'autant plus qu'en ce qui me concerne, on parle d'une cinquantaine de sites en gros à télérelever au bas mot toutes les semaines
le but étant de faire monter mon projet sur un plan national (et ce bénévolement, notez que je travaille bien au delà de mes heures habituelles de travail), ça pourrait concerner près de 2700 sites, autant dire que la mise à jour ne pourrait même pas être imaginée à ce niveau là
ce que je souhaite faire, c'est dire pour telle site, je déclare les variables propres au site, et ensuite, tu fais ça, sinon, ça, sinon, ça, ...
je cherche, mais ne trouve pas d'explication qui puisse convenir à mon cerveau malade, alors je vous remercie pour votre aimable contribution, et pour votre aide,
mettons :
- une tarte aux pommes
- une tarte aux poires
- une tarte aux fraises (j'adore les fraises)
mettons que j'ai trois sites
- Paris
- Lyon
- Marseille
les conditions maintenant :
si j'ai une tarte aux fraises, then,
je mange une tarte aux fraises
si je mange une tarte then
il faut que je mette la cuiller dans l'évier
il faut que je me fasse un café...
finsi
sinon je mange de la tarte aux pommes (sous entendu, si j'ai tout bien saisi, la tarte aux fraises a déjà été mangée par un autre et n'existe plus donc)
sinon je mange de la tarte aux poires
enfin et bien, cqfd, il n'y a plus rien à bouffer je vais au restaurant
je sors
maintenant, chacune des conditions implique des choses donc disons que le code contient 1000 lignes, avec des sous conditions et tout, je voudrait reproduire de code sur les trois sites sans me refaire toutes les conditions pour chaque site, d'autant plus que si un aléa, ou un truc que je n'avais pas prévu en plein milieu du script m'appelle à une modif, c'est quasi ingérable, d'autant plus qu'en ce qui me concerne, on parle d'une cinquantaine de sites en gros à télérelever au bas mot toutes les semaines
le but étant de faire monter mon projet sur un plan national (et ce bénévolement, notez que je travaille bien au delà de mes heures habituelles de travail), ça pourrait concerner près de 2700 sites, autant dire que la mise à jour ne pourrait même pas être imaginée à ce niveau là
ce que je souhaite faire, c'est dire pour telle site, je déclare les variables propres au site, et ensuite, tu fais ça, sinon, ça, sinon, ça, ...
je cherche, mais ne trouve pas d'explication qui puisse convenir à mon cerveau malade, alors je vous remercie pour votre aimable contribution, et pour votre aide,
Re: besoin d'aide, je tourne en rond... ça n'avance pas
et il m'a suffit de poser la question pour trouver la réponse tout seul
- blacksoul305
- Membre émérite
- Messages : 957
- Enregistré le : ven. 18 mars 2011 11:49
- Localisation : Au pays des programmeurs.
- Status : Hors ligne
Re: besoin d'aide, je tourne en rond... ça n'avance pas
C'est pas étonnant. Pour la majorité des problèmes que l'on est potentiellement capable de résoudre, il nous arrive d'être bloqué sans trouver de solutions puisque on a le nez en plein dedans. Il suffit de prendre un peu de recul et de formuler le problème (comme tu viens de le faire ici) autrement pour apercevoir une solution ou en tout cas un début d'idées.Ciol13 a écrit :et il m'a suffit de poser la question pour trouver la réponse tout seul
Étudiant en 2ème année de Licence Informatique.
Re: besoin d'aide, je tourne en rond... ça n'avance pas
Bonsoir à tous, j'ai presque fini, grâce à votre aide, cependant, il y a encore des choses que j'ai du mal à assimiler
le controlsend par exemple, ça marche bien quand je suis sur mon pc avec windaube 10, dès que j'exécute le script sur un pc avec windaube xp, ben ça ne marche plus
c'est peut être une truc totalement idiot, mais bon
voici un bout du script incriminé
par ailleurs, comment envoyer un coup de "enter" autrement que par fonction send??
bonne soirée, merci à vous
le controlsend par exemple, ça marche bien quand je suis sur mon pc avec windaube 10, dès que j'exécute le script sur un pc avec windaube xp, ben ça ne marche plus
c'est peut être une truc totalement idiot, mais bon
voici un bout du script incriminé
Code : Tout sélectionner
WinActive("[TITLE:AGENDA / APPEL; CLASS:WDRBF]", "")
Run("notepad.exe")
WinWaitActive("[CLASS:Notepad]", "")
Send("le " & _NowDate() & " à " & _NowTime() & "{enter}")
ProgressOn ("Attente de reconnexion", "Veuillez patienter", "")
For $i=0 To 100 step 10
sleep(1180)
ProgressSet($i, $i & " %")
Next
ProgressOff()
Send("le " & _NowDate() & " à " & _NowTime() & "{enter}")
bonne soirée, merci à vous