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 :

erreur :Cell contents assignment to a non-cell array object.


Sujet :

Interfaces Graphiques

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Points : 61
    Points
    61
    Par défaut erreur :Cell contents assignment to a non-cell array object.
    Bonjour,

    quand j'execute mon code j'obtient l'erreur suivante :

    ??? Cell contents assignment to a non-cell array object.
    A quoi correspond cette erreur

    Mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    prompt = {'Enter le delai_pré:','Enter le delai_post'};
    dlg_title = 'Entrer les parametres d affichage';
    num_lines= 1;
    answer  = inputdlg(prompt,dlg_title,num_lines);
    
    set(handles.edit4,'String',answer(1));
    delai_pre=get(handles.edit4,'String')
    set(handles.edit5,'String',answer(2));
    delai_post=get(handles.edit5,'String');
    data=get(handles.listbox2,'UserData')
    nouveau=[delai_pre,delai_post]
    data{end+1,:}=nouveau
    set(handles.listbox2,'UserData',data);
    Merci pour votre aide

  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 304
    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 304
    Points : 52 884
    Points
    52 884
    Par défaut
    C'est tout a fait normal avec les objets Listbox (comme les Popupmenu) .

    Quand il n'y a qu'une seule ligne dans ces objets, la propriété String contient une chaine (tableau) de caractères (char array).

    C'est seulement si il y a plusieurs lignes que la propriété continent un tableau de cellules (contenant chacune une chaine de caractères).

    Donc, dans ton cas, le première fois que tu récupères le contenu de l'objet Listbox, tu récupères une variable de type char array. Et bien entendu, en essayant de l'indexer avec {}, cela provoque l'erreur.

    Pour éviter cette erreur, il suffit juste d'utiliser CELLSTR avec le GET comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    data=cellstr(get(handles.listbox2,'UserData'));
    Comme ça, tu peux sans problème utiliser {} par la suite.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    Merci pour l'info mais j'ai un autre problème:
    il me dit que mon entrée doit être un string
    Comment puis je faire avec userdata?

    ??? Error using ==> cellstr
    Input must be a string.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    J'ai testé d'autre chose

    Le code marche quand j'ai qu'un parametre à rentrer avec les lignes de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    delai_pre=get(handles.edit4,'String');
    data=cellstr(char(get(handles.listbox2,'UserData')))
    nouveau_delai_pre=delai_pre;
    data(end+1)=nouveau_delai_pre;
    Mais quand je veux mettre deux parametres dans UserData j'obtiens l'erreur suivante:

    Cell elements must be character arrays.
    Pour la ligne -> data=cellstr(char(get(handles.listbox2,'UserData')))

    Le code que j'ai tapé est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    set(handles.edit4,'String',answer(1));
    delai_pre=get(handles.edit4,'String');
    set(handles.edit5,'String',answer(2));
    delai_post=get(handles.edit5,'String');
    data=cellstr(char(get(handles.listbox2,'UserData')))
    nouveau_delai_pre=delai_pre;
    nouveau_delai_post=delai_post;
    data(end+1,1)=nouveau_delai_pre;
    data(end+1,2)=nouveau_delai_post;
    set(handles.listbox2,'UserData',data)
    Merci d'avance pour votre aide

  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 304
    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 304
    Points : 52 884
    Points
    52 884
    Par défaut
    Je crois que je me suis un peu mélangé les pinceaux

    Je ne comprends plus ce que tu cherches à faire.

    Peux-tu nous re-décrire comment fonctionne ton interface ?

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 189
    Points : 61
    Points
    61
    Par défaut
    C'est pa grave !!!

    j'ai crée une interface qui possede un bouton "ajouter une image".Quand je clique sur ce bouton je selectionne une image et quand je clique sur ouvrir l'apercu de l'image s'affiche.

    Le nom de l'mage selectionné s'affiche dans une listbox.

    Ensuite j'ai un bouton "Entrer les parametres" qui ouvre une fenetre de dialogue dans laquelle l'utilisateur rentre le delai pre et le delai post.Quand j'appuie sur ok de la fenetre de dialogue, les deux parametres s'affiche dans des edit text.

    La ce que j'aimerai faire c'est generer un fichier txt ou csv qui contient les parametres (delai pre et delai post) et le nom de l'image associé.

    exemple du fichier a generer :
    1,2,avion.bmp

    C'est pourquoi je voudrai utiliser le parametre UserData de la listbox.A moins qu'il est un autre moyen pour faire ceci.

    Jespere que j'ai été assez clair sinon n'hesitez pas a me reposer des questions.

Discussions similaires

  1. Erreur: Cell contents assignment to a non-cell array object.
    Par nadour dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 20/04/2012, 11h58
  2. Réponses: 1
    Dernier message: 04/04/2011, 23h16
  3. [phpMyAdmin] [MySQL 5.1.36] et [php 5.3.0] Erreur aléatoire : Attempt to assign property of non-object
    Par alphonix dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 23/06/2010, 09h15
  4. Réponses: 5
    Dernier message: 20/10/2006, 14h31

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