Bonjour,

mon projet consite à ecrire une application fenetrée qui permettent de convertir un nombre signé ou non signé entre les différentes bases de numération (binaire, décimale, hexa, octale). les nombres seront codés sur 8, 16 et 32 bits.

jusqu'à maintenant j'arrive à faire l'interface graphique sous forme de calculette, mais j'aimerais bien avoir de l'aide pour rajouter le menu des bases comme suivant:
Nom : Capture.JPG
Affichages : 200
Taille : 8,9 Ko

et sachant que l'interface graphique que j'ai réalisé jusqu’à maintenant et comment suivant:
Nom : Capture1.JPG
Affichages : 199
Taille : 15,0 Ko

Deuxièment, j'aimerais bien savoir comment faire pour commencer à faire les procédures de conversion entre les bases.

mon code il est comme suivant:

package require Tk
wm title . Calculator
grid [entry .e -textvar e -just right] -columnspan 5
bind .e <Return> =
set n 0
foreach row {
{7 8 9 + A E}
{4 5 6 - B F}
{1 2 3 * C G}
{S 0 . = D H}
} {
foreach key $row {
switch -- $key {
= {set cmd =}
S {set cmd {set clear 1; set e ""}}
default {set cmd "hit $key"}
}
lappend keys [button .[incr n] -text $key -command $cmd]
}
eval grid $keys -sticky we ;#-padx 1 -pady 1
set keys [list]
}
grid .$n -columnspan 2 ;# make last key (=) double wide
proc = {} {
regsub { =.+} $::e "" ::e ;# maybe clear previous result
if [catch {set ::res [expr [string map {/ *1.0/} $::e]]}] {
.e config -fg red
}
append ::e = $::res
.e xview end
set ::clear 1
}
proc hit {key} {
if $::clear {
set ::e ""
if ![regexp {[0-9().]} $key] {set ::e $::res}
.e config -fg black
.e icursor end
set ::clear 0
}
.e insert end $key
}
set clear 0
focus .e ;# allow keyboard input
wm resizable . 0 0


Merci par avance