Verfasst am: 10.05.2014, 00:46
Titel: GUI edit text auslesen und wiedergeben
Hallo!
Schonmal vorweg ich bin blutiger Anfänger und wurde ins kalte MATLAB Wasser geworfen und möchte etwas hinbekommen:
Ein bestehendes Programm (es ist eine riesige function), welches eine .m Datei als Output mit Informationen gibt soll so verändert werden, dass zusätzliche einfache Informationen an die .m Datei angehängt werden.
Das Programm funktioniert über eine GUI, dem ich 6 edit text Felder hinzugefügt habe. Der Inhalt dieser Text Felder soll hier weiterverwendet werden:
(ich weiß, dass man das noch schöner hinschreiben kann mit dem fprintf, aber der Übersicht halber hab ich's so gelassen )
Diese 8 Zeilen sollen der Outputdatei angehängt werden (dabei sollten nur FELD 1-6 interessant sein).
Meine Frage/Bitte:
Wie bekomme ich aus den 6 GUI-Feldern die eingegebenen Informationen heraus, dass sie im Code FELD1-6 wiedergegeben werden?
Vorallem habe ich noch kaum Ahnung wie das mit den Callbacks funktioniert, da das Programm eine function ist, kann ich nicht so einfach weitere functions zwischenschieben.
Die Theorie ist mir klar: 6 Variablen werden abgespeichert und anderweitig verwendet.
Klingt eigentlich ziemlich einfach, aber wie gesagt ich bin Anfänger und stundenlanges Rumprobieren und googlen hat nicht weitergeholfen.
Sollten noch Informationen fehlen oder etwas unklar sein, lasst es mich wissen!
Danke für's Lesen (und womögliches Lösen)!
ich bin davon ausgegangen, dass du deine GUI mit GUIDE erstellst.
Ist das korrekt, oder erstellst du die GUI programmatisch?
In irgendeiner Form musst du an die Handles auf die editierbaren Textfelder kommen - wie du das machst, ist letztlich eine Frage dessen, wie deine GUI implementiert ist.
Hallo,
die GUI wird über Guide ausgeführt.
Das Programm, welches ich erweitere, funktioniert scheinbar über Callbacks in den anderen edit Text Feldern, da steht z.B im edit text Callback "PROGRAMM('edit1')" und im Programm würd es über "case 'edit1'" abgerufen.
Das aber auf die anderen Felder anzuwenden funktioniert nicht ganz
Ich probiere erstmal ein bisschen weiter, danke so weit für die Hilfe!
Verfasst am: 10.05.2014, 23:20
Titel: Re: GUI edit text auslesen und wiedergeben
Hallo apfel,
Programme, die andere Programme schreiben, ist eine Idee von Programmier-Beginnern oder wirklichen Hardcore-Freaks.
Es ist deutlich übersichtlicher Daten und Programme streng voneinander zu trennen. Du würdest dann z.B. nicht eine Reihe unterschiedlicher M-files schreiben, sondern hast ein M-File, dass die Daten aus unterschiedlichen MAT-Files einliest. Siehe LOAD und SAVE.
Hallo Jan,
was ich anzufügen habe schreibt eigentlich kein Programm.
Es fügt nur etwas an die Output .m Datei an, damit die Datei mit einem anderen Programm einfacher weiterverarbeitet werden kann.
Ich glaube ich habe es komplizierter beschrieben als es eigentlich ist.
Falls es wen in Zukunft interessiert:
Im Grunde hat Harald schon die richtige Antwort gegeben, ich musste nur die Programmstruktur weiter entschlüsseln.
Hat nicht funktioniert, weil das Programm mit einer global Variable arbeitet und nur Variablen über diese global lesen und schreiben kann.
Außerdem war das Variablen ablesen vom GUI etwas anders als über handles (wie gesagt ich kenne mich fast gar nicht aus).
Über einen Callback im edit1-Textfeld wird der case "edit1" abgerufen (Callback: programmname('edit1')).
Der Inhalt von edit1 wird abgelesen und in Variable FELD1 gespeichert (mit der Oberstruktur von "daten" und "vari"). Wie man sieht gibt es mehrere verschachtelte Variablenstrukturen.
Das dann noch für die anderen 6 Felder und die Output-Datei zeigt wie gewünscht zusätzlich am Ende folgende 8 Zeilen an, mit denen dann mit einem anderen Programm weitergearbeitet wird:
Mit den jeweiligen Inhalt den man in die 6 Textboxen eingegeben hat.
Vielen Dank für Eure Mühe!
/done
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.