Depuis hier soir, je travaille sur un bout de code permettant de trouver tous les diviseurs d'un nombre préalablement renseigné par l'utilisateur. Cette partie fonctionne très bien. Malheureusement, je ne sais pas comment faire afficher toutes ces valeurs à la fin de la boucle dans une seule boite de dialogue qui serait pratique (Et qui ne rame pas quand l'array est trop large), contrairement à _ArrayDisplay qui est vraiment... Moche.
Code :
Code : Tout sélectionner
[...]
#include <Array.au3>
Dim $a, $a2, $a3, $a4, $i, $i2, $a6
Local $a5[20000]
[...]
Case $Button1
$a = GUICtrlRead($Input1) ; C'est dans cet input que le chiffre est renseigné
$a2 = Number($a)
$a3 = $a2-Round($a)
$a4 = Floor($a2/2)
$i = 1
$i2 = 0
$a6 = Mod($a2,$i) ; a divisible par i ssi a6=0.
If $a3 = 0 Then
Do
$a6 = Mod($a2,$i)
$i2 = $i2+1
If $i <= $a4 And $a6=0 Then
$a5[$i]=$i2
$i = $i + 1
MsgBox(1,"",$i2)
Else
$i = $i+1
EndIf
Until $i > $a4 ; Jusqu'à que le nombre de répétitions de la boucle soit supérieur à E(a/2) : En gros, tant que i€[1;E(a/2)]
MsgBox(1,"",$a2)
;Fin de la boucle. C'est là qu'il faudrait afficher tous les multiples trouvés.
Else
MsgBox(4096,"Erreur !","La variable entrée n'est pas valide.")
EndIf
EndSwitch
WEnd


