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

Auswahl aus der Listbox speichern

 

Phillip 11
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2022, 10:43     Titel: Auswahl aus der Listbox speichern
  Antworten mit Zitat      
Hallo liebes Forum,

ich habe ein kleines Problem womit ich nicht so recht weiterkomme:

Ich möchte meine Auswahl aus de Listbox speichern, am besten als Vektor mit Strings.
(GUI erstellt mit guide).

Mein Code sieht wie folgt aus:

Code:
% Listbox Callbackfunction
% --- Executes on selection change in listbox3.
function listbox3_Callback(hObject, eventdata, handles)
% hObject    handle to listbox3 (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 listbox3 contents as cell array
%        contents{get(hObject,'Value')} returns selected item from listbox3

contents = cellstr(get(hObject,'String'));

Gewaelte_Artikel = contents{get(hObject,'Value')}

set(handles.listbox5, 'String', Gewaelte_Artikel);
 


Mir wird meine Auswahl auch im Command Window angezeigt, ich würde diese aber gerne wie oben genannt in einem Vektor o.ä. sichern um diese dann Weiter zu verwenden.

Hat hier jemand eine Idee wie ich das am besten anstelle?

Vielen Dank und beste Grüße Smile
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: 24.01.2022, 11:43     Titel:
  Antworten mit Zitat      
Hallo,

einerseits kannst du die Einträge auch an anderer Stelle wieder abfragen:
Code:
get(handles.listbox5, 'String')


andererseits gibt es verschiedene Mechanismen Daten in GUIDE-GUIs zu speichern, z.B. getappdata / setappdata .

Für neue Oberflächen wäre aber meine dringende Empfehlung, weg von GUIDE und hin zu App Designer zu gehen. App Designer bietet aus meiner Sicht wirklich nur Vorteile, nicht zuletzt eben auch in der Handhabung von Daten innerhalb der App.
https://www.mathworks.com/help/matl.....acks-in-app-designer.html

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Phillip 11
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2022, 11:49     Titel:
  Antworten mit Zitat      
Hey Harald, ich danke dir!

Wenn ich das so mache, dann bekomme ich als Ausgabe alle in der Listbox gelisteten Daten.

Ich möchte aber nur die ausgewählten Dateien (Die, die dann blau hinterlegt sind) erhalten.

Wie kann ich das umsetzten? Hier finde ich bislang keine Möglichkeit ...


Beste Grüße
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: 24.01.2022, 12:13     Titel:
  Antworten mit Zitat      
Hallo,

genauso, wie du das auch im anderen Callback umgesetzt hast, nur halt ohne hObject.

Code:
contents = cellstr(get(handles.listbox5,'String'));
contents{get(handles.listbox5,'Value')}


Zum Vergleich: in App Designer wäre das
Code:
app.Listbox.Value

Man hat dort auch Auto-Vervollständigung, so dass man leichter / schneller das findet, was man sucht.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Phillip 11
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2022, 13:05     Titel:
  Antworten mit Zitat      
Hallo Harald,

das habe ich schon und bekomme das auch so angezeigt.

Aber wie bekomme ich meine Auswahl in ein Vektor oder Cell Array gespeichert?
(Also das meine Auswahl nacheinander in ein bspw. Spalten-Vektor übertragen wird ...)

Oder alternativ alle gewählten Artikel in einer weiteren Listbox angezeigt werden - Hier ist es bei mir gerade so, dass sich die Anzeige mit jedem neu gewählten Artikel anpasst (es steht immer nur ein Artikel drin, ich möchte aber alle gewählten untereinander angezeigt bekommen).

Aktuell ist es so, dass meine Wahl immer wieder überschrieben wird(Angezeigt wird es ja im Command Window).

Beste Grüße und vielen Dank Smile
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: 24.01.2022, 13:30     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
Aber wie bekomme ich meine Auswahl in ein Vektor oder Cell Array gespeichert?

VariablenName = ... ?

Zitat:
(Also das meine Auswahl nacheinander in ein bspw. Spalten-Vektor übertragen wird ...)

Mir ist nicht klar, was insbesondere das "nacheinander" hier bedeuten soll.

Zitat:
Oder alternativ alle gewählten Artikel in einer weiteren Listbox angezeigt werden

Ist das nicht gerade das, was du schon machst, wenn du das in listbox5 schreibst?

Zitat:
(es steht immer nur ein Artikel drin, ich möchte aber alle gewählten untereinander angezeigt bekommen)

Dann musst du aktualisieren statt überschreiben, z.B.
Code:
auswahl = [auswahl; neueAuswahl]


Wäre es nicht sinnvoller, den Anwender alle benötigten Elemente auf einmal auswählen zu lassen? Ansonsten sollte man auch einen Mechanismus zur Verfügung stellen, Elemente wieder zu entfernen.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Phillip 11
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2022, 13:38     Titel:
  Antworten mit Zitat      
Hallo Harald,

das mit dem aktualisieren ist vllt die beste Idee (Auch mit der Mehrfachauswahl!!!)

Allerdings bin ich nicht sicher wie genau bzw. über welchen Befehl ich das ganze aktualisiere (In welcher Listbox muss ich das aktualisieren, in der wo es überschrieben wird, oder dort wo ich die Auswahl treffe)?

Vielen dank und liebe Grüße Smile
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: 24.01.2022, 13:46     Titel:
  Antworten mit Zitat      
Hallo,

Zitat:
In welcher Listbox muss ich das aktualisieren, in der wo es überschrieben wird, oder dort wo ich die Auswahl treffe

Dort, wo du die aktualisierte Liste sehen möchtest.

Zitat:
Auch mit der Mehrfachauswahl!!!

Mit der Mehrfachauswahl erledigt sich meines Erachtens der Bedarf, etwas zu aktualisieren. Es gibt dann eine Listbox, und in der sieht man was ausgewählt ist bzw. kann die Information so extrahieren, wie du das schon machst.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Phillip 11
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2022, 13:50     Titel:
  Antworten mit Zitat      
Vielen Dank für die Hilfe!!

Allerdings ist mir noch nicht klar wie ich die Listbox aktualisiere :/.

Das mit der Mehrfachauswahl hat nun geklappt (Ich kann in der Listbox jetzt mehrere Einträge gleichzeitig auswählen (blau hinterlegt)).


Liebe Grüße
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: 24.01.2022, 14:21     Titel:
  Antworten mit Zitat      
Hallo,

wozu brauchst du denn eine zweite Listbox?

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Private Nachricht senden Benutzer-Profile anzeigen
 
Phillip 11
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 30.05.20
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2022, 14:23     Titel:
  Antworten mit Zitat      
Damit ich die Auswahl aus der ersten nochmal separat angezeigt bekomme..also der Übersichtlichkeit halber.

1) Auswählen aus allen angezeigten Artikeln
2) Die Ausgewählten Artikel in der zweiten Listbox anzeigen

Das wäre der Plan. Aber wie gesagt, bei mir stockt es mit dem Anzeigen der gewählten Artikel in Listbox 2...Hier wird lediglich überschrieben, statt aufgelistet.


Beste Grüße
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: 24.01.2022, 14:32     Titel:
  Antworten mit Zitat      
Hallo,

wenn die ausgewählten Artikel in der einen Listbox in blau angezeigt werden, dann sollte das doch vollkommen reichen? Das nochmal anzuzeigen, fände ich eher verwirrend.
Auch verstehe ich nicht, wo genau nun das Problem liegt. Durch die Mehrfachauswahl ist eine "Aktualisierung" doch nicht mehr notwendig, weil die momentane Auswahl vollständig ist?

Bevor das noch x mal hin- und her geht, wäre ein ausführbares Beispiel hilfreich, damit ich wirklich sehe, wo das Problem liegt.

Grüße,
Harald
_________________

1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
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.