Aide et conseils concernant AutoIt et ses outils.
servabat
Niveau 4
Messages : 69 Enregistré le : sam. 02 avr. 2011 16:26
Status :
Hors ligne
#1
Message
par servabat » dim. 31 juil. 2011 00:10
Salut,
Désolé d'ouvrir un post pour un oui ou pour un non
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:
Je ne comprend pas où est l'erreur de syntaxe... :/
Encore désolé :/
Merci d'avance,
Servabat
PandiPanda
Membre émérite
Messages : 656 Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status :
Hors ligne
#2
Message
par PandiPanda » dim. 31 juil. 2011 01:18
et quel erreur en resort? un copier coller de l'erreur serai bien
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
matwachich
Membre émérite
Messages : 986 Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status :
Hors ligne
#3
Message
par matwachich » dim. 31 juil. 2011 04:20
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)
servabat
Niveau 4
Messages : 69 Enregistré le : sam. 02 avr. 2011 16:26
Status :
Hors ligne
#4
Message
par servabat » dim. 31 juil. 2011 18:34
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
PandiPanda
Membre émérite
Messages : 656 Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status :
Hors ligne
#5
Message
par PandiPanda » dim. 31 juil. 2011 19:08
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?
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
servabat
Niveau 4
Messages : 69 Enregistré le : sam. 02 avr. 2011 16:26
Status :
Hors ligne
#6
Message
par servabat » dim. 31 juil. 2011 19:12
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...
PandiPanda
Membre émérite
Messages : 656 Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status :
Hors ligne
#7
Message
par PandiPanda » dim. 31 juil. 2011 19:24
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