|
Nils_Gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.11.2007, 11:11
Titel: Load / Save
|
|
Hallo Forum,
ich möchte Edit-Box- und Slider-Werte aus meinem GUI in eine externe Datei speichern und diese später wieder laden können.
Wenn ich einen pushbutton drücke soll sich ein Dialog öffnen in dem ich Dateiname und Pfadangabe zum Speichern wählen kann.
Über einen zweiten pushbutton soll sich ein öffnen-Dialog öffnen, in dem ich nach der Datei browsen kann.
Nachdem ich die Datei ausgewählt habe, sollen die Werte sofort übernommen und angezeigt werden.
Dazu ist zu beachten: Das ganze Projekt soll wenn möglich zum Schluss kompiliert werden und eine exe werden...
Ich hoffe, jemand kann mir Tips dazu geben...
Gruß und Dank,
Nils
|
|
|
|
|
W31dn3r |
Forum-Newbie
|
|
Beiträge: 7
|
|
|
|
Anmeldedatum: 10.11.07
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 12.11.2007, 14:41
Titel:
|
|
Hallo,
wo sind genau deine Schwierigkeiten?
Zum File Öffnen kanst du die Funktion Verwenden
Zum Speichern
Das auslesen und Schreiben von werten in die jeweiligen Edit-Boxen kann durch set und get Funktionen erfolgen.
Wenn das ganze Fertig ist, muss es mit Matlab Component Runtime (MCR) zu einer exe compiliert werden.
http://www.gomatlab.de/gui-fuer-and.....fuehrbar-machen-t239.html
Viel Erfolg
|
|
|
WRZ |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.11.2007, 18:43
Titel: Load/Save
|
|
Hallo,ich habe auch solche Schwierigkeiten.In mein GUI Figur gibt es 22 Edit-box und wird 22 Werten einzugeben.Ich möchte durch die Save und Load Pushbutton jedes mal die Werten in eine Datei speichen und nächste mal kann ich einfach die Datei mit die Werten auslesen.Was sollte ich unter callback die code schreiben?
danke
gruss wrz
|
|
|
steve |
Ehrenmitglied
|
|
Beiträge: 2.029
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: Wien
|
|
|
|
Version: R2024a
|
|
|
|
|
|
Verfasst am: 16.11.2007, 13:20
Titel:
|
|
Ich denke du könntest da mit der save-Funktion rechtgut zurande kommen, indem du die Var. in einem .mat-file abspeicherst und halt auch daraus ohne Probleme einlesen kannst.
Zitat: |
% ich gehe davon aus, dass die 22 Var. in einem Struct 'Var' stehen
% dann müsste in deiner save-callback stehen:
save var.mat var;
% und in der load-callback:
load var.mat;
|
Ich denke damit müsste es klappen! Falls nicht oder es gibt bessere Lösungen, so bin auch ich gespannt
Grüße
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
wrz |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.11.2007, 15:35
Titel:
|
|
Aber jede werte in ein edit-box,wie kann die 22 werten in einem Struct 'Var' stehen?
gruss wrz
|
|
|
steve |
Ehrenmitglied
|
|
Beiträge: 2.029
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: Wien
|
|
|
|
Version: R2024a
|
|
|
|
|
|
Verfasst am: 18.11.2007, 15:53
Titel:
|
|
Ich denke du hast zu jeder Edit-Box eine Callback-Funktion, richitg?
In diesen Funktionen speicherst du die eingegebenen Werte auf Variablen ab, oder?
Diese Variablen müssten dann die Form
Zitat: |
handle.Var1 = ... ; |
haben.
In deiner save-Funktion müsste dann stehen:
Zitat: |
save Var.mat handle.Var1, handle.Var2, ...; |
oder
Zitat: |
Var.V1 = handle.Var1;
:
:
save Var.mat Var; |
Grüße
Alex
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
tompie |
Forum-Guru
|
|
Beiträge: 260
|
|
|
|
Anmeldedatum: 19.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: immer alles
|
|
|
|
|
|
Verfasst am: 19.11.2007, 13:32
Titel:
|
|
Die Inhalte aller Edit-Boxen auszulesen und in ein struct zu schreiben ist wirklich einfach:
... und schon stehen im struct "var" fein säuberlich alle Werte verzeichnet. Die Namen der Attribute in diesem struct sind die Tag-Namen der Edit-Boxen (für die spätere Zuordnung beim Laden).
Das Laden funkioniert natürlich genau umgekehrt:
Sollte funktionieren...
Gruß tompie
|
|
|
wrz |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.11.2007, 15:47
Titel:
|
|
Sollte ich die beide code unter callback der Save und Load schreiben?und bei save welche Datentyp sollte ich waehlen?
danke
|
|
|
wrz |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.11.2007, 16:32
Titel:
|
|
Ich habe so geschrieben,aber bei Load kommt ein Fehle:
??? The function, script, or class var
cannot be indexed using {} or . indexing.
Error in ==> MotorParameter>Load_pushbutton_Callback at 605
content=var.(tag); % passenden Inhalt aus struct lesen
|
|
|
tompie |
Forum-Guru
|
|
Beiträge: 260
|
|
|
|
Anmeldedatum: 19.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: immer alles
|
|
|
|
|
|
Verfasst am: 22.11.2007, 11:24
Titel:
|
|
wrz hat Folgendes geschrieben: |
Ich habe so geschrieben,aber bei Load kommt ein Fehle:
??? The function, script, or class var
cannot be indexed using {} or . indexing.
Error in ==> MotorParameter>Load_pushbutton_Callback at 605
content=var.(tag); % passenden Inhalt aus struct lesen |
Der Save-Callback sollte ungefähr so aussehen:
Der Load-Callback sollte dann folgendermaßen aussehen:
Die Daten liegen dann im File "content_edit_boxes.mat".
Gruß tompie
|
|
|
wrz |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.11.2007, 18:59
Titel:
|
|
Danke sehr!
Wenn ich einen pushbutton "Save" drücke soll sich ein Dialog öffnen in dem ich Dateiname und Pfadangabe zum Speichern wählen kann. Was sollte ich schreiben?Auch bei Load.
gruss wrz
|
|
|
tompie |
Forum-Guru
|
|
Beiträge: 260
|
|
|
|
Anmeldedatum: 19.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: immer alles
|
|
|
|
|
|
Verfasst am: 27.11.2007, 15:56
Titel:
|
|
wrz hat Folgendes geschrieben: |
Danke sehr!
Wenn ich einen pushbutton "Save" drücke soll sich ein Dialog öffnen in dem ich Dateiname und Pfadangabe zum Speichern wählen kann. Was sollte ich schreiben?Auch bei Load.
gruss wrz |
s. Antwort von W31dn3r
|
|
|
pooz |
Forum-Anfänger
|
|
Beiträge: 49
|
|
|
|
Anmeldedatum: 04.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.06.2009, 19:06
Titel:
|
|
|
|
|
Hi Leute,
vielen Dank für diese kleine Hilfe.
Ich habe jedoch noch eine Frage und einen Verbessrungsvorsschlag, den ich aber selbst nicht gelöst bekomme.
1) Ich verwende zu meinen Edit Boxen noch Slider, die miteinander gekoppelt sind. Bewege ich einen Slider, so erscheint der Wert in der Edit Box. Oder gebe ich einen Wert in die Edit-Box ein, so springt der Slider an diese Position, wenn ich die Enter-Taste betätige!
Leider klappt das nach dem Laden aber nicht. Es fehlt sozusagen das "Drücken der Enter-Taste"
Gibt es dazu ein Lösung?
2) Ich würde auch gerne noch meine Radio-Buttons (aus Buttongroups) und meine List-Boxes mit abspeichern.
Wie mach ich das?
Kann man in Matlab für den Typus, in unserem Falles "edit" auch ein Platzhalter einsetzen wie z.B. und Windows ein Sternchen '*', sodass alle Elemente der Gui abgespeichert werden?
Vielleicht ist das auch gleichzeitig ein Workaround meines ersten Problems?
3) Ich würde gerne diese Werte in eine Datei speichern, die der Benutzer selbst im "Speichern-Dialog" auswählen kann. Sodass der Benutzer mehrere "Presets" zur Verfügung hat.
Oder Besser und komfortabler: Super wäre, wenn man seine Werte-Sets in einer List-Box oder in einem Pop-Up Menü bequem speichern und Laden kann. Das wäre prima.
Weiß jemand, wie man das macht?
Für jede Hilfe bin ich seeeehr dankbar!
Beste Grüße
pooz
|
|
|
pooz |
Forum-Anfänger
|
|
Beiträge: 49
|
|
|
|
Anmeldedatum: 04.05.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 24.06.2009, 13:35
Titel:
|
|
*push*
|
|
|
steve |
Ehrenmitglied
|
|
Beiträge: 2.029
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: Wien
|
|
|
|
Version: R2024a
|
|
|
|
|
|
Verfasst am: 24.06.2009, 14:36
Titel:
|
|
Moin,
zu 1.: Versuch mal
zu 2.: Wenn 1. klappt, dann einfach erweitern mit '-or','style','radiobutton','-or','style','listbox'
zu 3.: Kannst du schon eine Datei im Speichern-Dialog auswählen? Die Listbox braucht nur:
In der Callback dieser Listbox steht dann der load-befehl drin.
Ist zwar etwas kurz und knapp, aber ich hoffe es hilft schonmal weiter.
Gruß
Alex
PS: Aus dem Kopf geschrieben, ohne es zu testen - Fehler nicht ausgeschlossen
_________________
>> I told me to.
____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|