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

Werte werden in Listbox immer überschrieben

 

Meister_Lanz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.10.2011, 14:33     Titel: Werte werden in Listbox immer überschrieben
  Antworten mit Zitat      
Hey Leute, bin Matlap Anfänger und hänge gerade über einem Problem. Und zwar möchte ich mit 4 EditText Feldern (Tags: data_text, x_data, y_data, target_data) in einer Gui die eingegebenen Strings in einer Listbox untereinander hineinschreiben lassen. Allerdings überschreibt mir der neue Wert bei Betätigung eines EditText Feldes jedes Mal den alten.


Folgender Code für ein EditText feld (alle 4 gleich)

Code:
if get(handles.data_text, 'String')
     
       listtext_data= (get(handles.data_text,'String'));
       assignin('base','listtext_data',listtext_data);
       set(handles.datenstand,'String',['Datensatz: ',listtext_data]);    
       set(handles.data_text, 'String',[]);
     
end  


Ich habe schon diverse Versuche mit dem Eval Befehl versucht allerings ohne Erfolg

Bin für jeden Tipp dankbar


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.10.2011, 22:47     Titel: Re: Werte werden in Listbox immer überschrieben
  Antworten mit Zitat      
Hallo Meister_Lanz,

Was immer Du vorhast, löse es ohne EVAL und ASSIGNIN.
Dazu kannst Du hier im Forum einiges finden.

Code:
if get(handles.data_text, 'String')

Der get-Befehl liefert einen String zurück. Z.B. "if 'hello'" ist nicht wirklich sinnvoll.

Was bedeutet: "Folgender Code für ein EditText feld (alle 4 gleich)"? Welche 4 sind gleich?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 12.10.2011, 23:15     Titel:
  Antworten mit Zitat      
Hey,
Zitat:

bin Matlap Anfänger...

finde ich einen sehr lustigen Tippfehler...
Ich glaube Meister_Lanz meint, dass alle 4 Editfelder den gleichen Callback haben... Versuche mal soetwas in deinem Editfeldcallback:
Code:

if isempty(get(hObject,'String'))
    uiwait(msgbox('Bitte einen Wert eingeben!','Falsche Eingabe','help','modal'))
    set(hObject,'String','Fehler')
    uicontrol(hObject)
else
    newstr = get(hObject,'String');
    strlist = get(handles.listbox1,'String');
    if isempty(strlist)
        set(handles.listbox1,'String',{newstr})
    else
        if ~iscell(strlist)
            strlist = {strlist};
        end
        strlist(end+1) = {newstr};
        set(handles.listbox1,'String',strlist)
    end
    set(hObject,'String','')
end
 


Was mich gerade irritiert ist, dass wenn man im Guide ein Editfeld erstellt und den String (also die Property des Objektes) nicht editiert, bekommt man mit iscell(get(hObject,'String')) im Callback des Editfeldes n true zurück. Bearbeitet man den String im Inspector dann erhält man ein false also kein cell. Ist das ein Bug oder gewollt? Ich denke mal, dass keiner beim Starten seiner GUI "Edit Feld" in einem gleichnamigen stehen haben möchte aber seltsam ist es dennoch...

Meine Testversion 2011a 64 Bit win7

Greetings

Marco
Private Nachricht senden Benutzer-Profile anzeigen
 
Meister_Lanz

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.10.2011, 13:10     Titel:
  Antworten mit Zitat      
Nun ja, mit dem "alle 4 gleich" meine ich lediglich dass der Code der anderen Editfelder genau gleich ist, eben nur jeweils mit den eigenen Tags versehen.

Auf jeden Fall erstmal vielen Dank für die Infos, habe das Problem mittlerweile anderweitig beseitigen können, aber ich werde dennoch mal versuchen, das Geschriebene umzusetzen.

Hobbla, und WAS für ein Tippfehler Very Happy man man man...Matla!!b!!
 
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 - 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.