|
|
Variable in gui übernehmen |
|
herbert34 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 18.04.2008, 09:47
Titel: Variable in gui übernehmen
|
|
hallo alle zusammen,
habe ein kleine Problem ich will einen Wert von meinem Workspace in meinem gui ausgeben. Hier für habe ich ein Edit-Text genommen. doch leider Fehlt mir jetzt der code um meine Variable X vom Workspace in meinem gui angezeigt zubekommen. hoffe mir kann jemand helfen.
danke schon mal
|
|
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 20.04.2008, 12:04
Titel:
|
|
Hi herbert34,
Wundere Dich nicht, wieso Deine einfache Frage noch nicht beantwortet wurde. Es wurde schon fast in allen Variationen gestellt, so dass Du es schon längst gefunden hättest, falls Du die Suche-Option im Forum benutzt hättest.
Wenn Du in Deinem Edit-Feld den Namen der Variable eingegeben hast, kannst Du diese Variable (die im Workspace sich befindet) wie folgt auslesen:
Schaue auch die Funktion ASSIGNIN. Damit kann man einer variable im Workspace etwas aus einer Funktion zuweisen.
MfG
|
|
|
herbert34 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.04.2008, 10:02
Titel:
|
|
hi,
danke erstmal für die antwort, doch leider komm ich damit nicht weiter so richtig. habe den Code jetzt einfach in mein editreingeschrieben und es geht garnix.
Leider bin ich auch noch nicht so fit mit matlab gui. hatte sonst immer meine oberflächen in Excel gemacht doch leider geht das jetzt hier nicht.
gruß
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.04.2008, 12:37
Titel:
|
|
mit den 2 Zeilen von mir hast Du die Variable vom Workspace ins GUI übernommen. Wie diese dargestellt werden muss kann ich Dir nicht sagen... ich weiss nicht was darin gespeichert ist - ist also schon Deine Aufgabe. Wenn es ein String oder ein Wert ist, dann kannst Du den zB in einem Text-Objekt anzeigen lassen.
Schreibe wenigstens was genau muss angezeigt werden.
MfG
|
|
|
herbert34 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.04.2008, 14:23
Titel: Antwort
|
|
also ich habe es jetzt so gelöst
Doch mein Problem hier bei ist immer leider noch das ich jedes mal in die Edit_box klicken muß und Enterdrücken muß um den neuen Wert zubekommen. Da sich meine Werte aber schnell ändern und ich auch mehrere
Edit_boxen, weiß ich nicht wie ich es hinbekomme das mir der wert direkt ohne die Box anzuklicken gezeigt wird.
bin aber schon ein kleines stück weiter danke. hoffe aber es gibt eine lösung für mein Problem.
Gruß
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.04.2008, 14:56
Titel:
|
|
Es gibt leider keine Überwachung der Variablen unter MATLAB. D.h. falls sich die Variable ändert kriegst Du es nicht mit (ok - mit einem Timer kann man die Variablen im Workspace schon überwachen, aber das ist etwas dirty...). Wenn Du jedoch weisst wo die Variable aktualisiert wird, kannst Du von dort aus die GUI aktualsieren.
MfG
|
|
|
herbert34 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 07:46
Titel:
|
|
Also meine Variable wird in Excel Aktualisiert und dann an den Workspace gegeben soll ich dann dort jedes mal in meinem Makro wieder die gui aufrufen
von Excel aus? gibt es denn beispiele mit dem timer? habe von der möglichkeit schon gehört doch kann ich mir da nix richtig darunter vorstellen.
gruß
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 22.04.2008, 09:27
Titel:
|
|
Zitat: |
soll ich dann dort jedes mal in meinem Makro wieder die gui aufrufen von Excel aus? |
Im Prinzip ja. Aber es sollte nicht die komplette Aufgerufen werden, sondern lediglich der Inhalt des UI-Objcts aktualisiert werden. Wenn Du den Tag von dem Object kennst, kannst Du ja mit FINDOBJ/FINDALL den Handle bestimmen und den Inhalt aktualisieren.
Einen Beispiel mit dem Timer habe ich nicht parat da - finde nirgends auf meinem Rechner, obwohl ich weiss, dass ich sowas schon mal gemacht habe. Soweit ich mich erinnern kann gibt es sowas auch im FileExchange. Schau dort nach. Aber wie gesagt - dieser Weg den Objekt zu aktualisieren ist very very schlecht... Ich würde es nicht machen!
MfG
|
|
|
herbert34 |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 10:09
Titel:
|
|
|
|
|
Also ich glaub das ist jetzt sehr über meinem wissen. wie ich dieses angehen soll. Also
Also meine Übergabe von Excel zu Matlab sieht so aus:
Zitat: |
Vektor = Array(0, 0) 'Erzeugt ein Array für Simulink da Simulink ein Array brauch
Vektor(1) = Messwert_BE1 'Schreibt an die Zweite Stelle den Messwert_BE1
MLPutVar "Vektor", Vektor 'Gibt das Array an Matlab geht nicht mit MlPitMatrix da das Array nur in VB ist
MLEvalString ("simin=Vektor'") 'Generiert aus dem Spalten Array durch ' ein Zeilen Array
MLEvalString ("sim 'Verstaerkt'") 'Startet Simulink !!!Die .mdl muß am richtigen Platz stehen!!!
MLGetMatrix "simout", "Generatormodel!DeltaU" 'Schreibt den Wert aus Simulink in die Zelle DeltaU_V
MatlabRequest 'interne Variable von Link Spreadsheet !!!wird benötigt!!!
MLEvalString ("Messwert_BE1=simin(1,2)") 'nimmt nur den wichtigen Teil von Simin |
Und steht dann als Messwert_BE1 im Workspace. Kann sie aber auch dirket von excel in das Gui geben. Das ist ja glaube ich was du meinst?
So jetzt heißt mein Gui EinAus und er Code von der Edit_Box ist:
Jetzt fehlt mir halt echt das Verständnis für die Syntax.
Würde jetzt in meinem Excel halt mit
MLEvalString(hier müsste dann ja der name vom Gui folgen, Name von der Edit_box, und der befehl es in die Edit_Box zuschreiben )
??????????????????????
Oder wenn ich den wert im Workspace habe einen Befehl von Excel aus das er den Wert in die Edit_box schreibt.
MLEvalString(Variable vom Workspace zum Edit_BOX)
Ich hoffe mal du hats noich Lust mir zuhelfen, denn sonst sehe ich da jetzt echt kein Land mehr....
|
|
|
|
|
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 - 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.
|
|