[R] Creation de GUI (Surveillance Ping)

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

[R] Creation de GUI (Surveillance Ping)

#1

Message par DimVar »

Bonjour,


Si qqun peut me préparer une GUI, contenant :
une zone de saisie d'IP,
une zone dans laquelle s'ajoute la ou les adresses IP, elle même contenant un "voyant" status (texte ou image/icon),
une zone de gestion des actions pour la zone précédente (supprimer de la zone et mettre en pause)

D'avance merci.

Cdlt, Dimvar.
Modifié en dernier par DimVar le mer. 16 mai 2018 16:24, modifié 2 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Demande de GUI  

#2

Message par TommyDDR »

Je n'avais rien dit pour l'ancien sujet mais : Je vous conseille de mettre un titre plus explicite, beaucoup de gens n'ouvrent les sujets que si le titre les y invitent.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Demande de GUI

#3

Message par jguinch »

► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#4

Message par DimVar »

@Tommy : Merci, rectifié.
@Jg : Merci, je jette un oeil cet aprem.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#5

Message par DimVar »

Top ! Merci JG pour le temps passé.
Je me permet qq questions pour ma culture... (d'autres viendront surement :mrgreen: )
-------------------------------------------


S'agit il d'un oubli ?

Code : Tout sélectionner

Global $iRunning = 0
Y a t il une raison pour poser des functions dans le pavé des variables ? EX : _GUICtrlListView_SetColumnWidth

Pourquoi chrW() plutôt qu'une string pour le bouton d'ajout d'une IP ?

Comment faire en sorte que la touche entrée valide la saisie de l'IP ?


Cdlt, Dimvar.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#6

Message par TommyDDR »

1) ChrW(0xBB) permet d'avoir un double chevron vers la droite, rien ne vous oblige à le mettre, c'est juste une question de préférence niveau beauté
2) Pour que la touche enter valide la saisie de l'ip, utilisez GUISetAccelerator, voici un exemple :
► Afficher le textecode
Pour le cas de la touche entrer, vous pouvez aussi utiliser

Code : Tout sélectionner

GUICtrlSetState($button, $GUI_DEFBUTTON
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#7

Message par DimVar »

TommyDDR a écrit :1) ChrW(0xBB) permet d'avoir un double chevron vers la droite, rien ne vous oblige à le mettre, c'est juste une question de préférence niveau beauté
ça je vois, mais l'aide parle d'un chiffre/nombre entre 0-65535. (et non d'une valeur hexa)...

[EDIT] Merci pour le GUISETACCELERATORS
Modifié en dernier par DimVar le lun. 26 janv. 2015 17:25, modifié 1 fois.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#8

Message par TommyDDR »

Une valeur en hexa est est un nombre.
0xBB = 187, c'est juste une autre maniere de l'écrire, mais c'est la même chose ;)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#9

Message par DimVar »

Ok, merci.

Quel est l’intérêt de la boucle dans _addip() ?
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#10

Message par jguinch »

Global $iRunning = 0 est un oubli (j'étais parti sur un truc que j'ai supprimé)
Pour la boucle dans _AddIp(), elle permet simplement d'éviter qu'une même adresse IP soit ajoutée deux fois dans la liste.
Pour ChrW (0xBB), c'est un truc que j'ai récupéré dans un de mes scripts. J'étais parti avec les valeurs affichés dans charmap.
Pour _GUICtrlListView_SetColumnWidth, il est placé juste après la listview. Ca peut être placé n'importe où, du moment que la variable (hwnd) est accessible.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#11

Message par DimVar »

Merci JG.

1).Est il possible de faire en sorte que :
Lorsque l'on execute la fonction _go (), elle teste toutes les IP en un tour de boucle, plutot que l'une apres l'autre. Dés que l'on a 10 IPs, on attends 10x sleep(2000) $iTimeout....

2).Quelle est cette bizarrerie ?

Code : Tout sélectionner

_GUICtrlListView_SetItemImage ($ID_Listview, $i,[b](Ping($sIP, $iTimeOut) ? 1 : 2))[/b]
Merci.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#12

Message par TommyDDR »

2) C'est l'opérateur ternaire (http://forum.phpfrance.com/faq-tutoriel ... 14111.html).
"condition ? _vrai : _faux"
Si la condition est vrai, alors la valeur "_vrai" sera utilisée, sinon, c'est la valeur "_faux" qui sera prise.
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#13

Message par DimVar »

Hum hum...
Donc ca sert à forcer le return value de Ping, en 0 ou 1 ?
Mais dans ce cas, que vaudra le code retour de Ping quand il pinguera et inversement ?
Quid de @error en cas d'echec ? Elle n'est plus renseignée ?
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#14

Message par TommyDDR »

non, ça sert à afficher une image en fonction du retour de la fonction ping.
Cela revient à faire ça :

Code : Tout sélectionner

Local $ping = Ping($sIP, $iTimeOut)
Local $image
If($ping = 0) Then
    $image = 2
Else
    $image = 1
EndIf
_GUICtrlListView_SetItemImage ($ID_Listview, $i, $image)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#15

Message par DimVar »

@Tommy : Merci

petit UP :
1).Est il possible de faire en sorte que :
Lorsque l'on execute la fonction _go (), elle teste toutes les IP en un tour de boucle, plutot que l'une apres l'autre. Dés que l'on a 10 IPs, on attends 10x sleep(2000) $iTimeout....

[Petit UP]
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2130
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#16

Message par TommyDDR »

Le plus simple serait d'exécuter le commande ping dans un processus différent et d'analyser les retours console dans une boucle.
Le plus propre serait de recoder le ping en mode non bloquant.

Voici pour le plus simple :
► Afficher le textecode
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#17

Message par jguinch »

Pour avoir plusieurs Ping en parallèle, tu n'auras pas d'autre choix que de les faire exécuter dans des programmes externes (comme l'a proposé Tommy).
Je suis reparti de mon code précédent et ajouté quelques trucs.
L'exécution du Ping se fait dans un process parallèle, mais avec la commande Ping AutoIt (qui permet de récupérer le temps de réponse facilement).
En utilisant AdLibRegister, on arrive à faire un truc non bloquant, mais sans forcément avoir un truc simple.
Pour les résultats, j'ai choisi de les stocker temporairement dans un fichier INI, qui évite l'utilisation d'un StdOutRead (c'est une autre méthode, simplement)
Pour les 10 Ping simultanés, c'est paramétrable, mais faudra y aller doucement :wink:
Ca donne ça pour l'instant :
► Afficher le texte
Voilà, j'ai une fois de plus réinventé la roue, car ce genre de truc existe déjà depuis belle lurette. :D
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [..] Creation de GUI (Surveillance Ping)

#18

Message par DimVar »

Merci Jg.
Désolé de t'avoir sollicité à "réinventer la roue" mais les qq outils que j'ai pu trouver étaient soit trop complet, soit en share, ou pas du tout intuitif.
Bref, je teste ça, mais à première vue, ça fait le boulot.

Cdlt, Dimvar.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Répondre