[..] Deux bugs que je n'arrive pas à supprimer

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Guerrion24
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 02 mai 2011 11:54
Status : Hors ligne

[..] Deux bugs que je n'arrive pas à supprimer

#1

Message par Guerrion24 »

Bonjour tout le monde pour mon premier message,

ça fait quelques temps que j'ai commencé à utiliser autoit et récemment j'ai créé deux programmes :

l'un permet d'extraire le code html d'un site et de le copier dans un fichier html local pour pouvoir le lire sans internet,
le second permet de calculer le PGCD via l'algorithme d'Euclide pour autant de nombres que l'on veut.

Je vais vous expliquer d'abord le premier bug sur l'extracteur html.
Je récupère le code dans l'Edit, puis que je l'envoie dans le fichier html, ensuite je vais voir si ça a marché et lorsque
je reviens sur ma fenêtre le titre a disparu !

Je vous laisse regarder par vous-même :
► Afficher le texte
Puis pour le PGCD, dans un premier temps je marques mes nombres dont je veux connaître le PGCD (EX: 10;20;30;40).
Il me trouve 10 ce qui est juste.
Puis si je rajoute un autre nombre alors ça devient n'importe quoi (Ex: 10;20;30;40;50).
il devrait me trouver toujours 10 mais il me lance le message d'erreur que j'ai moi-même écris quand il n'y a moins de deux éléments d'écris
ou quand il n'y a pas que des nombres.

J'en ai déduis que l'erreur pouvait venir soit du StringSplit(), soit du GuiCtrlRead().
Malgré la mise à jour des variables à la fin du code ça n'a rien changé.

Voilà le code :
► Afficher le texte
Modifié en dernier par Jerome le mar. 03 mai 2011 18:25, modifié 1 fois.
Raison : Mise en spoiler des parties "code" pour plus de lisibilitée
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [..] Deux bugs que je n'arrive pas à supprimer

#2

Message par legend »

Les codes sont très longs!! (je peut pas les lire donc je peut pas répondre ^^)
mais je propose de les mettre dans spoiler
bonne journée
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Deux bugs que je n'arrive pas à supprimer

#3

Message par jchd »

Je t'ai corrigé les bugs dans ton pgcd, ainsi que l'algorithme ! Ne jamais passer en flottant quand on peut l'éviter.
► Afficher le texte
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Guerrion24
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 02 mai 2011 11:54
Status : Hors ligne

Re: [..] Deux bugs que je n'arrive pas à supprimer

#4

Message par Guerrion24 »

Ok je retiens pour le flottant d'un nombre.
Sinon ou était on erreur car il devait bien y avoir une erreur pour que ça bug.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Deux bugs que je n'arrive pas à supprimer

#5

Message par jchd »

Compare donc les sources. Je n'ai pas creusé ton algorithme (tortueux), il ne me parlait guère.
Il y avait une virgule en trop à la première ligne.
Fais attention : tu avais un contrôle $I et un compteur de boucle $i : AutoIt ne distingue pas la casse...
Aussi GUIGetMsg(1) ne fait pas ce que tu croyais.
Ah oui, le If $test = @error n'est pas la bonne condition.
...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Guerrion24
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 02 mai 2011 11:54
Status : Hors ligne

Re: [..] Deux bugs que je n'arrive pas à supprimer

#6

Message par Guerrion24 »

En effet je t'avais donné la version non-débogué.
C'est l'algorithme d'Euclide que j'ai essayé de retranscrire au mieux en Autoit. Evidemment ce n'est pas aussi pur mais j'ai essayé
de respecter cette technique en me débrouillant avec ce que je savais faire.
Si possible je vais éviter d'utiliser l'UDF car j'essaye de les utiliser au moins notamment pour me casser un peu plus la tête.

Donc je vais étudier ton post et je te réponds en attendant j'ai corrigé les erreurs que tu voyais que j'avais en fait
déjà supprimé auparavant.

Edit : J'utilisais @error pour gérer les erreurs et je l'ai remplacé par 0 (ce qui ne fonctionnait pas avant, à savoir pourquoi) et là plus d'erreurs.
Donc ce problème est résolu et tes réponses vont me permettre d'améliorer mon code.

Maintenant il faut que je trouve une réponse à mon deuxième code (eh oui là j'utilise un UDF).

A+
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Deux bugs que je n'arrive pas à supprimer

#7

Message par jchd »

Oui c'est bien sûr Euclide, mais c'est aussi Euclide que j'ai implémenté.
Les UDFs standard sont là pour simplifier la tâche, non pas pour inciter à réécrire plus ou moins bien ce qui a déjà été mis au point et validé comme étant raisonnablement efficace.

Tu noteras que de Math.au3 je n'emploie que _Min et _Max, qu'il est trivial de remplacer par une paire de lignes de code.
Il n'y a donc rien d'abscons ni de nocif là-dedans.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
sapass
Niveau 1
Niveau 1
Messages : 9
Enregistré le : ven. 06 mai 2011 13:14
Status : Hors ligne

Re: [..] Deux bugs que je n'arrive pas à supprimer

#8

Message par sapass »

Salut,

Pour ton programme de recup de code HTML, je n'ai aucun problème en l'utilisant, il fonctionne => que veux tu dire par 'le titre de ma fenetre a disparu' ?

PS : Pour récupérer le code d'une page, tu peux éviter d'ouvrir un IE masqué, en utilisant _INetGetSource($stURL) de la biblio INET.au3 :wink:

Sapass*
Répondre