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

Einträge in Listbox einfügen

 

michael

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.04.2008, 20:58     Titel: Einträge in Listbox einfügen
  Antworten mit Zitat      
hallo zusammen,

ich habe folgendes problem: ich möchte innerhalb einer schleife einträge in eine listbox geben. problem ist allerdings, dass mir jedes mal wenn ich einen neuen eintrag hinzufügen möchte, es den alten überschreibt. woran liegt das bzw. was mache ich falsch?

schon mal danke für eure hilfe!
mfg michael


outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 04.04.2008, 21:34     Titel:
  Antworten mit Zitat      
1. Inhalt der Listbox auslesen.
2. Um neuen Eintrag erweitern.
3. zurück in die Listbox schieben.


MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
michael

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.04.2008, 21:54     Titel:
  Antworten mit Zitat      
diesen ansatz habe ich auch schon probiert, bloß ist mein problem, dass ich es nicht schaffe, die einzelnen einträge so zu verbinden, dass ich sie wieder in die listbox einlesen kann.

hier mal mein programmcode:
listtext = get(handles.listbox_sens, 'String')
text = ['Figure ',num2str(k)]
fulltext = strcat({listtext,'|',text})
set(handles.listbox_sens, 'String', fulltext);

mfg, michael
 
outsider
Forum-Meister

Forum-Meister


Beiträge: 806
Anmeldedatum: 03.09.07
Wohnort: München
Version: R2012b
     Beitrag Verfasst am: 05.04.2008, 00:05     Titel:
  Antworten mit Zitat      
Code:
h = uicontrol('style','listbox','units','pixel', ...
              'position',[20 20 150 300],'String',{'bla'})

set(h,'string',[get(h,'String');{'bla bla'}])
set(h,'string',[get(h,'String');{'noch mehr bla bla'}])


Falls Du eine bestimme Zeile erweitern willst

Code:
tmp = get(h,'String')
tmp{1} = [tmp{1} ' HELLO WORLD']
set(h,'string',tmp)



MfG
Private Nachricht senden Benutzer-Profile anzeigen
 
michael

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.04.2008, 09:58     Titel:
  Antworten mit Zitat      
danke! jetzt gehts

mfg michael
 
Phipo
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 04.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 06.11.2009, 14:16     Titel: ähnliches Problem
  Antworten mit Zitat      
Hallo Leute,

ich hab ein ähnliches Problem:
Ich lese aus einer Listbox (zeigt alle Variablen im Workspace an) den Markierten Wert aus und speichere ihn in handles mit einer gewünschten Nummerierung (stelle) ab.
Welcher Wert welche Nummerierung (Parameterposition) hat will ich in einer weiteren Listbox(parpos_listbox) anzeigen, was auch funktioniert. Aber die Einträge werden auf der 40sten Position angezeigt (siehe angefügtes Bild). Warum???

Danke für die Hilfe im vorraus!



Code:

% Markiertes Element aus Listbox holen
list = get(handles.var_listbox,'String');
index = get(handles.var_listbox,'Value');

% Gewünschte Paremterposition aus Editfeld holen
stelle = get(handles.parastelle_edit,'String');

% Zusammensetzen eines String zum abspeichern des markierten Elements
% aus der Listbox mit der gewünschten Parameterposition im Namen
string = ['handles.para', num2str(stelle), '=list{index};'];
eval(string);

% Gesetzer Parameter und Parameterposition in parpos_listbox anzeigen
tmp = get(handles.parpos_listbox,'String');
string2 = [num2str(stelle), '.  Parameter --> ', list{index}];

tmp{stelle} = string2;    

set(handles.parpos_listbox,'String',tmp);
 


listbox.JPG
 Beschreibung:
listbox

Download
 Dateiname:  listbox.JPG
 Dateigröße:  4.38 KB
 Heruntergeladen:  2323 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 06.11.2009, 14:49     Titel:
  Antworten mit Zitat      
Hallo, das Problem liegt an diesen Stellen:
Code:

stelle =get(handles.parastelle_edit,'String');
% z.b stelle ='1'
% double(stelle) ergibt 49
tmp{stelle} = string2;    
 


Wenn du Editfeld ausliest, dann ist der Wert ist immer eine Zeichenkette,
also muss es erst zu Zahlenwert konvertiert werden, bevor als Index
benutzt werden kann.
Sonst wird es automatisch in Zahlenwert konvertiert (nach ASCII-Tabelle).

so sollte es funktionieren:
Code:

stelle = str2double(get(handles.parastelle_edit,'String'));
tmp{stelle} = string2;    
 
Private Nachricht senden Benutzer-Profile anzeigen
 
Phipo
Forum-Anfänger

Forum-Anfänger


Beiträge: 44
Anmeldedatum: 04.11.09
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 06.11.2009, 15:22     Titel:
  Antworten mit Zitat      
Ja jetzt läufts!! Daran hab ich nicht gedacht.

THX 4 help
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.