Zuweisung von Werten bei fehlendem Eintrag im Edit-Fenster
fränky
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 01.09.2009, 15:56
Titel: Zuweisung von Werten bei fehlendem Eintrag im Edit-Fenster
Hallo zusammen,
Ich hab eine GUI-Oberfläche programmiert, die mehrere Werte über edit-Felder einliest. Trage ich in alle Edit-Felder etwas ein, läuft das Programm einwandfrei.
Falls ich jedoch in eines der edit-Felder nichts eingetrage, will ich, dass das Programm automatisch einen fest definierten Wert übernimmt (hier: 1), der dann an andere Callbacks weitergegeben werden soll... Ich habe das ganze mit isempty versucht, nur "handles.Wert" übernimmt den definierten Wert nicht und es kommt zu einer Fehlermeldung.
Code:
function edit1_Callback(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double
% Festlegung, dass nur Zahlen vom Typ 'String' in den Edit-Text % ge schrieben werden dürfen input = str2num(get(hObject,'String'));
% Falls keine Eingabe in den Edit-Text erfolgt, soll der Wert auf 1 gesetzt werden - hier liegt wohl der Fehler. ifisempty(input) set(hObject,'String','1');
end
% Der in den Edit-Text festeglegte Wert wird % definiert und für andere Callbacks zur Verfügung gestellt
t = get(handles.edit1,'String');
handles.Wert = str2num(t);
guidata(hObject, handles);
Falls im Edit-Fenster keine Zahl eingetragen wird, soll das Programm automatisch mit dem Wert 1 weiterrechnen
Code:
% --- Executes on button press in mpe1. function mpe1_Callback(hObject, eventdata, handles) % hObject handle to mpe1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
% Übernahme des Wertes, der im Edit-Text eingegebenen Zahl
edit1_Callback wird nur aufgerufen, wenn der Benutzer eine Eingabe in dem Feld vornimmt (oder zumindest in das Feld klickt und dann mit Return bestätigt).
Ich würde an Deiner Stelle schon in der OpeningFcn Default-Werte vergeben (und auch das Edit-Feld schon damit vorbelegen).
Danach funktioniert Deine Abfrage (also wenn der Benutzer einen Wert löscht, wird er wieder durch den Standardwert ersetzt).
Viele Grüße,
LittleX
fränky
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 02.09.2009, 13:39
Titel:
Danke für die schnelle Antwort,
nur wie kann ich in der OpeningFcn Default-Werte angeben bzw. definieren(Syntax), die bei einem Eintrag in das edit1_Callback Fenster wieder überschrieben werden?
Vielen Dank LittleX!!!!!
Das Programm läuft einwandfrei
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
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.