Mon pb est le suivant:
J'ai un programme AssoClasse qui me construit une listbox de taille=NbreClasse (exemple=4) & composé des noms définit dans Name, par exemple j'ai 4 classes dans Name (terre, sable, bois, herbe).
En fonction de ma séléction avec la souris sur cette liste, je vais associer un fichier avec le nom sélectionner dans la listbox.
J'aimerais que ce programme me retourne le nom sélectionné, par exemple sable si j'ai sélectionné sable & ainsi de suite...
Voici mon code "provisoire":
AssoClasse <- function () {
tt<-tktoplevel()
tkgrab.set (tt)
tl<-tklistbox(tt, height=NbreClasse, selectmode="single", background="white")
tkgrid(tklabel(tt, text="Choix du nom de classe:"))
tkgrid(tl)
asso <- as.vector(Name)
for (i in (1:NbreClasse)) {
tkinsert(tl, "end", asso[[i]])
}
tkselection.set(tl, 0)
OnOK <- function() {
assoChoice <- asso[as.numeric(tkcurselection(tl))+1]
tkdestroy(tt)
msg <- paste("Le fichier ", LISTCODEPI [1], extens ," est associé au nom de classe ", assoChoice, sep="")
ReturnVal <- tkmessageBox(title="Association fichier <-> classe", message=msg)
}
OK.but <-tkbutton(tt,text=" OK ", command=OnOK)
tkgrid(OK.but)
tkfocus(tt)
tkwait.window(tt)
}
Pour accéder à la valeur de la classe retourné souhaité, je sais que c'est assoChoice qu'il faut que je retourne, mais je n'arrive pas à y accéder ou à l'afficher car cet objet se trouve dans OnOk function....
Comment dois-je faire pour que mon programme l'affiche distinctement?
J'ai essayer d'écrire en dehors de OnOk function assoChoice <- asso[......
mais ca ne marche pas!...