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 :

[uitable] Type de données pour remplissage et indexage de colonnes


Sujet :

Interfaces Graphiques

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 29
    Points : 10
    Points
    10
    Par défaut [uitable] Type de données pour remplissage et indexage de colonnes
    Bonjour,

    J'ai un problème concernant les données d'une uitable dans un GUI matlab. L'uitable est créée, et lors de l'exécution de mon GUI, elle se met à jours. Elle est éditable, et une fois que les données sont rentrées (uniquement des chiffres), elle fait un calcul.

    Pour être plus précis, la 1ere colonne qui se met à jour grâce à l'appui sur un pushbutton donne le nom de composants electroniques. L'appui sur un autre pushbutton permet d'ajouter des colonnes à l'uitable. Dans toutes les cellules (sauf 1ere colonne), je peux mettre un chiffre qui correspond à un temps d'activation.

    Mon problème est le suivant :

    Voici le code que j'uitlise :

    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
    data=get(handles.uitable1,'Data');          
    T_P=[];                                     
    TS=[];    
     
    dim = size(data,2);
     
    for k=2:dim                                 
        t=str2double(data(1,k));     % c'est ici que le problème décrit apres le code se pose               
        TS = [TS,t];     
     
        for i=2:size(data,1)                             
            a=str2double(data(i,k));  % c'est ici que le problème décrit apres le code se pose
     
            if a>0
                b = a + t                         
                T_P=[T_P,b];                                  
            else
            end
     
        end
     
    end
     
    Ttot = [TS T_P];                           
    A=sort(Ttot(:));                           
    B = [A.'];                                  
    C = num2cell(B);
    et voici ce que j'obtiens quand je demande à voir les données de l'uitable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    data = 
     
        ''                       '0'    '10'    [20]    [30]    [40]
        'Afficheur frontal'      ''     ''        []      []      []
        'Afficheur intérieur'    ''     '17'      []      []      []
                  [1x38 char]    ''     ''        []    [25]      []
                  [1x20 char]    ''     ''        []      []      []
    Le problème est que les colonnes 2 et 3 ne sont pas de la même forme que les colonnes 4, 5 et 6. Pourtant quand je fais iscell(data(i,k)), j'obtiens 1 pour toutes les cellules, ce sont donc des cellules.

    Or je voudrais que les données soient toutes de même type, pour les convertir en des chiffres. Effectivement, j'utilise la variable ''a'' pour un calcul ensuite, et je ne peux pas convertir les 2 types en meme temps.

    Quelqu'un peut-il m'aider à n'avoir qu'un seul type de données dans l'uitable à partir de la colonne 2?

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Que renvoie ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get(handles.uitable1, 'ColumnFormat')
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    salut Dut,

    Le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    get(handles.uitable1, 'ColumnFormat').
    renvoi ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'char' 'char' 'char' 'char'
    Mais quand j'appui sur mon pushbuton pour ajouter des colonnes (elles s'ajoutent sans soucis), ca ne change pas le résultat du code précédent.

  4. #4
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 302
    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 302
    Points : 53 163
    Points
    53 163
    Par défaut
    Tu devrais normalement obtenir ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    'char' 'numeric' 'numeric' 'numeric' 'numeric' 'numeric'
    Non ?
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2014
    Messages : 29
    Points : 10
    Points
    10
    Par défaut
    C'est effectivement ce que j'aimerais obtenir, or ce n'est pas le cas

    J'ai essayé de mettre 'numeric' dans le TablepropertyEditor de l'uitable en question (je ne peux d'ailleurs pas mettre moins de 3 colonnes), mais ca n'a pas changé le ColumnFormat que la fonction 'get' me retourne.

  6. #6
    Membre régulier
    Homme Profil pro
    dev
    Inscrit en
    Avril 2011
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : dev
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2011
    Messages : 174
    Points : 110
    Points
    110
    Par défaut
    Tu peux convertir la deuxième et la troixième colonne comme suite:

Discussions similaires

  1. type de donnée pour un fichier binaire.
    Par cbleas dans le forum Modélisation
    Réponses: 9
    Dernier message: 14/01/2009, 21h26
  2. quel type de donnée pour un champs de ma table ?
    Par nabians dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 04/08/2007, 21h33
  3. type de donnée pour inserer l'adresse mail
    Par otari dans le forum Langage SQL
    Réponses: 1
    Dernier message: 06/06/2007, 13h30
  4. Meilleur type de données pour un prix
    Par linar009 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 17/08/2006, 14h41
  5. Type de données pour effectuer une différence en vba
    Par snoopy69 dans le forum Access
    Réponses: 4
    Dernier message: 03/03/2006, 07h49

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