Datei in Listbox anzeigen
Philipp68
Forum-Century
Beiträge: 167
Anmeldedatum: 21.10.15
Wohnort: Mannheim / Ilmenau
Version: R2014a, R2017a, R2019b
Verfasst am : 22.07.2017, 10:57
Titel : Datei in Listbox anzeigen
Hallo,
ich habe eine Funktion, die mir alle Excel-Datein in einer Listbox anzeigen soll. Die GUI habe ich ohne Guide erstellt.
Code:
function FunktionRefresh( hObject, eventdata, handles)
Excel_List = dir ( '*.xlsx ') ;
Excel_List_Size = size ( Excel_List) ;
Excel_Names = struct2cell ( Excel_List) ;
for i = 1 :Excel_List_Size( :,1 )
Excel_Names_New( i,1 ) = Excel_Names( 1 ,i) ;
end
assignin ( 'base ','Excel_Names_New ',Excel_Names_New) ;
assignin ( 'base ','Excel_List_Size ',Excel_List_Size) ;
assignin ( 'base ','Excel_List ',Excel_List) ;
set ( handles.Listbox ,'String ',Excel_Names_New) ;
end
Nun tritt in der letzten Zeile folgende Fehlermeldung auf.
Not enough input arguments.
Error in FunktionRefresh (line 15)
set(handles.Listbox,'String',Excel_Names_New);
Ich sehe das Problem nicht, denn wenn ich "set...." in den GUI Code schreibe, funktioniert es.
Wäre für eure Hilfe echt dankbar!
huhu0815
Forum-Century
Beiträge: 141
Anmeldedatum: 20.02.14
Wohnort: Dresden
Version: R2013b, R2014b, R2016b, R2018a
Verfasst am : 22.07.2017, 16:33
Titel :
Hallo
also in der 2016b funktioniert dein Code.
Probier mal bitte als Alternative
ansonsten kann ich das Problem leider nicht nachstellen
Philipp68
Themenstarter
Forum-Century
Beiträge: 167
Anmeldedatum: 21.10.15
Wohnort: Mannheim / Ilmenau
Version: R2014a, R2017a, R2019b
Verfasst am : 24.07.2017, 09:15
Titel :
Guten Morgen huhu,
ich benutze zur Zeit die 2017a Version und sollte dann eigt auch bei mir gehen. Habe deinen Code ausprobiert.
Jedoch wird wieder die gleiche Fehlermeldung angezeigt. Ich poste mal den Code der Liste und des Buttons.
Code:
handles.Listbox = uicontrol ( tab2,'Style ','listbox ','fontsize ',10 ,'Position ',[ 20 ,15 , 280 , 260 ] ) ;
handles.refresh = uicontrol ( tab2,'style ','pushbutton ','String ','Refresh ','Position ',[ 20 ,280 , 100 , 50 ] ,'Callback ',@FunktionRefresh) ;
set ( handles.refresh ,'fontsize ',10 ,'backgroundcolor ','w ') ;
Ich bin echt ratlos und kann keinen Fehler entdecken. Im Internet wird überall dieser Befehl für die Listbox ausgeführt.
Füge ich
ich den GUI Code eine und "Excel_Names_New" befindet sich bereits im Workspace und drücke erneut "run" werden die Files in der Liste angezeigt.
Zuletzt bearbeitet von Philipp68 am 24.07.2017, 09:34, insgesamt einmal bearbeitet
Harald
Forum-Meister
Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
Verfasst am : 24.07.2017, 09:31
Titel :
Hallo,
du musst dafür sorgen, dass die Handles auch an die Callback-Funktion zur Verfügung gestellt werden:
Code:
handles.refresh = uicontrol ( 'style ','pushbutton ','String ','Refresh ','Position ',[ 20 ,280 , 100 , 50 ] ,'Callback ',{ @FunktionRefresh, handles} ) ;
Ich persönlich finde es einfacher, eine Oberfläche mit GUIDE oder dem Nachfolger davon, App Designer, zu entwerfen.
Grüße,
Harald
Philipp68
Themenstarter
Forum-Century
Beiträge: 167
Anmeldedatum: 21.10.15
Wohnort: Mannheim / Ilmenau
Version: R2014a, R2017a, R2019b
Verfasst am : 24.07.2017, 09:42
Titel :
Guten Morgen Harald,
vielen vielen Dank! Jetzt funktioniert es!
App Desgner kannte ich noch nicht, GUIDE schon, nur hatte ich mit GUIDE eine paar Probleme und habe sie nun per Code erstellt. Werde mir AppDesigner mal genauer anschauen und vllt alles noch dort umsetzen.
Auch nochmal Danke an huhu für deinen Vorschlag
Lg
Einstellungen und Berechtigungen
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
| RSS
Hosted by:
Copyright © 2007 - 2024
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.