[..] Commande dans Inputbox

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Firemen777
Niveau 1
Niveau 1
Messages : 11
Enregistré le : mer. 11 févr. 2009 03:12
Status : Hors ligne

[..] Commande dans Inputbox

#1

Message par Firemen777 »

Salut, je sais vraiment pas si je me prend de la bonne facon mais bon...

Resumer de mon objectif: 5 categories / 100 point Max (pourcentage) à distribuer.
Pour l'instant j'ai fait cela:
► Afficher le texte
Ce que j'aimerais ajouter c'est qu'on puisse voir combien de pourcentage ils nous restent a distribuer, avoir un compteur ou quelque chose comme sa... Moi j'avais passer simplement faire, c'est mettre cela dans le texte afficher dans la box :
EX:
$PointADistribuer = 100 - $Pourcentage2 - $Pourcentage3 -$Pourcentage4 ; Donc j'aurais mon nombre disponible mais le probleme. C'est que je ne peut pas mettre "$PointADistribuer" dans le texte puisque qu'il est detecquer comme du texte et non une formule...

Vous pouvez aussi voir que c'est impossible de distribuer plus de 100 %... sinon je demande de redistribuer, mais pour l'instant il demande seulement 1 fois de redistribuer... Si ya un moyen plus simple que cela je suis partant pour :)

Pour l'instant c'est 5 fenetre (1 chaque les 5 Pourcentage) mais je sais pas si c'est possible d'avoir toute dans la meme box et d'avoir un petit conteurs pour le pourcentage ?

Je sais que j'ai beaucoup de question :)

Merci Énormément d'avance :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11818
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Commande dans Inputbox

#2

Message par Tlem »

Pensez à utiliser les balises de code même si vous mettez le code dans un Spoiler.

Sinon pour votre problème, voici une bonne approche :

Code : Tout sélectionner

Global $Pourcentage1, $Pourcentage2, $Pourcentage3, $Pourcentage4, $Pourcentage5
Global $Pct = 100

$Pourcentage1 = _SaisieVal(1)
$Pourcentage2 = _SaisieVal(2)
$Pourcentage3 = _SaisieVal(3)
$Pourcentage4 = _SaisieVal(4)
;$Pourcentage5 = _SaisieVal(5) ; Il n'est pas necessaire de rentrer cette valeur puisque elle est déductibel.
$Pourcentage5 = 100 - ($Pourcentage1 + $Pourcentage2 + $Pourcentage3 + $Pourcentage4)

MsgBox(0, 'Récapitulatif', 'Voici les valeurs de pourcentage :' & @CRLF & _
                            'Valeur1 = ' & $Pourcentage1 & @CRLF & _
                            'Valeur2 = ' & $Pourcentage2 & @CRLF & _
                            'Valeur3 = ' & $Pourcentage3 & @CRLF & _
                            'Valeur4 = ' & $Pourcentage4 & @CRLF & _
                            'Valeur5 = ' & $Pourcentage5 & @CRLF)

Func _SaisieVal($Num)
    Local $Pourcentage
    While 1
        $Pourcentage = InputBox($Num, 'Entrez le pourcentage(%) désiré ', '(Entre 0 et ' & $Pct & ')')
        If $Pourcentage = '' Then
            Exit
        ElseIf ($Pourcentage + $Pourcentage1 + $Pourcentage2 + $Pourcentage3 + $Pourcentage4 + $Pourcentage5) > 100 Then
            MsgBox(16, 'Erreur', 'Valeur trop grande. Veuillez resaisir une valeur.')
        ElseIf Not StringIsDigit($Pourcentage) Then
            MsgBox(16, 'Erreur', 'Veuillez entrer un nombre.')
        Else
            $Pct -= $Pourcentage
            Return $Pourcentage
        EndIf
    Wend
EndFunc
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