[R] Souci de gestion des ARRAY

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
TazElFormadorLoco
Niveau 1
Niveau 1
Messages : 4
Enregistré le : dim. 28 mars 2010 16:57
Localisation : 49
Status : Hors ligne

[R] Souci de gestion des ARRAY

#1

Message par TazElFormadorLoco »

Bonjour à tous,
Voici mon problème:
Je souhaite filtrer/TRIER un fichier.ini avec plusieurs sections indentiques EN PASSANT PAR UNE ARRAY (Qui me servira à terme à relever une section complète du tableau crée).
La fonction de lecture des fichiers INI ne voyant que la première section (si sections indentiques ), je renome la section entre deux lectures pour pouvoir lire les sections présentes x fois.
J'obtiens x array au lieu d'une :-(

Idéalement je voudrais une array de type:
Row Col0 Col1

KEY 295436028
PRODUIT 1 RTERT5464R
LICENCE 25 FZER45SDFF=SDF=
LICENCE 50 FSDRTELKF=SPOIF==
LICENCE 75 DSQ45SDFF=SHHF
----------------------------------------

Une idée pour me sortir de là ? Je suis sur que je patauge sérieusement...
Merci par avance pour le temps que vous voudrez bien me consacrer

Exemple de fichier.ini:
► Afficher le texte
Voici mon code:

Code : Tout sélectionner

#include <Array.au3>
#include <File.au3>

    $sIniTemp = @ScriptDir & "\certificate_complet.ini"

    Global $sections_Certif_Array
    Global $CertifArray
;lecture de toutes les sections
    $sections_Certif_Array = IniReadSectionNames($sIniTemp)
    If @error Then
        MsgBox(4096, "", "Error occurred, probably no INI file.")
    Else
        _ArrayDisplay($sections_Certif_Array, "SECTIONS")
;~      MsgBox(4096, "", $sections_Certif_Array[1])
    EndIf

;lecture de toutes les valeurs des sections trouvées précédement


    For $i = 1 To $sections_Certif_Array[0]
        _ArrayAdd($CertifArray, IniReadSection($sIniTemp, $sections_Certif_Array[$i]))
;remplacée car une table par lecture et pas une table avec toutes les valeurs
;~         $CertifArray = IniReadSection($sIniTemp, $sections_Certif_Array[$i])
; renomme section car peuvent exister x fois
IniRenameSection($sIniTemp, $sections_Certif_Array[$i], $sections_Certif_Array[$i] & "_taz_")
    Next
_ArrayDisplay($CertifArray, "SECTIONS")

    For $i = 1 To $sections_Certif_Array[0]
_ReplaceStringInFile($sIniTemp,"_taz_","")
    FileWriteLine($sIniTemp, "")
    Next

MsgBox(4096, "Test", "This box will time out in 10 seconds", 10)
Modifié en dernier par TazElFormadorLoco le sam. 13 nov. 2010 08:11, modifié 1 fois.
Si toi aussi tu es en quête de réponse,
Appui sur F1

Taz El Formador Loco
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Souci de gestion des ARRAY

#2

Message par jbnh »

Salut, voici un exemple :

Code : Tout sélectionner

#include <Array.au3>
#include <File.au3>

    $sIniTemp = @ScriptDir & "\certificate_complet.ini"

    Global $sections_Certif_Array
    Global $CertifArray[99][3]
    
    $sections_Certif_Array = IniReadSectionNames($sIniTemp)
    If @error Then
        MsgBox(4096, "", "Error occurred, probably no INI file.")
    Endif


    For $i = 1 To $sections_Certif_Array[0]
    
        $CertifArray[$i-1][0] = $sections_Certif_Array[$i]      
        $CertifArray[$i-1][1] = IniRead($sIniTemp, $sections_Certif_Array[$i], "value", "NotFound")     
        $CertifArray[$i-1][2] = IniRead($sIniTemp, $sections_Certif_Array[$i], "certificate", "NotFound")               
        
        If($sections_Certif_Array[$i] = "LICENCE") Then     
            IniRenameSection($sIniTemp , "LICENCE", "LICENCE"&$i)
        Endif
        
    Next
_ArrayDisplay($CertifArray, "SECTIONS", $sections_Certif_Array[0]-1)
 
Le problème avec arrayadd, c'est qu'il concerne les array 2D uniquement (donc pas nous)
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Avatar du membre
TazElFormadorLoco
Niveau 1
Niveau 1
Messages : 4
Enregistré le : dim. 28 mars 2010 16:57
Localisation : 49
Status : Hors ligne

Re: [..] Souci de gestion des ARRAY

#3

Message par TazElFormadorLoco »

Bonjour,
Quel bonheur pour le p'tit déj ! \o/
Merci beaucoup
Quelle aide précieuse, je passe à l'étape suivante !
Si toi aussi tu es en quête de réponse,
Appui sur F1

Taz El Formador Loco
Répondre