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

Edit's überprüfen /handle aus String

 

pitaz
Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 03.12.08
Wohnort: Zürich, Schweiz
Version: R2009a
     Beitrag Verfasst am: 08.12.2008, 18:11     Titel: Edit's überprüfen /handle aus String
  Antworten mit Zitat      
Hallo

Kann ich aus einem String einen handle für Objekte eines Gui's machen?
z.b so:

Code:



variables = {'wire_length'; 'wire_radius'; 'wire_velocity');
vvv = char(variables)
h=['handles.text_' vvv(i,:)];

get(h, 'String')
 


Die handles sind soweit ich das herausgefunden habe doubles. Nur wie weiss ich welcher Handle welchem Wert entspricht. Vergibt Matlab die Werte intern?
Warscheinlich ist meine Vorgehensweise sowieso nicht besonders effektiv. Ich habe zu beginn ein Fenster mit mehreren Edit's, die als Eingabe für versschiedene Paramter einer anschliessende Simulation dienen. Beim betätigen des Start-Buttons möchte ich überprüfen, ob alle Felder ausgefüllt sind, und wenn nicht, einen kleinen Dialog öffnen, der dem Benutzer zeigt, welche Felder vergessen wurden.
Ich bin natürlich für jeden Vorschlag offen
Private Nachricht senden Benutzer-Profile anzeigen


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.12.2008, 21:51     Titel:
  Antworten mit Zitat      
Du könntest in dem Knopf etwa sowas versuchen:
Code:
h=findobj('style','edit'); % Handles zu allen edit Objekten
s=get(h,'string'); % die String daraus
leerefelder=get(h(cellfun(@isempty,s)),'tag'); % gucken, welche davon leer sind
if ~isempty(leerefelder) % wenn es leere gibt ...
    warndlg(leerefelder,'Fehlende Eingaben!') % ...Warnung anzeigen
end
 
pitaz
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 35
Anmeldedatum: 03.12.08
Wohnort: Zürich, Schweiz
Version: R2009a
     Beitrag Verfasst am: 09.12.2008, 10:57     Titel:
  Antworten mit Zitat      
Hallo

Erst mal danke für die Antwort. Die Sache ist aber die. Ich habe zu jedem edit einen text, den ich bei fehlendem Eintrag gerne anzeigen würde. Die Namenskonvention ist folgendermassen:

Handle für edit (Bsp)

handles.edite_wire_length

Zugehöriges Text-Handle;

handles.text_wire_length

Wenn nun das edit leer ist, will ich in der Fhelrmeldung den text aus dem zugehörigen text-objekt stehen haben.
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2008, 20:12     Titel:
  Antworten mit Zitat      
Für 3 Felder gerade noch vertretbar wäre ja einfach eine einzelne Abfrage:
Code:
msg={};
if isempty(get(handles.edit_wire_length,'string'))
    msg=[msg handles.text_wire_length];
end
if isempty(get(handles.edit_wire_radius,'string'))
    msg=[msg handles.text_wire_radius];
end
if isempty(get(handles.edit_wire_velocity,'string'))
    msg=[msg handles.text_wire_velocity];
end
if ~isempty(msg)
    warndlg(msg,'Fehlende Eingaben');
end

Wenn das mehr werden würde ich die entsprechenden tags und die Texte zusammen z.B. in einer cell speichern und dann da irgendwie durch iterieren.
Wie auch immer, jedenfalls kannst Du nicht wie in Deinem ersten Posting an die handles kommen.
 
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.