[R] Créer un tableau Dim modifiable (évolutif)
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[R] Créer un tableau Dim modifiable (évolutif)
Bonjour à tous,
J'ai besoin de faire évoluer un script pour mettre à jour des machines distantes.
Pour l'instant, je mets à jour un peu plus d'une douzaine de matériels mais le nombre peut augmenter .
Pour le moment j'ai créé un tableau fixe, Dim[14], chacun des éléments étant traité à la suite dans une boucle.
Dim $mat[14]
$mat[0]="ip mat1"
$mat[1]="ip mat2"
etc...
For $element in $mat
Ici se passe la mise à jour...
Mais à présent, je souhaite créer un tableau évolutif en fonction des besoins en dimension, à partir d'une base ou d'un fichier. Ce qui me permettrait d'ajouter ou de retirer des éléments sans toucher au programme directement et donc sans modifier à chaque fois le tableau.
Merci bien pour vos réponses et pour votre aide.
J'ai besoin de faire évoluer un script pour mettre à jour des machines distantes.
Pour l'instant, je mets à jour un peu plus d'une douzaine de matériels mais le nombre peut augmenter .
Pour le moment j'ai créé un tableau fixe, Dim[14], chacun des éléments étant traité à la suite dans une boucle.
Dim $mat[14]
$mat[0]="ip mat1"
$mat[1]="ip mat2"
etc...
For $element in $mat
Ici se passe la mise à jour...
Mais à présent, je souhaite créer un tableau évolutif en fonction des besoins en dimension, à partir d'une base ou d'un fichier. Ce qui me permettrait d'ajouter ou de retirer des éléments sans toucher au programme directement et donc sans modifier à chaque fois le tableau.
Merci bien pour vos réponses et pour votre aide.
Modifié en dernier par Tlem le ven. 31 oct. 2008 00:14, modifié 2 fois.
Raison : Ajout de la balise [..] dans le titre
Raison : Ajout de la balise [..] dans le titre
- jbnh
- Niveau 11
- Messages : 1932
- Enregistré le : ven. 02 mai 2008 14:54
- Localisation : Bruxelles
- Status : Hors ligne
Re: Créer un tableau Dim modifiable (évolutif)
Oui il y a bien sur moyen , il suffit de détecter le nombre de matériel pour déterminer la longeur de l'array. Mais il nous faudrait plus d'info sur cette 'base' pour savoir de quoi il s"agit.
Je veux dire par la, comment est-il structuré
Je veux dire par la, comment est-il structuré
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !
Merci
Merci
Re: Créer un tableau Dim modifiable (évolutif)
Bonjour,
Voici les informations complémentaires :
En fait, le tableau contient chacune des adresses IP pour chaque matériel pour lancer une session telnet ou ssh. Ensuite le programme envoie les commandes de mise à jour.
Le tableau se présente ainsi :
Dim $mat[14]
$mat[0]="telnet <adresse ip1>"
$mat[1]="telnet <adresse ip2"
etc...
For $element in $mat
Ensuite quand la session est connectée j'envoie les identifiants + les commandes de mise à jour enregistrées dans des variables.
Pour plus d'efficacité, il faudrait que le tableau puisse varier en fonction des matériels à mettre à jour, et qui est variable. Je ne vois qu'un tableau basé sur un fichier ou une base (dans un premier temps il pourrait s'agir d'un simple fichier) plutôt que de modifier le tableau Dim à chaque fois. Ce fichier se présenterait comme cela s'il s'agit d'utiliser telnet :
Telnet <adresse ip1>
Telnet <adresse ip2>...
Merci bien.
Voici les informations complémentaires :
En fait, le tableau contient chacune des adresses IP pour chaque matériel pour lancer une session telnet ou ssh. Ensuite le programme envoie les commandes de mise à jour.
Le tableau se présente ainsi :
Dim $mat[14]
$mat[0]="telnet <adresse ip1>"
$mat[1]="telnet <adresse ip2"
etc...
For $element in $mat
Ensuite quand la session est connectée j'envoie les identifiants + les commandes de mise à jour enregistrées dans des variables.
Pour plus d'efficacité, il faudrait que le tableau puisse varier en fonction des matériels à mettre à jour, et qui est variable. Je ne vois qu'un tableau basé sur un fichier ou une base (dans un premier temps il pourrait s'agir d'un simple fichier) plutôt que de modifier le tableau Dim à chaque fois. Ce fichier se présenterait comme cela s'il s'agit d'utiliser telnet :
Telnet <adresse ip1>
Telnet <adresse ip2>...
Merci bien.
-
- Niveau 11
- Messages : 1826
- Enregistré le : lun. 23 juil. 2007 12:31
- Localisation : Bureau
- Status : Hors ligne
Re: Créer un tableau Dim modifiable (évolutif)
bonjour Eddy
suis pas doué dans ce domaine, je passe un tour ^^'
regarde cette exemple Tableau dynamique à partir d'un tableay statique
suis pas doué dans ce domaine, je passe un tour ^^'
regarde cette exemple Tableau dynamique à partir d'un tableay statique
- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Créer un tableau Dim modifiable (évolutif)
Une idée comme une autre serait d'utiliser un fichier .INI (qui permettra de créer le tableau automatiquement).
Cette solution à pour mérite de pouvoir évoluer rapidement.
Par exemple vous pouvez ajouter une machine indépendamment du script principal, ou au prix d'une modification mineure du script, ajouter une information par machine.
Les fonctions de lecture sont toutes faites
:
Vraiment trop simple. 
Code : Tout sélectionner
[Mat1]
ip="telnet <adresse ip1>"
[Mat2]
ip="telnet <adresse ip2>"
Par exemple vous pouvez ajouter une machine indépendamment du script principal, ou au prix d'une modification mineure du script, ajouter une information par machine.
Code : Tout sélectionner
[Mat1]
ip="telnet <adresse ip1>"
Name="PC1"
[Mat2]
ip="telnet <adresse ip2>"
Name="PC2"

Code : Tout sélectionner
IniReadSectionNames ( "filename" )
IniReadSection ( "filename", "section" )
IniRead ( "filename", "section", "key", "default" )

Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Créer un tableau Dim modifiable (évolutif)
Merci Thierry et merci à chacun d'entre vous,
En effet la solution d'un fichier ".ini" est à essayer.
En ce qui concerne le lien "Tableau dynamique à partir d'un tableau statique", je n'en saisis pas encore toute la logique pour le mettre en pratique.
En effet la solution d'un fichier ".ini" est à essayer.
En ce qui concerne le lien "Tableau dynamique à partir d'un tableau statique", je n'en saisis pas encore toute la logique pour le mettre en pratique.
- Tlem
- Site Admin
- Messages : 11796
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Créer un tableau Dim modifiable (évolutif)
En ce qui concerne le tableau dynamique, aujourd'hui virtuellement tout tableau est dynamique !!!
En effet l'UDF Array.au3 permet de nombreuses manipulations sur les tableaux.
Voici la liste des fonctions contenues dans l'UDF Array.au3 :
Tant que les choses sont en mémoire pas de problème, mais en l'occurrence vous souhaitez gérer une liste de matériels et à partir de cette liste créer un tableau.
Donc le fichier .INI est tout indiqué, ou si votre liste de matériel doit devenir si grosse que la capacité normale d'un fichier .INI est dépassée, alors il faudra passer par une base de donnée (mais je pense pas que vous deviez allé jusque là
)
En effet l'UDF Array.au3 permet de nombreuses manipulations sur les tableaux.

Voici la liste des fonctions contenues dans l'UDF Array.au3 :
- ;_ArrayAdd
;_ArrayBinarySearch
;_ArrayConcatenate
;_ArrayDelete
;_ArrayDisplay
;_ArrayFindAll
;_ArrayInsert
;_ArrayMax
;_ArrayMaxIndex
;_ArrayMin
;_ArrayMinIndex
;_ArrayPop
;_ArrayPush
;_ArrayReverse
;_ArraySearch
;_ArraySort
;_ArraySwap
;_ArrayToClip
;_ArrayToString
;_ArrayTrim

Tant que les choses sont en mémoire pas de problème, mais en l'occurrence vous souhaitez gérer une liste de matériels et à partir de cette liste créer un tableau.
Donc le fichier .INI est tout indiqué, ou si votre liste de matériel doit devenir si grosse que la capacité normale d'un fichier .INI est dépassée, alors il faudra passer par une base de donnée (mais je pense pas que vous deviez allé jusque là

Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Créer un tableau Dim modifiable (évolutif)
Bonjour,
La méthode de Thierry, le fichier ".INI", a très bien fonctionnée. Après plusieurs tests, aucun problème rencontré. A terme, pour l'usage d'autres personnes, je pense automatiser la liste des matériels contenus dans ce fichier ".INI", afin d'y ajouter ou de supprimer des équipements réseaux. Je ne suis pas encore très familier avec Autoit, mais je pense qu'on doit pouvoir ajouter des sections supplémentaires en incrémentant le nombre associé au nom de la section : ex. [Mat1], [Mat2], ... [Mat20]...
Bien cordialement
La méthode de Thierry, le fichier ".INI", a très bien fonctionnée. Après plusieurs tests, aucun problème rencontré. A terme, pour l'usage d'autres personnes, je pense automatiser la liste des matériels contenus dans ce fichier ".INI", afin d'y ajouter ou de supprimer des équipements réseaux. Je ne suis pas encore très familier avec Autoit, mais je pense qu'on doit pouvoir ajouter des sections supplémentaires en incrémentant le nombre associé au nom de la section : ex. [Mat1], [Mat2], ... [Mat20]...
Bien cordialement