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

größe von listbox dynamisch ändern

 

lovobo
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 50
Anmeldedatum: 26.07.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2020, 13:03     Titel: größe von listbox dynamisch ändern
  Antworten mit Zitat      
Hallo,
ich bin recht neu im AppDesigner (der zweite tag) und bin nun sukzessive dabei, meine vorherigen m.files in eine App zu übertragen. Hierbei will ich realisiseren, das man eine auswahl treffen kann welchen ordner man öffnen will, bei dem sich die daten befinden. diese daten sollen dann aufgelistet werden. mithilfe eines suchfeldes möchte ich das vorherige ergebnis weiter eingrenzen.

Das ist mir alles bereits gelungen. leider haben die dateinamen stark unterschiedliche größen, weshalb sie dann unschön dargestellt werden.

Meine Frage ist nun, kann ich die größe abhängig von der zeichenzahl ändern ?
Code:
app.ListBox.Value = filenames;
[zei,spa] = size(app.ListBox.Items);


Hier bekomme ich auch die werte die ich möchte, ich konnte bisher aber nur "Position"(respektive die drei verschiedenen Postitionsangaben) für mich ausmachen, bei der ich die größe vll ändern könnte.

MfG Smile
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.448
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.01.2020, 14:51     Titel:
  Antworten mit Zitat      
Hallo,

Position ist die richtige Eigenschaft. Das sollten an sich 4 Werte sein, anzugeben als
[Einrückung von links, Einrückung von unten, Breite, Höhe]

Falls das nicht weiter hilft, bitte genauer beschreiben.

Für die Auswahl von Verzeichnis oder Datei(en) können auch uigetdir oder uigetfile sehr hilfreich sein.

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
 
lovobo
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 50
Anmeldedatum: 26.07.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2020, 09:21     Titel:
  Antworten mit Zitat      
Hallo Smile

danke für die Antwort. Für die Verzeichniswahl hab ich auch schon uigetdir benutzt, das funktioniert auch alles problemlos.

Bei der Änderung der Größe dachte ich das ich wie folgt vorgehen muss:
--> länge der dateinamen ermitteln
--> in etwa umrechnen wie viel pixel das sind
--> die aktuellen werte der größe des fensters auslesen
--> die neuen werte als fenstergröße setzen

Das mit position sah ich schon und und fragte mich wie ich denn die aktuelle position auslesen kann.

mfg Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
lovobo
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 50
Anmeldedatum: 26.07.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2020, 11:24     Titel:
  Antworten mit Zitat      
Ich dachte ich probiere mal etwas und taste mich langsam heran, also wollte ich ein textfeld nehmen, das im startup die information einer position bekommt.

Stieß auf das problem das ich wirre zeichen rausbekommen habe ... ich muss app.EditField2.Position(2)
als string formatieren, also
string(app.EditField2.Position(2)), sonst zeigt er die zahl nicht an. Irgendwie logisch wenn man die fehlermeldung liest xD
Hat mich trotzdem eine halbe Stunde gekostet.

Ok, nun bekomme ich das dann hin, da ich mit
app.EditField2.Position(2)
sowohl den wert setzen als auch auslesen kann.

edit:
Ich blick nicht mehr durch. für mich scheint es völlig willkürlich wann man im appdesigner string bruacht, wann char und wann es stink normale zahlen sind ...

ich kann zB die position direkt mit einer zahl setzen programmatisch.
will ich es von einem textfeld auslesen muss ich es erst konvertieren. Ich sehe einfach grad keine konsistenz und das frustriert mich sehr.

Auch ist das verhalten im appdesigner teils anders als im normalem skript.
Code:
[zei,spa] = size(app.ListBox.Items);
zb gibt werte aus, im normalen skript sinnvoll sind, im appdesigner jedoch nicht mehr.
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.