J'ai amélioré l'UDF "Array.au3" pour pouvoir travailler avec des Matrices à 2 dimensions, avec également de nouvelles fonctions.
Ci-joint le fichier à inclure et des exemples.
Liste des fonctions :
► Afficher le texte
Nouvelles fonctions :
- _Array2D_Clear => efface une (ou plusieurs) ligne ou colonne d'une matrice
- _Array2D_From1D => transforme une matrice 1D en matrice 2D
- _Array2D_FromString => StringSplit adapté avec 2 dimensions
- _Array2D_StringOperation => permet de faire un StringLower, un StringLeft, un StringStripCR, etc pour tous les éléments d'une matrice
- _Array2D_PutValue => met une valeur à un endroit d'une matrice (peu utile mais cette fonction est utilisée dans _Array2D_Insert, _Array2D_Add)
- _Array2D_RandomMix => mélange au hasard une matrice
- _Array2D_Shift => décale les éléments dans une matrice
- _Array2D_SwapByIndex => comme _Array2D_Swap, mais cette fonction s'applique sur des colonnes/lignes entières et pas sur des cases.
- _Array2D_ToConsole => affiche le contenu d'une matrice dans la console
- _Array2D_Transpose => inverse les dimensions d'une matrice 2D
- _Array2D_To1D => transforme une matrice 2D en matrice 1D
- _Array2D_SetDelim => définit un délimiteur pour saisir sous forme de chaîne des matrices 1D.
Anciennes fonctions modifiées :
- _ArrayAdd => _Array2D_Add => paramètres $iDim, $iSubItem, $iDoubleRedim ajoutés
- _ArrayBinarySearch => _Array2D_BinarySearch => $iDim, $iSubItem ajoutés ; codes erreurs modifiés (voir plus bas)
- _ArrayDelete => _Array2D_Delete => $iDim ajouté ; codes erreurs modifiés
- _Array2D_Display => $avCol et $avLines ajoutés
- _ArrayFindAll => _Array2D_FindAll => $iDim ajouté ; codes erreurs modifiés
- _ArrayInsert => _Array2D_Insert => $iDim, $iSubItem, $iDoubleRedim ajoutés ; codes erreurs modifiés
- _ArrayMax => _Array2D_Max => $iDim, $iSubItem ajoutés ; codes erreurs modifiés
- _ArrayMaxIndex => _Array2D_Max => $iDim, $iSubItem ajoutés ; codes erreurs modifiés
- _ArrayMin => _Array2D_Min => $iDim, $iSubItem ajoutés ; codes erreurs modifiés
- _ArrayMinIndex => _Array2D_MinIndex => $iDim, $iSubItem ajoutés ; codes erreurs modifiés
- _ArrayPop => _Array2D_Pop => $iDim ajouté
- _ArrayPush => _Array2D_Push => $iDim, $iSynchronize, $iSubItem ajoutés ; codes erreurs modifiés
- _ArrayReverse => _Array2D_Reverse => $iDim ajouté ; codes erreurs modifiés
- _ArraySearch => _Array2D_Search => $iDim ajouté ; codes erreurs modifiés
- _ArraySort => _Array2D_Sort => $iDim, $iSynchronize ajoutés ; codes erreurs modifiés
- _ArrayToClip => _Array2D_ToClip => nombreux paramètres ajoutés (not. ajout du choix des délimiteurs) ; codes erreurs modifiés
- _ArrayToString => _Array2D_ToString => $iDim, $sSubDelim, $iSubStart, $iSubEnd ; codes erreurs modifiés
Anciennes fonctions identiques :
- _Array2D_Swap
- _Array2D_Concatenate => utilisez _Array2D_Add
- _Array2D_Trim => utilisez _Array2D_StringOperation
Autres ajouts :
- La valeur
Default est bien prise en compte.
- Le paramètre
$iEnd vaut par défaut -1 (fin de la matrice) au lieu de 0. Si vous mettez 0 comme valeur, elle ne sera pas remplacée par la fin de la matrice comme avant.
Nouveaux codes d'erreurs :
- 0 = pas d'erreur
- 1 = $avArray n'est pas une matrice
- 2 = $avArray a un nombre de dimensions incorrect
- 3 = $iDim n'est pas égal à 1 ou 2
- 4 et + = autres codes d'erreur