[R] Aide à la compréhension de fonctions ...

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
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

[R] Aide à la compréhension de fonctions ...

#1

Message par PandiPanda »

Bonjour,
je vous sollicite pour divers petits problème que je rencontre, à savoir la compréhension de certaine fonction récuperer sur le forum anglais. Certes cela fonctionne bien, mais je voudrai tout de même comprendre pour savoir réellement ce que j'utilise :P
► Afficher le texteles fonctions, elles permettent de faire du Screen => Binary
j'aurai besoin d'aide de compréhension pour ce qui est en rouge,
Merciii ^^
Modifié en dernier par PandiPanda le sam. 08 oct. 2011 18:09, modifié 1 fois.
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Aide à la compréhension de fonctions ...

#2

Message par mikell »

pour la première : dans l'include GDIplus.au3, il y a

Code : Tout sélectionner

_GDIPlus_Startup()
....
$ghGDIPDll = DllOpen("GDIPlus.dll")
Pour la 2ème je vois pas, le Return est censé renvoyer une valeur mais si on commente la ligne ça ne semble rien changer au déroulement du script :?:

Code : Tout sélectionner

 ;   Return SetError($aResult[0] <> 0, 0, $aResult[0] = 0)
Return SetError($aResult[0] <> 0, 0, $aResult[0] = 0) renvoie "true" donc on mettrait "Return True" ce serait pareil ?
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
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: [..] Aide à la compréhension de fonctions ...

#3

Message par PandiPanda »

Merci de plonger dans mon problème
mais je pense que Return SetError($aResult[0] <> 0, 0, $aResult[0] = 0)
met un "boolean,0,boolean" mais je voit pas comment on pourrait l'utiliser dans une variable ...
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Aide à la compréhension de fonctions ...

#4

Message par mikell »

Image Je le verrais assez comme ça

SetError($aResult[0] <> 0, 0, $aResult[0] = 0) : booléen, met @error=1 si $aResult[0]<>0, sinon @error=0

Return SetError($aResult[0] <> 0, 0, $aResult[0] = 0) : renvoie la valeur booléenne de l'expression $aResult[0]=0 (vrai ou faux)

Cela dit l'intérêt de cette ligne est peut-être d'économiser des lignes de code, genre
If $aResult[0] = 0 Then
Return true
Else
SetError(1, 0)
Return false
EndIf

La confirmation d'un spécialiste serait la bienvenue...
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide à la compréhension de fonctions ...

#5

Message par Tlem »

D'après ce code de test :

Code : Tout sélectionner

$Ret = Test(0)
MsgBox(0, "Test avec 0", "Error = " & @error & @CRLF & "Extented = " & @extended & @CRLF & "Return = " & $Ret)

$Ret = Test(1)
MsgBox(0, "Test avec 1", "Error = " & @error & @CRLF & "Extented = " & @extended & @CRLF & "Return = " & $Ret)

$Ret = Test(0x230)
MsgBox(0, "Test avec 0x230", "Error = " & @error & @CRLF & "Extented = " & @extended & @CRLF & "Return = " & $Ret)


Func Test($iVal)
    Local $aResult[1] = [$iVal]
    Return SetError($aResult[0] <> 0, 0, $aResult[0] = 0)
EndFunc
Nous avons donc $aResult[0] <> 0 qui retourne une valeur booléenne (1 ou 0) en fonction de la valeur de $aResult[0].
Idem pour $aResult[0] = 0, mais cette foi-ci la valeur booléenne est True ou False !
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
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Aide à la compréhension de fonctions ...

#6

Message par PandiPanda »

oulah déchiffrer tout ca, c'est tout un art '^^

Donc si j'ai bien compris ...

le @error sera mis à 1 si c'est des valeurs differentes de 0
et retourne "True" seulement à 0

me trompe?

Autre question, voyez vous une utilité à ceci? gain de place, autre ? ^^
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Aide à la compréhension de fonctions ...

#7

Message par mikell »

Sauf erreur de ma part et au vu de ses commentaires Tlem aurait pu mettre "l'analyse de mikell est correcte" :mrgreen:
L'aide dit : SetError(entier, entier, paramètre) donc c'est logique qu'on ait "1" et "true"
► Afficher le texte
PandiPanda a écrit : voyez vous une utilité à ceci? gain de place, autre ? ^^
Heu t'as pas lu mon post ?
Apparemment sur 1 seule ligne, en fonction de l'analyse d'une expression on définit @error, et en fonction de la valeur de cette expression on renvoie une valeur booléenne ^^
Modifié en dernier par mikell le sam. 08 oct. 2011 18:06, modifié 1 fois.
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
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: [..] Aide à la compréhension de fonctions ...

#8

Message par PandiPanda »

Si Si j'ai bien lu, j'ai juste zappé xD
Piiiiiiiis c'et vraiment du costaud ... je me voit mal utilisé ca :P
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Aide à la compréhension de fonctions ...

#9

Message par mikell »

Bah c'est vrai, mais si tu veux avoir l'air d'un bon programmeur bien trapu, faut t'y mettre, fieu ! :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Aide à la compréhension de fonctions ...

#10

Message par Tlem »

mikell a écrit :Tlem aurait pu mettre "l'analyse de mikell est correcte"
Bien que je ne soit pas forcément un 'spécialiste', j'ai (de part mon message) confirmé le votre puisque vous le demandiez :
mikell a écrit :La confirmation d'un spécialiste serait la bienvenue...
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é".
Répondre