WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Popupmenu mit Struct of strings

 

samad
Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 01.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2013, 13:08     Titel: Popupmenu mit Struct of strings
  Antworten mit Zitat      
Hi alle.
Ich habe ein struct (source_files1) der ich von ein mat file (guioutputDialogBox.mat) ausrufen kann:

Code:

>> load('guioutputDialogBox.mat')
>> source_files1

source_files1 =

2x1 struct array with fields:
    name
    date
    bytes
    isdir
    datenum
 


in source_files.name habe ich strings. Ich habe in meine GUI ein popup-menu eingefügt, wo ich diese strings auswählen möchte.
Kann jemand mir sagen welche code soll ich schreiben und wo soll ich einfügen hier unten????
Ps. meinGUI hat andere Elemente die schon gut funktionieren aber hier habe ich keine Ahnung.

Code:

function popupmenu1_Callback(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array
%        contents{get(hObject,'Value')} returns selected item from popupmenu1


% --- Executes during object creation, after setting all properties.
function popupmenu1_CreateFcn(hObject, eventdata, handles)
% hObject    handle to popupmenu1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    empty - handles not created until after all CreateFcns called

% 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


danke
 
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.09.2013, 13:13     Titel:
  Antworten mit Zitat      
Hallo,

versuch mal
Code:
set(handles.popupmenu1, 'String', {sourcefiles1.name})


Wo du das hinsetzen musst, hängt davon ab, wann das ausgeführt werden soll. Vermutlich ganz am Anfang (dann in die OpeningFcn) oder auf Knopfdruck (dann in den Callback des entsprechenden Objekts).

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
samad
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 01.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2013, 14:13     Titel:
  Antworten mit Zitat      
Hi. Danke für Antwort.

Ich habe es gemacht aber es funktioniert nicht:

Fehlermeldung:

Undefined variable "sourcefiles1" or class "sourcefiles1.name".

Error in untitled>popupmenu4_Callback (line 228)
set(handles.popupmenu4, 'String', {sourcefiles1.name})

Ich habe mein GUI in Anhang gespeichert.

Es soll durch '' open Battery info'' informationen als string gespeichert werden(z.b. Namen von batterie). dann sucht matlab in Path und findet diese Namen und speichert die name Strings in source_file1. Diese Namen sollen dann in popup menu4 ausgewählt und in Battery search text box dargestellt werden.

untitled.fig
 Beschreibung:

Download
 Dateiname:  untitled.fig
 Dateigröße:  11.36 KB
 Heruntergeladen:  374 mal
untitled.m
 Beschreibung:

Download
 Dateiname:  untitled.m
 Dateigröße:  8.91 KB
 Heruntergeladen:  373 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 16.09.2013, 14:44     Titel:
  Antworten mit Zitat      
Hallo samad,

Zitat:
Fehlermeldung:
Undefined variable "sourcefiles1" or class "sourcefiles1.name".

Aber Du hattest doch selbst geschrieben:
Zitat:
load('guioutputDialogBox.mat')
>> source_files1
source_files1 =

2x1 struct array with fields:
name
date
bytes
isdir
datenum

Nun können wir nicht erraten, weshalb "source_files1" plötzlich nicht mehr existiert.

Zitat:
Es soll durch '' open Battery info'' informationen als string gespeichert werden(z.b. Namen von batterie). dann sucht matlab in Path und findet diese Namen und speichert die name Strings in source_file1. Diese Namen sollen dann in popup menu4 ausgewählt und in Battery search text box dargestellt werden.

Ich verstehe keinen dieser Sätze.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
samad
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 28
Anmeldedatum: 01.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.09.2013, 15:02     Titel:
  Antworten mit Zitat      
hi.
Ich habe was korrigiert. Wie du in Anhang siehst, wird 'guioutputDialogBox.mat' schon gespeichert bevor man zu popupmenu kommt.
GUI gibt kein Fehler raus aber popupmenu ist immernoch leer.

source_file1 ist <2x1> und ich glaube der wird nicht so einfach ins popup menu sich importiert.

Bitte siehe Anhang

untitled.fig
 Beschreibung:

Download
 Dateiname:  untitled.fig
 Dateigröße:  11.36 KB
 Heruntergeladen:  354 mal
untitled.m
 Beschreibung:

Download
 Dateiname:  untitled.m
 Dateigröße:  8.89 KB
 Heruntergeladen:  358 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 16.09.2013, 15:19     Titel:
  Antworten mit Zitat      
Hallo,

die Unterfunktionen in einer GUI haben unterschiedliche Workspaces. Du musst schon dafür sorgen, dass die Daten auch da sind, wenn du sie brauchst - siehe z.B.
http://www.mathworks.com/help/matla.....-data-in-a-guide-gui.html

Desweiteren bezweifle ich, dass es sinnvoll ist, diesen Code in den Callback eines Popupmenüs zu setzen, siehe mein erster Kommentar. Das wird ja erst ausgeführt, wenn sich die Auswahl im Popupmenü ändert. Wenn aber nichts da ist, kann auch nichts ausgewählt werden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.