[..] Problême d'array

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
servabat
Niveau 4
Niveau 4
Messages : 69
Enregistré le : sam. 02 avr. 2011 16:26
Status : Hors ligne

[..] Problême d'array

#1

Message par servabat »

Salut,

Désolé d'ouvrir un post pour un oui ou pour un non :oops: mais j'obtient une erreur malgrès mes quantitée de test.
Mon script bug a une ligne ou je défini la taille de l'array:

Code : Tout sélectionner

  $bin[BitRotate(((UBound($str) - 1) * $chrsz), 5)]
Je ne comprend pas où est l'erreur de syntaxe... :/
Encore désolé :/

Merci d'avance,
Servabat
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Problême d'array

#2

Message par PandiPanda »

et quel erreur en resort? un copier coller de l'erreur serai bien :P

Parceque voila avec BitRotate() on est dan la capacité de retourner un nombre négatif ... sans oublié que si il échoue, encore un problème '^^
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
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: [..] Problême d'array

#3

Message par matwachich »

Est ce que $str est un array? car UBound ne s'utilise que pour les arrays.
Pour la longueur d'une chaine (string) utilisez StringLen.

Aussi, vérifiez bien vos parenthèses. (il est 3h du mat, j'ai la flem de le faire pour vous, dsl lol)
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
servabat
Niveau 4
Niveau 4
Messages : 69
Enregistré le : sam. 02 avr. 2011 16:26
Status : Hors ligne

Re: [..] Problême d'array

#4

Message par servabat »

En fait cette fonction acceptait une entrée soit string soit array. J'ai changé, mais maintenant, j'obtient une autre erreur:

Code : Tout sélectionner

: ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
$bin[BitRotate($i, -5)] = BitOR($bin[BitRotate($i, -5)], BitRotate(BitAND(Asc(StringTrimLeft(StringLeft($str, $i / $chrsz), ($i / $chrsz) - 1)), $mask), (24 - Mod($i, 32))))
^ ERROR
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Problême d'array

#5

Message par PandiPanda »

ceci devrai vous aider Arrays- Autoit Wiki
: ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
Google Trad. :> Variable Array a un nombre incorrect d'indices ou de la gamme dimension indice dépassé.:
Note: vérifier vos parenthèse aussi ^^ (la flemme de le faire :p) . Qui sait l'ajout de crochet est peut être nécessaire? :wink:
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
servabat
Niveau 4
Niveau 4
Messages : 69
Enregistré le : sam. 02 avr. 2011 16:26
Status : Hors ligne

Re: [..] Problême d'array

#6

Message par servabat »

Oui, je sais ce que veut dire ce message, mais j'ai fait ceci, et cela bugue toujours :

Code : Tout sélectionner

 For $i = 0 to StringLen($str) * $chrsz Step $chrsz
    if BitRotate($i, -5) > UBound($bin) Then
        ReDim $bin[BitRotate($i, -5)]
    EndIf
    $bin[BitRotate($i, -5)] = BitOR($bin[BitRotate($i, -5)], BitRotate(BitAND(Asc(StringTrimLeft(StringLeft($str, $i / $chrsz), ($i / $chrsz) - 1)), $mask), (24 - Mod($i, 32))))
  Next
Donc ce n'est pas normal que ca bugue toujours...
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Problême d'array

#7

Message par PandiPanda »

pouvez vous faire un msgbox(0,''",BitRotate($i, -5)) ?

et pour afffecter une valeur a un array, ca se fait de cette maniere ci;

Code : Tout sélectionner

$array[3]=[1,2,3]
OU
$array[3]
$array[0]=1
$array[1]=2
$array[2]=3
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Répondre