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 :

Créer une interface de saisie de fiche de renseignements


Sujet :

Interfaces Graphiques

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut Créer une interface de saisie de fiche de renseignements
    bonjour,

    j'ai crée une interface utilisateur avec "create a new GUI"

    Cette interface est censée enregistrer le nom, le sexe ,l'age etc

    J'y ai inséré des Edit text et des StaticText, mais je ne sais pas comment je fait pour enregistrer les données que chaque personne entre dans ces edit text.

    merci d'avance pour votre aide

  2. #2
    Membre régulier
    Inscrit en
    Avril 2007
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 143
    Points : 102
    Points
    102
    Par défaut
    regarde sur le forum, certains sujets devraient répondre à ta question

    Sinon, pour récupérer des variables et les éditer, regarde les fonctions SET et GET.

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    merci je vais suivre ton conseil

  4. #4
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    salut j'ai regarder les forum mais je n'arrive pas a appliqué ce que j'ai trouvé. moi j'ai un truc de ce genre pour chaque élément:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function edit1_Callback(hObject, eventdata, handles)
     
    function edit1_CreateFcn(hObject, eventdata, handles)
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
        set(hObject,'BackgroundColor','white');
    end
    je voudrait enregistrer chaque élément nom, prenom, age, sexe etc dans un fichier. je sais que ça dois vous semblez facil mais moi je suis tres nulle.
    j'ai regaré les commande set et get mais je ne sais pas trop les utiliser

  5. #5
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Le plus simple pout toi consiste à suivre les exemples donnés sur le site de The MathWorks : Creating Graphical User Interfaces

  6. #6
    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 828
    Points
    14 828
    Par défaut
    Il va te falloir un bouton OK pour que les utilisateurs valident les données qu'ils ont entrées.
    Dans le callback de ce bouton, généré automatiquement par guide, tu vas pouvoir récupéré les données entrées dans les autres uicontrol.

    Je t'invite fortement à lire le tutorial d'introduction sur les interfaces graphiques
    Et aussi l'aide de Matlab qui est très bien faite (bon faut parler un peu anglais, c'est sûr).

    Un petit coup de pouce :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    %récupérer la chaine de caractères rentrée dans la boite nommé edit1 :
    maChaine = get(handles.edit1,'string');
    Commence déjà par récupérer tes données, puis fais tes recherches sur l'écriture de fichiers (pareil il y a plein d'aide et de posts sur ce sujet)

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    salut
    apres avoir lu :Creating Graphical User Interfaces
    j'ai reçu a enregistrer les valeur que je tapez dans mes editText mais je n'arrive pas à enregistrer l'element que je selectionne dans mon popupmenu.
    voila ce que moi j'ai fait, si vs avez des suggestions pour m'aider MERCI
    function varargout = poi(varargin)

    gui_Singleton = 1;
    gui_State = struct('gui_Name', mfilename, ...
    'gui_Singleton', gui_Singleton, ...
    'gui_OpeningFcn', @poi_OpeningFcn, ...
    'gui_OutputFcn', @poi_OutputFcn, ...
    'gui_LayoutFcn', [] , ...
    'gui_Callback', []);
    if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
    end

    if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
    else
    gui_mainfcn(gui_State, varargin{:});
    end
    % End initialization code - DO NOT EDIT


    % --- Executes just before poi is made visible.
    function poi_OpeningFcn(hObject, eventdata, handles, varargin)
    handles.output = hObject;

    guidata(hObject, handles);

    function varargout = poi_OutputFcn(hObject, eventdata, handles)
    varargout{1} = handles.output;

    function edit1_Callback(hObject, eventdata, handles)
    function edit1_CreateFcn(hObject, eventdata, handles)
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
    end


    function edit3_Callback(hObject, eventdata, handles)
    function edit3_CreateFcn(hObject, eventdata, handles)
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
    end

    function edit4_Callback(hObject, eventdata, handles)
    function edit4_CreateFcn(hObject, eventdata, handles)
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
    end

    function edit5_Callback(hObject, eventdata, handles)
    function edit5_CreateFcn(hObject, eventdata, handles)
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
    end

    function popupmenu4_Callback(hObject, eventdata, handles)
    function popupmenu4_CreateFcn(hObject, eventdata, handles)
    if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
    end

    function pushbutton1_Callback(hObject, eventdata, handles)
    pseudo = char(get(handles.edit1,'String'));
    age = char(get(handles.edit3,'String'));
    taille = char(get(handles.edit4,'String'));
    poids = char(get(handles.edit5,'String'));
    sexe = char(get(handles.popupmenu4,'String'));

    save(sprintf('test %s', pseudo),'pseudo','age','sexe','taille','poids');
    close(gcbf);
    azer2;

  8. #8
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Il faut récupérer à la fois la propriété String et la propriété Value de l'objet Popupmenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    str=get(handles.popupmenu4,'String');
    val=get(handles.popupmenu4,'Value');
    sexe=str{val};
    Je pense aussi que tu peux éviter d'utiliser char à chaque fois à la récupération des autres informations.

  9. #9
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    ok merci ça fonctionne.

  10. #10
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    salut j'ai résolu mon probleme a propos de mes champs et pour cela je vous remercie enormement
    Mais j'ai une autre question:
    l'interface que j'ai creer me permet d'ouvrir une autre interface 'azer' qui elle me permet d'acquerir des signaux a travers une carte son.
    Voici mon programme d'acquisition:
    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
    AI = analoginput('winsound');
    chan = addchannel(AI,1:2);
    duration = 8;        % five second acquisition
    set(AI,'SampleRate',22050);
    ActualRate = get(AI,'SampleRate');
    set(AI,'SamplesPerTrigger',duration*ActualRate);
    preview = duration*ActualRate/100;
    set(gcf,'doublebuffer','on')
    start(AI);
     
    data = getdata(AI)*2^15;
     
    subplot(1,2,1)
    title('signal temporel voie 1');
    plot(data(:,1),'r');
     
     
    subplot(1,2,2)
    plot(data(:,2),'b');
    title('signal temporel voie 2');
    et je voulais savoir comment je pourais enregistrer ces signaux afin que quand j'accede au fichier que j'ai creé grace à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    pseudo = char(get(handles.edit1,'String'));
    age = char(get(handles.edit3,'String'));
    taille = char(get(handles.edit4,'String'));
    poids = char(get(handles.edit5,'String'));
    sexe = char(get(handles.popupmenu4,'String'));
     
    save(sprintf('test %s', pseudo),'pseudo','age','sexe','taille','poids');
    il m'affiche en plus de l'age sexe etc le signal qu'il a acquis
    j'espere que j'ai été clair.
    En fait je veux pour chaque personne qui s'enregistre son pseudo, age, sexe, et aussi le signal que j'ai acquis pr cette même personne

  11. #11
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Je ne suis pas sur d'avoir tout compris, mais transforme ton script azer en fonction :
    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
    function [data]=azer
     
    AI = analoginput('winsound');
    chan = addchannel(AI,1:2);
    duration = 8;        % five second acquisition
    set(AI,'SampleRate',22050);
    ActualRate = get(AI,'SampleRate');
    set(AI,'SamplesPerTrigger',duration*ActualRate);
    preview = duration*ActualRate/100;
    set(gcf,'doublebuffer','on')
    start(AI);
     
    data = getdata(AI)*2^15;
     
    subplot(1,2,1)
    title('signal temporel voie 1');
    plot(data(:,1),'r');
     
     
    subplot(1,2,2)
    plot(data(:,2),'b');
    title('signal temporel voie 2');
    et ensuite, dans ton code principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function pushbutton1_Callback(hObject, eventdata, handles)
    pseudo = <...>
    age = <...>
    taille = <...>
    poids = <...>
    sexe = <...>
     
    data=azer;
     
    save(sprintf('test %s', pseudo),'pseudo','age','sexe','taille','poids','data');
    close(gcbf);
    C'est ça ?

    Ou alors, si le signal a été enregistré prédédemment, tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    function azer
     
    <...>
     
    data = getdata(AI)*2^15;
     
    <...>
     
    save('azerdata.mat','data')
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function pushbutton1_Callback(hObject, eventdata, handles)
    pseudo = <...>
    age = <...>
    taille = <...>
    poids = <...>
    sexe = <...>
     
    load azerdata;
     
    save(sprintf('test %s', pseudo),'pseudo','age','sexe','taille','poids','data');
    close(gcbf);

  12. #12
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    ok merci ça marche, c'est super

  13. #13
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    salut
    j'ai encore un petit soucis, en fait je recuppere bien mon signal dans mon ficchier 'test pseudo' avec çà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    data = startacq1; 
    save(sprintf('test %s', Pseudo),'Pseudo','Age','Taille','Poids','Sexe','data');
    mais dans mon fichier acquisition j'ai envie de rajouté la fft, et d'autre calcul que j'ai pas encore fait,
    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
     
    function [data]=startacq1
    AI = analoginput('winsound');
    chan = addchannel(AI,1:2);
    duration = 8;        % five second acquisition
    set(AI,'SampleRate',22050);
    ActualRate = get(AI,'SampleRate');
    set(AI,'SamplesPerTrigger',duration*ActualRate);
    set(gcf,'doublebuffer','on')
    start(AI);
     
    data = getdata(AI)*2^15;
    fftdata = fft(data);
    spectre = abs(fftdata);
     
    subplot(2,2,1)
    title('signal temporel voie 1');
    plot(data(:,1),'r');
     
    subplot(2,2,2)
    plot(data(:,2),'b');
    title('signal temporel voie 2');
     
    subplot(2,2,3)
    title('signal frequentiel voie 1');
    plot(spectre(:,1),'r');
     
    subplot(2,2,4)
    plot(spectre(:,2),'b');
    title('signal frequentiel voie 2');
    et je voulais savoir comment je pourait recuperer cette fft ainsi que les autre calcul que j'ai pas encore fait.
    j'ai essayé de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    function[data, spectre]=strartacq1
    et dans mon interface
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    data = startacq1; 
    save(sprintf('test %s', Pseudo),'Pseudo','Age','Taille','Poids','Sexe','data');
    comment puis-je l'utiliser
    j'espere que j'ai été clair, si vous avez des conseils merci

  14. #14
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 309
    Points : 52 895
    Points
    52 895
    Par défaut
    Prends le temps de lire la documentation à propos des arguments d'entrée et de sortie des fonctions...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function [data, spectre]=startacq1
    Donc dans l'interface :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [data, spectre]=startacq1;
    save(sprintf('test %s', Pseudo),'Pseudo','Age','Taille','Poids','Sexe','data','spectre');

  15. #15
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 23
    Points : 10
    Points
    10
    Par défaut
    c'est sympas de m'avoir aidé

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Saisie clavier sur une interface
    Par Latimer dans le forum EDT/SwingWorker
    Réponses: 2
    Dernier message: 01/05/2014, 11h49
  2. Réponses: 4
    Dernier message: 13/11/2013, 16h11
  3. Création d'une interface de saisie assistée
    Par ppipof2000 dans le forum WinDev
    Réponses: 9
    Dernier message: 16/01/2007, 11h13
  4. Comment créé une "interface" pour mes programmes??
    Par alcazar dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 09/02/2004, 13h02
  5. portabilité d'une interface
    Par marou dans le forum JBuilder
    Réponses: 4
    Dernier message: 21/03/2003, 08h53

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