IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

coordination entre la récup d'une variable dans le gui & envoie dans le wokspace


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 77
    Points : 38
    Points
    38
    Par défaut coordination entre la récup d'une variable dans le gui & envoie dans le wokspace
    Bonjour.
    Voila un exemple de mon programme.
    En réalité j'aimerai savoir comment envoyer les valeurs que j'écrirai dans les "edit text" dans le workspace. Pour que mon programme simulation puisse le lire.

    J'ai tenté de mettre double dans le get a la place de string, ca me l'envoi mais avec un gros message d'erreur, j'ai pensée a num2strg,
    Mais j'aimerai bien avoir un exemple svp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
     
     
     
    % --- Executes on selection change in popupmenu1.
    function popupmenu1_Callback(hObject, eventdata, handles)
     
    Ki = get(handles.Valeur_Ki, 'String');
     
    Kd = get(handles.Valeur_Kd, 'String');
     
    Kp = get(handles.Valeur_Kp, 'String');
     
     
     
    X=[1:4];
    handles.Y{1}= sin(X+4);
    handles.Y{2}= 2*X;
     
     
    val = get(hObject,'Value');
     
     
    switch val
     
     %Fonction TOR   
        case 1   
     
    Ki=0;
    set(handles.Valeur_Ki, 'Enable', 'off');
    Kd=0;
    set(handles.Valeur_Kd, 'Enable', 'off');
     
    set(handles.Valeur_Kp, 'Enable', 'on');
     
    handles.X=1;
     
     
    %Fonction P
        case 2
    Ki=0;
    set(handles.Valeur_Ki, 'Enable', 'on');
    Kd=0;   
    set(handles.Valeur_Kd, 'Enable', 'off');
    set(handles.Valeur_Kp, 'Enable', 'on');
     
    Kp=get(handles.Valeur_Kp, 'double');
    handles.X=2;
     
    end
     
     
    plot(handles.axes1,handles.Y{handles.X},'r');
    guidata(hObject, handles);
     
    % --- Executes during object creation, after setting all properties.
    function popupmenu1_CreateFcn(hObject, eventdata, handles)
     
     
    % Hint: popupmenu controls usually have a white background on Windows.
    %       See ISPC and COMPUTER.
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
     
    function Valeur_Kd_Callback(hObject, eventdata, handles)
     
     
     
    % --- Executes during object creation, after setting all properties.
    function Valeur_Kd_CreateFcn(hObject, eventdata, handles)
     
     
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
     
    function Valeur_Kp_Callback(hObject, eventdata, handles)
     
     
     
     
    % --- Executes during object creation, after setting all properties.
    function Valeur_Kp_CreateFcn(hObject, eventdata, handles)
     
     
     
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
     
    function Valeur_Ki_Callback(hObject, eventdata, handles)
     
     
     
     
    % --- Executes during object creation, after setting all properties.
    function Valeur_Ki_CreateFcn(hObject, eventdata, handles)
     
     
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
     
     
     
     
    % --- Executes during object creation, after setting all properties.
    function axes1_CreateFcn(hObject, eventdata, handles)
     
     
     
    % --- Executes on button press in start.
    function start_Callback(hObject, eventdata, handles)
    Ma deuxième question est :
    Comment réalisé ce programme en obligeant l'utilisateur a choisir dans le popup menu s'il veu la valeur 1 ou la 2,
    et qu'ensuite il rentre une valeur dans les édits qui ne sont pas grisé, et que lorsqu'il appuie sur start, le programme effectue ce qu'il doit faire?

    Je vous remercie d'avance pour votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Ton code est trop long, je n'ai pas le courage de le détailler pour savoir où est le souci

    Juste une info : pour "envoyer" une variable dans le workspace il faut utiliser ASSIGNIN (ou EVALIN j'ai un doute).

    Pour la suite je ne comprends pas très bien.
    Tu peux toujours faire un test lorsqu'il appuie sur le bouton pour vérifier qu'il a bien tout rempli comme il faut.
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 77
    Points : 38
    Points
    38
    Par défaut
    Merci beaucoup et désolé pour le code, je viens de le rectifié, j'ai enlevé toutes les phrase apres le %

    Je vais tester comment fonction le ASSIGNIN

    Tu m'as parlé d'un test, tu pense a utiliser des boucles if??
    j'avais pensé a ça, mais j'ai peur qu'a force le programme rame un peu. Je vais quand même le tenté.
    Merci pour ton aide.

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Citation Envoyé par kwich-bow Voir le message
    Tu m'as parlé d'un test, tu pense a utiliser des boucles if??
    j'avais pensé a ça, mais j'ai peur qu'a force le programme rame un peu. Je vais quand même le tenté.
    Merci pour ton aide.
    Tu sais la plupart (si ce n'est toutes) des fonctions d'origine de MATLAB font des tests de cohérence sur les arguments d'entrée (le nombre, le type, la taille).
    Donc il faut essayer et voir si vraiment ça te pose un problème de performance.

    Pour le code, en fait ce que je voulais dire c'est que ce qui était important surtout c'est de mettre uniquement les sous-fonctions impactées.
    Donc là manifestement popupmenu1_Callback et start_Callback. Le reste n'étant que des fonctions créées automatiquement par GUIDE.
    Et d'ailleurs même je suppose que seul start_Callback t'intéresse ici (c'est à ce moment que tu vas : 1-Tester les variables entrées, 2-Envoyer les variables vers le workspace)
    Règles du Forum

    Adepte de la maïeutique

Discussions similaires

  1. [JAXB] Une variable en majuscule transformée en minuscule dans le fichier xml
    Par thib_84 dans le forum Persistance des données
    Réponses: 3
    Dernier message: 31/01/2014, 11h57
  2. Réponses: 2
    Dernier message: 06/10/2011, 16h25
  3. Réponses: 6
    Dernier message: 08/06/2010, 12h15
  4. [Toutes versions] une variable qui pourrais me servir partout dans mon classeur
    Par patricktoulon dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/06/2010, 20h57
  5. [Talend]Utiliser une variable de l'input row7.nombre dans un t_oracleRow
    Par lolotte35 dans le forum Développement de jobs
    Réponses: 8
    Dernier message: 07/08/2007, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo