Rechercher : dans
Par :

Valeur par defaut uicontrol (matlab guide)

Dernière réponse le 18 avr 2008 à 13:07:16 weak007, le 11 jui 2005 à 10:16:13 
 Signaler ce message aux modérateurs

Bonjour tout le monde,
J'ai cree un uicontrol style edit grace au GUIDE et j'aimerai etre capable, si l'utilisateur n'entre pas de valeurs dans cette cellule, de specifier une valeur par defaut.

edit1 = str2num(get(hObject,'String'))
if ~(edit1==0 | edit1==1)
set(hObject,'string', 0);
errordlg('please enter 0 or 1','error');
elseif (isnan(edit1))
set(hObject,'string', 0);
end
data = getappdata(gcbf, 'edit1');
data.edit1 = edit1
setappdata(gcbf, 'sched', data);

j'ai essaye par la maniere ci dessus mais cela ne marche pas, il y a t'il un fonction du genre "si la cellule reste vide"????
en vous remerciant
max

Configuration: matlab6.5 release 13

Meilleures réponses pour « valeur par defaut uicontrol (matlab guide) » dans :
.exe n'est pas une application Win32 valide VoirLorsque vous lancez un fichier exécutable, Windows vous affiche un message du type : Nom de l'application n'est pas une application Win32 valide Pour y remédier, il existe plusieurs solutions correspondant à différentes causes...
[Bootloader] Dual boot : changer le système démarré par défaut VoirPour changer le système démarré par défaut suivant votre "bootloader" il vous faut : (toutes ces manipulations sont à exécuter en tant que "root") Pour LILO Pour GRUB Pour LILO Éditer votre fichier de configuration...
TomTom - Attente d'un signal GPS valide / Signal GPS perdu VoirAttente d'un signal GPS valide Votre GPS TomTom (TomTom One, TomTom Go, TomTom One XL, etc.) n'arrive plus à donner sa position et il affiche l'un des messages suivants : Signal GPS perdu depuis xx minutes Attente d'un signal GPS...
Les directives de Java Server Pages (JSP) VoirPrésentation des directives JSP Les directives JSP sont des instructions insérées dans des tags HTML spéciaux. La syntaxe des directives JSP est la suivante : Les directives JSP permettent d'indiquer : le...
Phase de mise en oeuvre d'un projet VoirPhase de mise en oeuvre Recette On appelle « recette » (ou essais de réception) la vérification de la conformité de l'ouvrage à la demande formulée dans le dossier validé de conception générale. La recette est un processus rigoureux...
VBScript - Types de données VoirLe type de données Variant Le type d'une variable correspond à la manière dont l'ordinateur stocke la variable en mémoire, c'est-à-dire la succession de 0 et de 1 dans les cases mémoire. VBScript comprend un type de données par défaut pouvant...

1

pols, le 3 avr 2008 à 14:24:16

Tu dois entrer la valeur par defaut dans le champ tag (ou string, je ne sais plus). Pour trouver ce champ tag (string), tu dois faire click droit sur l'edit text dans guide -> property inspector-> tu remplis le champ vide.

Par ailleur, j ai aussi un problème. Saurais tu m 'aider?
Le voici:

Je dois utiliser Matlab mais j'ai des difficultés à récupérer des données que j'introduis dans les "edit text" de l'interface graphique (GUI). En effet, le message d'erreur ci-dessous apparait:

??? Undefined function or variable 'd'. % d est une variable de mon programme

Error in ==> gui_mainfcn at 75
feval(varargin{:});

Error in ==> GUI2 at 42
gui_mainfcn(gui_State, varargin{:});

??? Error while evaluating uicontrol Callback.

Pourtant, lors de la creation de l'"edit text", j'ai rempli le champ 'tag' avec le nom de ma variable 'd' de façon à ce que je puisse l'utiliser dans mon programme sous 'd'.

Si tu as des infos, ce serait sympa!

Répondre à pols

2

CedM, le 4 avr 2008 à 10:37:48

Bonjour,

une astuce qui peut vous être utile. Pour les uicontrol de style edit, il faut les créer avec un texte vide. Je m'explique avec des exemple Scilab (mais cela ne doit pas changer beaucoup sur matlab) :

clear,clc,close();

//On créé une figure :
//Windows size :
Xsize = 500;
Ysize = 300;
//Windows display :
f = figure('figure_name','Exemple','pos',[0 0 Xsize Ysize]);
// Puis on y met un edit :
uicontrol(f,'style','edit','fontsize',12,'pos',[120 Ysize-60 50 20],'Horizontalalignment','center','string','','tag','tag_Nf­ile_ini');

//On créé une fonction qui va récupérer la valeur entrée et y donner un nom de variable :
function Nfile=Load()
//Pour récupérer l'information de l'édit :
Nfile = evstr(get(findobj('tag','tag_Nfile_ini'),'string')); //evstr me permet de récupérer un nombre entier.
endfunction

//On peux créer un bouton pour charger les informations :
uicontrol(f,'style','pushbutton','pos',[100 Ysize-100 300 20],'string','Load values','callback',"N=Load()");

//---------------------Fin de l'exemple code----------------

Une fois que vous cliques sur le bouton, votre variable N apparait dans votre éditeur de variables.

J'espère que ce petit exemple à pu vous aider.

Un petit problème subsiste : comment avec une fonction à plusieurs sorties (exemple : function [a,b]=Load()) récupérer les deux variables de sorties ? Je pense que c'est juste un problème de syntaxe mais je n'y trouve pas de solution.

Cordialement

Répondre à CedM

3

 MooSlim78, le 18 avr 2008 à 13:07:16

Dans le Opening_fct du .m

tu fais set(handles.edit1,'string','X')

guidata(h0bject,handles)

Répondre à MooSlim78