Partage
  • Partager sur Facebook
  • Partager sur Twitter

[TCL / TK]

    8 mars 2006 à 20:17:28

    #!/usr/bin/wish

    #########################
    # Lexique des variables #
    #########################

    # var contient le nombre du bouton cliquée
    # zero est un booléen qui contient si une opération à été choisie
    # oper contient une chaine définissant l'opération choisie

    ############
    # Fonction #
    ############
    #proc lanceOperation {nb1 oper nb2}{
    # return [expr nb1 oper nb2]
    #}
    set zero 0
    wm geometry . 300x300

    label .title -text "Calculatrice"
    entry .zone -relief sunken -width 17 -textvariable calcul

    button .b1 -text "1" -command {
    if {$zero == 1}{
    set nb2 &nb21
    set calcul $nb2
    } else {
    set nb1 $nb11
    set calcul $nb1
    }
    }
    button .b2 -text "2" -command {
    if {$zero == 1}{
    set nb2 &nb22
    set calcul $nb2
    } else {
    set nb1 $nb12
    set calcul $nb1
    }
    }
    button .b3 -text "3" -command {
    if {$zero == 1}{
    set nb2 $nb23
    set calcul $nb2
    } else {
    set nb1 $nb13
    set calcul $nb1
    }
    }

    button .b4 -text "4" -command {
    if {$zero == 1}{
    set nb2 $nb24
    set calcul $nb2
    } else {
    set nb1 $nb14
    set calcul $nb1
    }
    }
    button .b5 -text "5" -command {
    if {$zero == 1}{
    set nb2 $nb25
    set calcul $nb2
    } else {
    set nb1 $nb15
    set calcul $nb1
    }
    }
    button .b6 -text "6" -command {
    if {$zero == 1}{
    set nb2 $nb26
    set calcul $nb2
    } else {
    set nb1 $nb16
    set calcul $nb1
    }
    }

    button .b7 -text "7" -command {
    if {$zero == 1}{
    set nb2 $nb27
    set calcul $nb2
    } else {
    set nb1 $nb17
    set calcul $nb1
    }
    }
    button .b8 -text "8" -command {
    if {$zero == 1}{
    set nb2 $nb28
    set calcul $nb2
    } else {
    set nb1 $nb18
    set calcul $nb1
    }
    }
    button .b9 -text "9" -command {
    if {$zero == 1}{
    set nb2 $nb29
    set calcul $nb2
    } else {
    set nb1 $nb19
    set calcul $nb1
    }
    }

    button .b0 -text "0" -command {
    if {$zero == 1}{
    set nb2 $nb20
    set calcul $nb2
    } else {
    set nb1 $nb10
    set calcul $nb1
    }
    }
    button .beq -text "=" -command {
    set calcul [expr $nb1 $oper $nb2]
    }
    button .bpl -text "+" -command {
    set oper +
    set zero 1
    }

    pack .title
    place .zone -relx 0.05 -rely 0.1 -anchor nw

    place .b1 -relx 0.1 -rely 0.2 -anchor n
    place .b2 -relx 0.25 -rely 0.2 -anchor n
    place .b3 -relx 0.40 -rely 0.2 -anchor n

    place .b4 -relx 0.1 -rely 0.31 -anchor n
    place .b5 -relx 0.25 -rely 0.31 -anchor n
    place .b6 -relx 0.40 -rely 0.31 -anchor n


    place .b7 -relx 0.1 -rely 0.42 -anchor n
    place .b8 -relx 0.25 -rely 0.42 -anchor n
    place .b9 -relx 0.40 -rely 0.42 -anchor n

    place .beq -relx 0.1 -rely 0.53 -anchor n
    place .b0 -relx 0.25 -rely 0.53 -anchor n
    place .bpl -relx 0.40 -rely 0.53 -anchor n


    Je suis en train de coder un calculatrice et j'obtiens ce message d'erreur lors d'un clic sur un bouton :

    Citation : Erreur

    extra characters after close-brace
    extra characters after close-brace
    while compiling
    "if {$zero == 1}{
    set nb2 &nb21
    set calcul $nb2
    } else {
    set nb1 $nb11
    set calcul $nb1
    }
    "
    invoked from within
    ".b1 invoke"
    ("uplevel" body line 1)
    invoked from within
    "uplevel #0 [list $w invoke]"
    (procedure "tk::ButtonUp" line 22)
    invoked from within
    "tk::ButtonUp .b1"
    (command bound to event)



    Quelqu'un pourrait-il m'aider ?
    Merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      8 mars 2006 à 21:29:36

      ça c'est résolu ! Il suffisait de mettre des espaces entre les blocs !
      Maintenant, je cherche comment faire pour faire un casting d'un entier vers un réel !
      • Partager sur Facebook
      • Partager sur Twitter

      [TCL / TK]

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown