[UDF] ArrayEx.au3 - Fonctions de gestion de tableaux 1D/2D

Partagez des fonctions et des UDF AutoIt.
Règles du forum
.
Répondre
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

[UDF] ArrayEx.au3 - Fonctions de gestion de tableaux 1D/2D

#1

Message par Tlem »

Suite à la fonction ArrayFileToArray, qui permettait de transformer un fichier style CVS ou similaire en tableau 2D, j'avais réalisé deux autres fonctions qui m'ont servies de temps en temps à la manipulation de chaine et de tableau.

Puis, suite à ce sujet, il à fallu que je me replonge dans le code déjà établit et tant qu'à faire, à l'amélioré.

Tout n'est sans doute pas parfait, mais chacun pourra améliorer ou proposer d'améliorer chacune de ces fonctions.

Voici donc la liste des fonctions disponibles dans cet UDF :
  • _StringToArray1D
  • _StringToArray2D
  • _ArrayToStringEx
  • _ArrayDeleteLines
  • _ArrayConcatenateEx
  • _Array2DToHtmlArray
  • _HtmlArrayToArray2D
_StringToArray1D vous permettra de convertir une chaine et donc un fichier en un tableau 1D.
Vous pourrez choisir :
  • - La ligne de début et de fin de conversion.
    - Avec ou sans index
    - Avec ou sans ligne vide
Cela pourrait donner une conversion du genre :

Code : Tout sélectionner

0,1,2,3,4
5,6,7,8,9
en un tableau comme ceci :

Code : Tout sélectionner

|0,1,2,3,4|
|5,6,7,8,9|
_StringToArray2D vous permettra de convertir une chaine et donc un fichier en un tableau 2D.
Vous pourrez choisir :
  • - La ligne de début et de fin de conversion.
    - Avec ou sans index
    - Avec ou sans ligne vide
Cela pourrait donner une conversion du genre :

Code : Tout sélectionner

0,1,2,3,4
5,6,7,8,9
en un tableau comme ceci :

Code : Tout sélectionner

| 0 | 1 | 2 | 3 | 4 |
| 5 | 6 | 7 | 8 | 9 |

_ArrayToStringEx vous permettra de convertir un tableau 2D ou 1D en une chaine de caractère et donc en fichier.
Vous déterminer :
  • - Le séparateur des éléments.
    - Le séparateur de lignes.
    - La ligne de début et de fin de conversion.
    - La colonne de début et de fin de conversion
    - Avec ou sans index
    - Avec ou sans ligne vide
Autrement dit, vous pourrez récupérer n'importe qu'elle partie d'un tableau 2D et l'utiliser pour traitement.

_ArrayDeleteLines vous permettra de supprimer facilement des lignes dans un tableau 1D ou 2D.
Vous pourrez choisir :
  • - Une utilisation sans paramètres complémentaires pour supprimer les lignes vide.
    - Le texte d'une ou plusieurs valeurs à chercher pour supprimer une ou plusieurs lignes.
    - Le type de recherche (Égal à ou contient la valeur).
_ArrayConcatenateEx vous permettra de concaténer deux tableaux qu'ils soient 1D ou 2D.

_Array2DToHtmlArray et _HtmlArrayToArray2D, comme leur nom l'indique, permettent de récupérer ou de créer des tableaux à partir de page internet ou fichier html.

Je joint à ce message l'UDF avec deux exemples (un en Français et l'autre en Anglais) qui vous permettra de mieux comprendre le fonctionnement de ces fonctions.

Bon code à tous.

Edit du 09/06/2012 :
  • - Ajout de la fonction _ArrayDeleteLines dont le code de base provient de la fonction _ArrayDeleteEmptyRows crée par mikell.
Edit du 09/09/2012 :
  • - Correction de la fonction _Array2DToString sur la prise en charge des tableaux 1D et renommée pour l'occasion en _ArrayToStringEx
    - Correction de la fonction _Array2DToString sur un bug lorsqu'un élément du tableau est égal à 0 et que le flag $EmptyLine est utilisé.
    - Ajout de la fonction _ArrayConcatenateEx inspirée en partie par PandiPanda pour la partie 2D + 2D
    - Mise à jour des fichiers d'exemples
► Afficher le texteHistorique des téléchargements
Fichiers joints
ArrayEx.zip
(9.53 Kio) Téléchargé 655 fois
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é".
Avatar du membre
TT22
Membre émérite
Membre émérite
Messages : 1566
Enregistré le : lun. 18 avr. 2011 15:21
Localisation : La Quatrième Dimension
Status : Hors ligne

Re: [UDF] ArrayEx.au3 - Fonctions de gestion de tableaux 1D

#2

Message par TT22 »

Humm, c'est un UDF très bien réalisé avec des exemples assez parlants.
Je pense qu'il me servira beaucoup :wink:
Cordialement,
TT22
Avatar du membre
TommyDDR
Modérateur
Modérateur
Messages : 2086
Enregistré le : mar. 22 juil. 2008 21:55
Localisation : Nantes
Status : Hors ligne

Re: [UDF] ArrayEx.au3 - Fonctions de gestion de tableaux 1D

#3

Message par TommyDDR »

[Déplacement]

Bonjour,
Voici un UDF pour gérer les Array un peu plus poussé que Array.au3, entre autre pour les recherche dans des Array à 2 dimensions.
Fichiers joints
_ArrayEx.au3
(6.63 Kio) Téléchargé 442 fois
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679
Répondre