Page 1 sur 1
[R] Demande de GUI
Posté : ven. 16 janv. 2015 15:12
par DimVar
Bonjour,
Si qqun passe par là, je cherche une GUI toute faite qui ressemblerait à :
3 Zones
- zone 1 de saisie d'adresse IP (qui une fois validée, passerait dans la zone 2)
- zone 2 affichage des IP avec 2 colonnes à leur droite. (ou une zone dans laquelle je pourrais integrer l'adresse IP de la zone 1 + une icone)
- zone 3, trois boutons.
Ce dans le but de faire une interface tres basique basée sur le ping d'une IP et son statut.
Merci.
Cdlt.
Re: [..] Demande de GUI
Posté : ven. 16 janv. 2015 16:29
par Zippo
Bonjour et bonne année Dimvar !
Pour la zone une, un input à adresse IP regarde dans F1 (Scite) _GUICtrlIpAddress_Create. Il permet d'écrire une adresse IP v4. Pour lire les informations utilise guictrlread.
Pour la zone deux, je te conseil un GUICtrlCreateListView, idem regarde dans l'aide de scite (F1).
Bonne journée a+
Re: [..] Demande de GUI
Posté : ven. 16 janv. 2015 16:34
par DimVar
Meilleurs vœux à toi.
Merci, c'est un bon début.
Re: [..] Demande de GUI
Posté : ven. 16 janv. 2015 17:24
par DimVar
Peut on me dire comment faire en sorte pour que lorsque je valide l'IP par la touche entrée (ou au pire, en cliquant sur un bouton "valider"), l'adresse puisse apparaitre dans la list view ?
[EDIT]
Comment recuperer l'IP du _GUICtrlIpAddress_Set puisque son "return value" est "none"
Merci.
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <GuiIPAddress.au3>
#include <WindowsConstants.au3>
Global $g_hIPAddress
Example()
Func Example()
Local $hGui
$hGui = GUICreate("IP Address Control Create Example", 600, 600)
$g_hIPAddress = _GUICtrlIpAddress_Create($hGui, 10, 10)
GUISetState(@SW_SHOW)
GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
_GUICtrlIpAddress_Set($g_hIPAddress, "10.1.0.1")
Local $idListview = GUICtrlCreateListView("Adresse IP |Status |non defined ", 10, 80, 580, 250) ;,$LVS_SORTDESCENDING)
Local $idItem1 = GUICtrlCreateListViewItem("10.0.0.1||", $idListview)
; Wait for user to close GUI
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>Example
Func WM_NOTIFY($hWnd, $iMsg, $wParam, $lParam)
#forceref $hWnd, $iMsg, $wParam
Local $hWndFrom, $iCode, $tNMHDR
Local $tInfo
$tNMHDR = DllStructCreate($tagNMHDR, $lParam)
$hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
$iCode = DllStructGetData($tNMHDR, "Code")
Switch $hWndFrom
Case $g_hIPAddress
Switch $iCode
Case $IPN_FIELDCHANGED ; Sent when the user changes a field in the control or moves from one field to another
$tInfo = DllStructCreate($tagNMIPADDRESS, $lParam)
_DebugPrint("$IPN_FIELDCHANGED" & @CRLF & "--> hWndFrom:" & @TAB & DllStructGetData($tInfo, "hWndFrom") & @CRLF & _
"-->IDFrom:" & @TAB & DllStructGetData($tInfo, "IDFrom") & @CRLF & _
"-->Code:" & @TAB & DllStructGetData($tInfo, "Code") & @CRLF & _
"-->Field:" & @TAB & DllStructGetData($tInfo, "Field") & @CRLF & _
"-->Value:" & @TAB & DllStructGetData($tInfo, "Value"))
; The return value is ignored
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>WM_NOTIFY
Func _DebugPrint($s_Text , $sLine = @ScriptLineNumber)
ConsoleWrite( _
"!===========================================================" & @CRLF & _
"+======================================================" & @CRLF & _
"-->Line(" & StringFormat("%04d", $sLine) & "):" & @TAB & $s_Text & @CRLF & _
"+======================================================" & @CRLF)
EndFunc ;==>_DebugPrint
Re: [..] Demande de GUI
Posté : ven. 16 janv. 2015 20:13
par Zippo
Pour pouvoir rajouter une adresse dans la listview en appuyant sur entrer, il faut ajouter une bouton visible ou non et mettre ceci après la création de ce dernier :
Global $form_short[1][2] = [["{enter}", $variablebouton]]
GUISetAccelerators($form_short)
et dans la boucle de l'interface :
Case $variablebouton
$ip = _GUICtrlIpAddress_Get ($IPAddress) ;la variable de la barre d'adresse
GUICtrlCreateListViewItem($ip&"|"&"0"&"|"&"0", $ListView);ajout des informations
J'espère t'avoir aidé a+
Re: [..] Demande de GUI
Posté : ven. 16 janv. 2015 20:17
par mikell
DimVar a écrit :Si qqun passe par là, je cherche une GUI toute faite
Pour les feignants, ya le forum "demande de scripts"

Re: [..] Demande de GUI
Posté : sam. 17 janv. 2015 19:50
par walkson
Et puis faire une demande de Gui le 16 janvier, c'est un peu tard...
http://www.culture.gouv.fr/culture/noel/franc/gui.htm
Bon, allez je

Re: [..] Demande de GUI
Posté : lun. 19 janv. 2015 14:14
par DimVar
Zippo a écrit :Pour pouvoir rajouter une adresse dans la listview en appuyant sur entrer, il faut ajouter une bouton visible ou non et mettre ceci après la création de ce dernier :
Global $form_short[1][2] = [["{enter}", $variablebouton]]
GUISetAccelerators($form_short)
et dans la boucle de l'interface :
Case $variablebouton
$ip = _GUICtrlIpAddress_Get ($IPAddress) ;la variable de la barre d'adresse
GUICtrlCreateListViewItem($ip&"|"&"0"&"|"&"0", $ListView);ajout des informations
J'espère t'avoir aidé a+
Merci, peux tu commenter tes 2 premières lignes ? J'ai un peu de mal avec l'utilité du tableau et de cette commande (GUISetAccelerators)
Re: [..] Demande de GUI
Posté : mar. 20 janv. 2015 09:19
par Zippo
Zippo a écrit :Pour pouvoir rajouter une adresse dans la listview en appuyant sur entrer, il faut ajouter une bouton visible ou non et mettre ceci après la création de ce dernier :
Global $form_short[1][2] = [["{enter}", $variablebouton]]
GUISetAccelerators($form_short)
et dans la boucle de l'interface :
Case $variablebouton
$ip = _GUICtrlIpAddress_Get ($IPAddress) ;la variable de la barre d'adresse
GUICtrlCreateListViewItem($ip&"|"&"0"&"|"&"0", $ListView);ajout des informations
J'espère t'avoir aidé a+
Global $form_short[1][2] = [["{enter}", $variablebouton]] ;ceci crée le tableau utilisé pour faire fonctionner l’interaction entre la touche ENTRER et le bouton.
GUISetAccelerators($form_short) ;il permet la création d'une macro touche pour un bouton sur la GUI.
Global $form_short[1][2] = [["
ICI la ou les touches",
ICI la variable du bouton en question]]
il faut nommer les touches comme dans une commande SEND
DONC
dès que tu appuies sur la touche entrer (GUI en premier plan) cela activera dans la boucle de la gui le bouton comme si tu avais cliqué dessus avec ta souris. Il faut donc pensé à mettre des conditions pour ne pas ajouter 10 fois la même adresse IP. Cependant, toutes ces conditions sont bien-sure, en fonction du but de ton programme.
a+
Re: [..] Demande de GUI
Posté : mer. 21 janv. 2015 20:57
par DimVar
Merci.
Je mets en pause ce topic...
Re: [R] Demande de GUI
Posté : ven. 23 janv. 2015 15:23
par DimVar
Je clos, je vais suivre les conseils du chat vert....