AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 Problème avec _iif()

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
n3c's
Débutant
Débutant


Nombre de messages : 10
Date d'inscription : 11/04/2007

MessageSujet: Problème avec _iif()   2007-05-02, 19:53

Bonjour,

Je vous expose mon petit souci.

la fonction _iif(condition,si vrai,sinon) contenue dans le fichier misc.au3 me pose problème lors de l'utilisation de tableaux.

Je vais prendre le cas avec lequel j'ai testé, il me semble assez explicite.

la fonction sert à récupérer une case d'un tableau de chaînes.
[code]Func gettok($var,$pos,$char)
$d = StringSplit($var,$char)
return _iif($pos < $d[0] AND $pos >= 0,$d[$pos],-1)
EndFunc[/code]

pour tester cela je fais quelques affichages
[code]$a = "ceci est un test d'une chaîne de caractères !"
ConsoleWrite("gettok() simple: " & gettok($a,2," ") & @CRLF)
ConsoleWrite("gettok() nb tokkens: " & gettok($a,0," ") & @CRLF)
ConsoleWrite("gettok() complet: " & gettok($a,-2," ") & @CRLF)
ConsoleWrite("gettok() faux: " & gettok($a,18," ") & @CRLF)[/code]

La premier et second appels fonctionnent correctement.

par contre au troisième j'ai une erreur:
[code]C:\Documents and Settings\******\Bureau\testgettok.au3 (19) : ==> Array variable subscript badly formatted.:
return _iif($pos < $d[0] AND $pos >= 0,$d[$pos],-1)
return _iif($pos < $d[0] AND $pos >= 0,$d[^ ERROR[/code]

et au quatrième l'erreur est la même (sauf que la position est au dessus de la borne supérieur du tableau au lieu d'être en dessous)

Alors que justement je ne devrais pas avoir cette erreur étant donné que la condition du _iif devrait lancer la routine "sinon" donc je ne vois pas pourquoi il s'occupe de savoir si la position est bien entre les bornes dans la routine "alors" ..

Est-ce qu'il y a moyen de contourner ceci tout en continuant d'utiliser la fonction _iif ? (sachant qu'en utilisant la syntaxe habituelle if - then - else tout fonctionne correctement mais mon but n'est pas d'arriver à simplement faire tourner ma fonction mais bel et bien d'arriver à faire fonctionner _iif() avec des tableaux.)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: Problème avec _iif()   2007-05-02, 21:23

l'aide dit :

Remarks

Note that all parameters are evaluated, even though only one is returned.

Ce qui en bon vieux franchouillard, veut dire que [u]toutes[/u] les expressions sont évaluées, même s'il n'y en a qu'une de retournée, d'où le pb. Dans ton cas, passe par un bon vieu if Then Else
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Problème avec _iif()
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [/résolu] problème avec java à l'instalation :-/
» Problème avec Java
» Problème avec l'hébergeur d'images servimg
» problème avec mon anti clic droit
» Problème avec mes balises [code]

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: