Je cherche à créer une GUI dans le but d'automatiser l'installation d'imprimante en réseau. Au boulot nous avons 10-15 modèles d'imprimantes selon les clients.
La partie installation de l'imprimante est déjà codée. Il ne me reste plus qu'à créer une jolie GUI pour permettre au personne novice d'installer facilement l'imprimante (tout en sachant qu'elles connaissent l'adresse IP de l'imprimante)
Mon souci pour le moment se pose au moment de tester les valeurs insérées dans 4 GUICtrlCreateInput
Je voudrais tester les valeurs pour être sûr qu'elles soient bien comprise entre 0 et 255. Cela çà fonctionne. Le problème se pose lorsque que je simule une IP du genre 257.257.257.257... Le focus revient après m'avoir afficher mes MSGBOX et la MSGBOX récapitulative.
Après avoir essayé toutes les conditions possibles if, while do select, je me retrouve coincer. En gros, çà tourne toujours en boucle sur le champs fautif (<0 ou >255).
J'ai parcouru de longues heures aujourd'hui le forum sans pour autant trouver la solution à mon problème. (J'avoue que lors de ma recherche, je n'arrive pas encore à définir correctement mes critères et que je m'emmêle un peu les pinceaux).
J'ai trouvé quelques exemples qui pourraient fonctionner (dont un qui vérifie directement lors de la saisie mais qui défini 255 directement or je préférais un message d'alerte type Windows).
Voici mon code :
Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
Global $Form1 = GUICreate("Form1", 202, 104, 192, 124)
Global $Input1 = GUICtrlCreateInput("", 26, 40, 33, 21,$ES_NUMBER)
Global $Input2 = GUICtrlCreateInput("", 66, 40, 33, 21,$ES_NUMBER)
Global $Input3 = GUICtrlCreateInput("", 106, 40, 33, 21,$ES_NUMBER)
Global $Input4 = GUICtrlCreateInput("", 146, 40, 33, 21,$ES_NUMBER)
Global $Button1 = GUICtrlCreateButton("Button1", 63, 72, 75, 25, $WS_GROUP)
Global $Label1 = GUICtrlCreateLabel("Insérer l'adresse IP", 44, 11, 113, 17)
GUICtrlSetFont(-1, 8, 800, 0, "MS Sans Serif")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
If $nMsg = -3 then ExitLoop
If $nMsg = $button1 Then
GUISetState(@SW_HIDE)
$CR1 = GUICtrlRead($Input1) ; chiffre inséré
numero($CR1,$Input1) ; regarder si =>0 et <=255
$CR2 = GUICtrlRead($Input2)
numero($CR2,$Input2)
$CR3 = GUICtrlRead($Input3)
numero($CR3,$Input3)
$CR4 = GUICtrlRead($Input4)
numero($CR4,$Input4)
$CR = ""& $CR1 &"."& $CR2 &"."& $CR3 &"."& $CR4
MsgBox(0,"",$CR) ; MsgBox récapitulative
EndIf
WEnd
Exit
Func numero($var,$var2)
if $var >=0 AND $var <=255 Then
Return $var
Else
Msgbox(0,"",$var&" n'est pas compris entre 0 et 255")
GUISetState(@SW_SHOW)
GUICtrlSetState($var2,$GUI_FOCUS)
EndIf
EndFuncMerci à toutes les bonnes âmes qui voudront bien m'aider



