Affiche un tableau 1D ou 2D dans un contr�le ListView
#include <Array.au3>
_ArrayDisplay ( Const ByRef $aArray [, $sTitle = "ArrayDisplay" [, $sArrayRange = "" [, $iFlags = 0 [, $vUser_Separator = Default [, $sHeader = Default [, $iMax_ColWidth = Default]]]]]] )
$aArray | Tableau � afficher |
$sTitle | [optionnel] Titre pour l'affichage. Par d�faut "ArrayDisplay". |
$sArrayRange | [optionnel] Plage de lignes/colonnes � afficher. Par d�faut (""), le tableau entier. (Voir ci-dessous pour plus de d�tails) |
$iFlags | [optionnel] D�termine les options UDF. Ajoutez des valeurs ensemble si besoin: $ARRAYDISPLAY_COLALIGNLEFT (0) = (par d�faut) Alignement du texte dans les colonnes - � gauche $ARRAYDISPLAY_TRANSPOSE (1) = Transpose le tableau $ARRAYDISPLAY_COLALIGNRIGHT (2) = Alignement du texte dans les colonnes - � droite $ARRAYDISPLAY_COLALIGNCENTER (4) = Alignement du texte dans les colonnes - au centre $ARRAYDISPLAY_VERBOSE (8) = Verbose - affiche MsgBox si erreur et recouvre l'�cran pour de grands tableaux 16 = Obsol�te 32 = Obsol�te $ARRAYDISPLAY_NOROW (64) = Aucune colonne 'Row' ne s'affiche |
$vUser_Separator | [optionnel] Obsol�te. Gard� pour la compatibilit� des scripts. |
$sHeader | [optionnel] Les noms des colonnes dans l'ent�te (cha�ne de noms s�par�s par le s�parateur courant - en g�n�ral "|" ). Par d�faut voir Remarques. |
$iMax_Colwidth | [optionnel] Largeur maximale � laquelle une colonne de ListView s'�largit pour afficher le contenu. Valeur par d�faut 350 pixels. |
Succ�s: | Retourne 1 |
�chec: | Retourne 0 et d�finit @error <> 0 : |
@error: | 1 - $aArray n'est pas un tableau 2 - $aArray a trop de dimensions (seulement 1D et 2D est support�) |
Si le param�tre $aArray n'est pas un tableau ou est un tableau de plus de 2 dimensions, la fonction retourne une erreur et le script continue. Si le param�tre "verbose" est install� dans $iFlags une MsgBox s'affiche qui offre la possibilit� de quitter imm�diatement le script ou de continuer le script avec un retour normal d'erreur.
Bien qu'il n'y ait aucune limite sur la taille du tableau � afficher, il y a une limitation des contr�les de Windows, ce qui signifie que les en-t�tes et les colonnes des ListView ne s'alignent pas s'il y en a plus de 600 environ.
La syntaxe du param�tre $sArrayRange est la suivante:
"7" | Affiche les lignes 0-7 avec toutes les colonnes |
"7:" | Affiche les lignes 7-fin avec toutes les colonnes |
"|7" | Affiche toutes les lignes avec les colonnes 0-7 |
"|7:" | Affiche toutes les lignes avec les colonnes 7-fin |
"7|7" | Affiche les lignes 0-7 avec les colonnes 0-7 |
"5:7" | Affiche les lignes 5-7 avec toutes les colonnes |
"|5:7" | Affiche toutes les lignes avec les colonnes 5-7 |
"7|5:7" | Affiche les lignes 0-7 avec les colonnes 5-7 |
"5:7|7" | Affiche les lignes 5-7 avec les colonnes 0-7 |
"5:7|5:7" | Affiche les lignes 5-7 avec les colonnes 5-7 |
#include <Array.au3> #include <MsgBoxConstants.au3> Example() Func Example() ; Cr�e un tableau 1D et l'affiche Local $aArray_1D[5] = ["Item 0", "Item 1", "Un long Item 2 pour montrer l'extension de la colonne", "Item 3", "Item 4"] _ArrayDisplay($aArray_1D, "Affichage 1D") ; Cr�e un tableau 2D � afficher Local $aArray_2D[20][15] For $i = 0 To UBound($aArray_2D) - 1 For $j = 0 To UBound($aArray_2D, 2) - 1 $aArray_2D[$i][$j] = "Item " & StringFormat("%02i", $i) & StringFormat("%02i", $j) Next Next _ArrayDisplay($aArray_2D, "Affichage 2D") _ArrayDisplay($aArray_2D, "Affichage 2D transpos�", Default, 1) ReDim $aArray_2D[20][10] $aArray_2D[5][5] = "Un long item pour montrer l'expansion de la colonne" _ArrayDisplay($aArray_2D, "Expansion colonne - Titres personnalis� - pas de ligne/colonne", Default, 64, Default, "AA|BB|CC|DD|EE|FF|GG|HH|II|JJ") $aArray_2D[5][5] = "Alignement de la colonne d�fini � droite" _ArrayDisplay($aArray_2D, "D�finition par plage - alignement � droite", "3:7|4:9", 2, Default, "AA|BB|CC|DD|EE|FF") $aArray_2D[5][5] = "Alignement de la colonne d�fini � gauche" Opt("GUIDataSeparatorChar", "!") _ArrayDisplay($aArray_2D, "! S�parateur d'ent�te", "3:7|4:9", Default, Default, "AA!BB!CC!DD!EE!FF") ; Cr�e une variable non tableau pour forcer une erreur - MsgBox s'affiche car $iFlags est install� Local $vVar = 0, $iRet, $iError $iRet = _ArrayDisplay($vVar, "Pas de MsgBox lors d'une Erreur") $iError = @error MsgBox(0, "Erreur _ArrayDisplay()", "Retourne sans Msgbox interne $iret =" & $iRet & " @error=" & $iError) $iRet = _ArrayDisplay($vVar, "MsgBox lors d'une Erreur", Default, 8) $iError = @error MsgBox(0, "Erreur _ArrayDisplay()", "Retourne une Msgbox interne sans forcer un Exit $iret =" & $iRet & " @error=" & $iError) EndFunc ;==>Example