[R] Maniplutions de tableaux.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Voor0ck
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 05 juin 2008 10:25
Status : Hors ligne

[R] Maniplutions de tableaux.

#1

Message par Voor0ck »

Bonjour,

je bloque sur une addition d'éléments d'un tableau.

Mon script recupere des chemins reseau via un fichier .ini, ensuite je dois calculer le volume de chaque dossier et les ajouter pour savoir si cela est inférieur à la taille du disque C:, si c'est le cas, je lance la copie des repertoires reseaux sur le disque C:.

Début de mon code :

Code : Tout sélectionner

#include <file.au3>
#include <Array.au3>

;calculer l'espace restant sur C:
$sizeC = DriveSpaceFree( "c:\" )
MsgBox(4096, "Free space on C:", $sizeC & " MB")

;lire fichier .ini
$file = FileOpen("c:\robocopy.ini",0)
$CountLines = _FileCountLines("c:\robocopy.ini")

Local $avArray[$CountLines]

for $i = 0 to $CountLines-1
$line = FileReadLine($file)
$sizeS = DirGetSize($line)
$sizeS = Round($sizeS / 1024 / 1024)
$avArray[$i] = $sizeS
;_ArrayDisplay($avArray, "$avArray")    
If @error = -1 Then ExitLoop
MsgBox(0, "Line read:", $line)
MsgBox(0, "Taille dossier N°" & $i, $avArray[$i])
Next
 
Mon probleme est donc d'ajouter ensemble tous les $avArray[$i] pour avoir le volume total de ce que je dois copier.
Modifié en dernier par Voor0ck le mar. 19 janv. 2010 10:38, modifié 1 fois.
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Maniplutions de tableaux.

#2

Message par timmalos »

La prochaine fois pensez a mettre les balises de code svp. Merci à Yogui pour le rapport.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Maniplutions de tableaux.

#3

Message par matwachich »

essay ca

Code : Tout sélectionner

#include <file.au3>
#include <Array.au3>

;calculer l'espace restant sur C:
$sizeC = DriveSpaceFree( "c:\" )
MsgBox(4096, "Free space on C:", $sizeC & " MB")

;lire fichier .ini
$file = FileOpen("c:\robocopy.ini",0)
$CountLines = _FileCountLines("c:\robocopy.ini")

Local $avArray[$CountLines]

for $i = 0 to $CountLines-1 Step 1
    $line = FileReadLine($file)
    $sizeS = DirGetSize($line)
    $sizeS = Round($sizeS / 1024 / 1024)
    $avArray[$i] = $sizeS
    ;_ArrayDisplay($avArray, "$avArray")
    If @error = -1 Then ExitLoop
    MsgBox(0, "Line read:", $line)
    MsgBox(0, "Taille dossier N°" & $i, $avArray[$i])
Next

For $i = 0 To $CountLines-1 Step 1
    Local $total
    $total += $avArray[$i]
Next
MsgBox(0, "Taille total", $total)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Voor0ck
Niveau 2
Niveau 2
Messages : 19
Enregistré le : jeu. 05 juin 2008 10:25
Status : Hors ligne

Re: [..] Maniplutions de tableaux.

#4

Message par Voor0ck »

Merci, cela fonctionne parfaitement :D
Répondre