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

Ordnern in Listbox auflisten

 

ROIIOR
Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 18.01.16
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 27.05.2016, 17:48     Titel: Ordnern in Listbox auflisten
  Antworten mit Zitat      
Hallo zusammen,

ich möchte ein GUI in Matlab programmieren, so dass es folgende macht:

GUI-ELEMENTE:
Pushbutton: wenn ich diese Pushbutton drücke, öffnet mir ein Dialog Fenster, der mir die Auswahl des Ordners unter Windown anbietet. Bei der Auswahl eines Ordners, wird die Adresse dieser Ordner (C:\.......) in Static Text angezeigt.

Static Text: Die Adresse(C:\.....) des ausgewählten Ordners soll hier (Static Text) angezeigt werden.

Listbox1:Es soll die gesammte Ordnern, die in der gleichen Stelle des ausgewählten Ordners untereinander aufgelistet werden(wenn es überhaupt andere Ordnern geben soll, ansonsten nur der ausgewählten Ordner) und durch doppelklick ein Ordner wird der Inhalt dieses Ordner in Listbox2 angezeigt (Das Inhalt soll CSV Dateien enthalten ansonsten zeigt ein leeren Ordner)

Listbox2:Das Inhalt des ausgewählten Ordners soll hier(Listbox2) aufgelistet werden

vielen vielen dank
ROIIOR

GUI.PNG
 Beschreibung:

Download
 Dateiname:  GUI.PNG
 Dateigröße:  64.1 KB
 Heruntergeladen:  423 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.05.2016, 18:46     Titel:
  Antworten mit Zitat      
Hallo,

und worin besteht nun deine Frage?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 18.01.16
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 27.05.2016, 19:12     Titel:
  Antworten mit Zitat      
Danke für die schnelle Antwort,

Ich weiß nicht wie ich die Ordner auf der listbox1 anzeigen kann

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

in welcher Form hast du die Ordner denn gegeben?
Je genauer du dein Problem eingrenzt, desto eher kann man dir helfen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 18.01.16
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 27.05.2016, 23:02     Titel:
  Antworten mit Zitat      
Hallo,
Ich verstehe nicht was sie mit Form des Ordners meinen?
Ich meinte normale Ordner unter Windows z.b
C:/users/Desktop/Ordner

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.05.2016, 23:16     Titel:
  Antworten mit Zitat      
Hallo,

ich schrieb nicht Form des Ordners, sondern in welcher Form die Namen der Ordner vorliegen. Sprich: ein Struct Array, ein Cell Array, was noch anderes?

Oder musst du die Ordner erst noch ermitteln?

Es ist grundsätzlich hilfreich, wenn du deine bisherigen Ansätze postest, damit man weiß, worauf man aufsetzen kann.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 18.01.16
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 28.05.2016, 15:39     Titel:
  Antworten mit Zitat      
Vielen dank nochmal,

Ich habe nur eine kleinen code geschrieben, wo die Adresse des Ordners, die die Csv Datei enthält ist.
Und durch der fullfile Befehl wird die name der csv Datei und die Adresse des Ordners zusammen verbunden und eine gesamte Adresse in Text Static Feld dargestellt.
Aber ich glaube die Form des Ordners wird ein cell array sein weil der dir Befehl ein cell array zurück gibt.

Vielen Dank
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.05.2016, 16:41     Titel:
  Antworten mit Zitat      
Hallo,

dann
Code:
set(handles.listbox1, 'String', ...)


Wenn das nicht funktioniert, musst du deine Daten entsprechend umwandeln.

Wenn du nicht weißt, wie das geht, dann musst du uns sagen, in welchem Format deine Daten vorliegen. Am besten wäre es, wenn du deinen Code postest anstatt ihn zu beschreiben.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 18.01.16
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 30.05.2016, 08:09     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe hier mein bisherige code hier eingefügt, vlt hast du ein bessere blick über was ich meinte.

VG
Code:
function varargout = GUI(varargin)

gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @GUI_OpeningFcn, ...
                   'gui_OutputFcn',  @GUI_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

function GUI_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;


guidata(hObject, handles);




varargout{1} = handles.output;


function Browse_Callback(hObject, eventdata, handles)

 strFolder = uigetdir;
 dateien = dir(strFolder);
 get(handles.Browse,'String',dateien);





function listbox1_Callback(hObject, eventdata, handles)



% ------------------------------------------------------------

function listbox1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end

% strPath = get(handles.text1,'string');
% dateiein = dir(strPath);
% set(handles.listbox1,'Value',dateiein);


function listbox2_Callback(hObject, eventdata, handles)


function listbox2_CreateFcn(hObject, eventdata, handles)


if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 


GUI.fig
 Beschreibung:

Download
 Dateiname:  GUI.fig
 Dateigröße:  2.71 KB
 Heruntergeladen:  415 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 30.05.2016, 08:47     Titel:
  Antworten mit Zitat      
Hallo,

der dir-Befehl gibt kein Cell-Array, sondern ein Struct-Array zurück. Das muss also entsprechend umgewandelt werden.
Zudem habe ich dir set, nicht get vorgeschlagen.

Code:
dateien = dir(strFolder);
 dateiNamen = {dateien.name};
 set(handles.Browse,'String',dateiNamen);


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

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 18.01.16
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 30.05.2016, 10:43     Titel:
  Antworten mit Zitat      
Hi Harald,

ich habe im Code das falsch geschrieben bezüglich uigetfile ich glaube ich muss uigetdir benutzen damit ich die adresse vom ordner haben kann und nicht die Adresse vom File, die im Ordner ist das ist erstens und zweitens diese code was Sie mir geschrieben haben zeigt mir auch nicht die Ordner auf listbox1

vielen Dank
ROIIOR
Private Nachricht senden Benutzer-Profile anzeigen
 
ROIIOR
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 18.01.16
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 30.05.2016, 12:10     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich habe schon geschafft die Ordner auf dem Listbox aufzulisten aber ich brauche jetzt wie ich durch doppelklick den orddner aufzuamchen.

danke

ROIIOR
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: 30.05.2016, 12:34     Titel:
  Antworten mit Zitat      
Hallo ROIIOR,

Doppel-Klick worauf und was bedeutet "aufmachen" genau? Wo soll was geöffnet werden?

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 23
Anmeldedatum: 18.01.16
Wohnort: Berlin
Version: ---
     Beitrag Verfasst am: 30.05.2016, 12:51     Titel:
  Antworten mit Zitat      
Hallo Harald,

ich will eigentlich, wenn ich auf Listbox1 auf ein Ordner drücke, sehe ich das Inhalt dieses ordner in Lisbox2.

vielen dank
RIOOIR
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

für Doppelklick ist mir keine Lösung bekannt.
Für einfaches Klicken und Selektieren kannst du ganz normal die Callback-Funktion der Listbox verwenden.
Wie du die Auswahl erhältst, ist aus den Kommentaren in der von GUIDE generierten .m-Datei ersichtlich. Dann brauchst du nur noch DIR darauf anzuwenden.

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 - 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.