|
|
Popup-Menü mit variabler Anzahl von Auswahlmöglichkeiten f |
|
teutopixx |
Forum-Fortgeschrittener
|
|
Beiträge: 77
|
|
|
|
Anmeldedatum: 09.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 25.05.2011, 14:29
Titel: Popup-Menü mit variabler Anzahl von Auswahlmöglichkeiten f
|
|
|
|
|
Hallo,
seit einiger Zeit zerbreche ich mir den Kopf an dieser Aufgabenstellung:
Ich habe ein Array (genannt: test), welches eine variable Anzahl (maximal 9) Spalten besitzt.
Hinter jeder der maximal 9 Spalten verbirgt sich ein Struct-Array.
So gibt mir z. B. der Befehl
den Namen Müller aus.
oder
den Namen Mustermann.
Das geht bis maximal test(1,9).Name.
Nun möchte ich folgendes bewirken:
Es soll in meinem GUI ein Popup-Menü geben, in dem die Namen angezeigt werden.
Diese Aufgabe klingt recht einfach, nur bekomme ich die "Dynamik" da nicht rein.
Es kann nämlich Fälle geben, in dem die Spalten 3-9 gar nicht existieren. Also würde
die Fehlermeldung "Index exceeds matrix dimensions" ausgeben.
Bisher habe ich an folgendes gedacht
Und dann
Aber was passiert, wenn ich die Namen 1 - 9 auch noch anzeigen will, oder es nur die Namen 1-6 gibt?
Kann ich das irgendwie mit einer Laufvariable (z. B. n = 9) und einer Überprüfung, ob die Spalten existieren, kombinieren?
Und dann noch eine Frage:
In einem weiteren Popup möchte ich die Vornamen anzeigen lassen. Aber nur die Vornamen von Personen, die mit Nachnamen "Müller" heissen. Oder "Mustermann". Oder oder oder. Gibt es also in test(1,9).Name und test(1,3).Name den Namen Mustermann, sollen in einem anderen Popup deren Vornamen (z. B. Peter und Gaby) erscheinen.
Das GUI muss also in den Feldern test(1,x).Name überprüfen, ob der Name y vorhanden ist, und wenn ja, die Vornamen, die z. B. in test(1,x).Vorname stehen anzeigen.
_________________
----
teutoPIXX
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 27.05.2011, 09:04
Titel: Re: Popup-Menü mit variabler Anzahl von Auswahlmöglichkeit
|
|
Hallo teutopixx,
Man kann bei "test(1, 9).Name" übrigens die erste Dimension weglassen. "test(9).Name" ist kompakter und sogar etwas schneller.
Zitat: |
In einem weiteren Popup möchte ich die Vornamen anzeigen lassen. Aber nur die Vornamen von Personen, die mit Nachnamen "Müller" heissen. |
Hier wird der LOGICAL-Vektor, den STRCMPI zurück gibt, direkt zur Indizierung verwendet. Das ist effizienter, als zuerst per FIND einen Index-Vektor zu erzeugen - siehe "logical indexing".
Gruß, Jan
|
|
|
teutopixx |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 77
|
|
|
|
Anmeldedatum: 09.03.11
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 27.05.2011, 13:10
Titel:
|
|
Hey Jan,
soweit erstmal vielen Dank!
Kannst Du mir auf die Schnelle einen Tipp geben, wie z. B. das Kriterium für die Überprüfung nach Wortteilen (also z. b. nur Mül) lautet?
Also dass ich nicht nach dem exakten Namen "Müller" suche, sondern nach allen in denen die Buchstabenfolge "mül" vorkommt.
_________________
----
teutoPIXX
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 27.05.2011, 13:28
Titel:
|
|
Hallo teutopixx,
Den Befehl STRCMP hatte ich bereits gezeigt. Wenn Du dann etwas suchst, das etwas ähnliches macht, schau Dir die "See also: " Zeile von "help strcmp" an. Dort findest Du nützliche Hinweise, die Mathworks extra für solche Suchen dort hingeschrieben hat.
In Deinem Fall: STRCMPI falls der String-Abschnitt am Anfang stehen soll, REGEXP für beliebige Muster-Vergleiche.
Gruß, Jan
|
|
|
|
|
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 - 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.
|
|