avec cette udf
► Afficher le texte
Code : Tout sélectionner
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.12.0
Auteur: Pandi_Panda
Fonction du Script :
Modèle de Script AutoIt.
#ce ----------------------------------------------------------------------------
#include "AutoitObject.au3"
_AutoItObject_StartUp()
; creation d'un arbre
Local $arbre = _new_Arbre(1)
ConsoleWrite($arbre.getRacine.getVal&@CRLF)
; ajout de 2 feuille a la racine
$arbre.getRacine.add(2)
$arbre.getRacine.add(3)
; parcours des feuilles crée
Local $arr = $arbre.getRacine.getFeuille
For $i = 0 To UBound($arr)-1
ConsoleWrite(@TAB&$arr[$i].getVal&@CRLF)
If $i == UBound($arr)-1 Then $arr[$i].add(4)
Next
; pour la feuille n°2 dans mon cas, je crée une autre feuille dont la valeur est 4
$arr = $arr[UBound($arr)-1].getFeuille
For $i = 0 To UBound($arr)-1
ConsoleWrite(@TAB&@TAB&$arr[$i].getVal&@CRLF)
Next
_AutoItObject_ShutDown()
Func _new_Arbre($valRacine = "")
Local $oClassObj = _AutoItObject_Class()
Local $racine = _new_feuille($valRacine)
$oClassObj.AddProperty("racine", $ELSCOPE_PRIVATE, $racine)
$oClassObj.AddMethod("getRacine", "public_arbre_get_racine")
Return $oClassObj.Object
EndFunc
Func _new_feuille($valFeuille)
Local $oClassObj = _AutoItObject_Class()
$oClassObj.AddProperty("val", $ELSCOPE_PRIVATE, $valFeuille)
$oClassObj.AddProperty("feuille", $ELSCOPE_PRIVATE,"")
$oClassObj.AddMethod("getVal", "public_feuille_get_val")
$oClassObj.AddMethod("setVal", "public_feuille_set_val")
$oClassObj.AddMethod("getFeuille", "public_feuille_get_feuille")
$oClassObj.AddMethod("add", "public_feuille_add_feuille")
Return $oClassObj.Object
EndFunc
; arbre
Func public_arbre_get_racine($self)
Return $self.racine
EndFunc
; feuille
Func public_feuille_get_val($self)
Return $self.val
EndFunc
Func public_feuille_set_val($self,$val)
_AutoItObject_AddProperty($self,"val",$ELSCOPE_PRIVATE, $val)
Return ""
EndFunc
Func public_feuille_get_feuille($self)
Return $self.feuille
EndFunc
Func public_feuille_add_feuille($self,$val)
Local $tmp = $self.feuille
Local $res
If Not IsArray($tmp) Then
Local $t[1] = [_new_feuille($val)]
$res = $t
Else
ReDim $tmp[UBound($tmp)+1]
$tmp[UBound($tmp)-1] = _new_feuille($val)
$res = $tmp
EndIf
_AutoItObject_AddProperty($self,"feuille",$ELSCOPE_PRIVATE,$res)
return ""
EndFunc► Afficher le texte
Code : Tout sélectionner
1
2
3
4




