|
|
Pfad in Textfeld anzeigen bzw. editieren und Werte übergebe |
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.02.2012, 15:10
Titel: Pfad in Textfeld anzeigen bzw. editieren und Werte übergebe
|
|
|
|
|
Hallo,
ich bin ein absoluter Neuling in Sachen Matlab bzw. Guis und arbeite mich deshalb nur langsam vor. So bräuchte ich jetzt mal dringend eure hilfe:
Ich möchte über eine Gui eine .csv Datei laden, deren Pfad in einem Feld anzeigen lassen (wäre gut, sofern er hier auch noch editiert werden könnte).
Außerdem habe ich noch 3 Felder in den ich Zahlenwerte übergeben möchte.
Zum Abschluss soll es dann noch einen Button geben, der das dahinterliegende Skript startet.
Bisher war das ganze über hintereinander geschaltete inputdlg gelöst, aber über eine gui sollte das ja schöner gehen.
Die Datei lade ich über folgenden Befehl:
[filename,pathname]=uigetfile('C:\*.csv','Please choose your data');
if name==0 return, end
path=fullfile(pathname, filename);
Aber wie bekomme ich es nun hin, dass die Datei (ihr Pfad) in dem Textfeld angezeigt wird. Denn eigentlich muss ich diesem doch nur das "path" übergeben?
Auch bei den Übergeben der Zahlenwerte bin ich ratlos. Zuvor war das mit:
wl_min = str2double()
gelöst.
Ich bin über jede Hilfe sehr dankbar!
Johannes
|
|
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 28.02.2012, 15:42
Titel:
|
|
|
|
spiele-joe |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.02.2012, 16:15
Titel:
|
|
Hallo Winkow,
danke für deine Rückmeldung. Genauso habe ich das auch schon einmal probiert, jedoch ohne Erfolg. Wo soll denn diese Anweisung stehen? In der Callback oder CreateFcn. Davon abgesehen funktioniert es in dieser Form in beiden Fällen nicht.
Johannes
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 28.02.2012, 16:26
Titel:
|
|
habs grade mal ausprobiert und bei mir funktionierts
|
|
|
spiele-joe |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.02.2012, 16:30
Titel:
|
|
Tausend Dank!! Bei mir stand der Befehl unter function edit1 (und nicht unter pushbutton1), dann kann das natürlich auch nicht funktionieren. ^^
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 28.02.2012, 16:36
Titel:
|
|
hmm du kannst das auch dahin packen.
musst dann aber einmal reinclicken und wieder raus damit es ausgeführt wird.. das is nich so toll
|
|
|
spiele-joe |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.02.2012, 08:31
Titel:
|
|
Danke für die Hilfe! Soweit so gut, aber wie ist nun das weitere vorgehen? Mein Pfad wird ausgewählt und in das Textfeld geschrieben.
Jetzt habe ich drei weitere Textfelder in welchen Zahlen stehen sollen, die die Barrieren der weiteren Auswertung angeben.
So lese ich beispielsweise die Messanzahl mit folgendem Code aus:
Ist das in dieser Form korrekt? Wie schaffe ich es nun, dass bei Drücken eines Knopfes diese und alle anderen Variablen (die 3 Zahlenfelder + path) geschrieben werden, sodass eine weitere .m-Datei im Folder diese Werte erhält und gestartet wird?
In der entsprechenden Datei würde ich mit
darauf zugreifen und dann weiterverarbeiten.
Vielen Dank!
Johannes
|
|
|
spiele-joe |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.03.2012, 10:10
Titel:
|
|
Keiner einen Tipp für mich, wie ich da am besten vorgehe?
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 01.03.2012, 10:26
Titel:
|
|
versteh ich nicht. einfach als funktions parameter übergeben.
|
|
|
spiele-joe |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.03.2012, 10:46
Titel:
|
|
Und wie bewerkstellige ich das?
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 01.03.2012, 10:56
Titel:
|
|
hmm ich würde es so machen: angenommen dein calback pushbutten ruft dann eine funktionen blabla auf
blabla muss dann natürlich in diesem fall eine funktion sein die 2 zahlen als eingangsparamter braucht.
funktioniert das bei dir nicht? welche fehlermeldungen treten denn auf
|
|
|
spiele-joe |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.03.2012, 12:48
Titel:
|
|
|
|
|
Danke für die Antwort Winkow, aber irgendwie scheint der Sachverhalt doch komplexer zu sein.
Also ich habe in meinem Folder mehrere .m-Dateien. In diesen werden diverse Berechnungen durchgeführt und entsprechende Variablen ausgegeben. In meiner berechnung.m findet dann die eigentliche Berechnung in einer function statt. So "wurden" 4 Parameter (Pfad der zu bearbeitenden Datei und 3 Zahlenwerte) über inputdlg eingelesen und anschließend mit übergebenen Variablen aus den anderen .m verwurstet. Zum Schluss werden noch 3 Graphen gezeichnet.
Nun wollte ich das ganze über eine Gui lösen, da es einfach "schöner" aussieht man es auch gut erweitern kann.
Soweit ich das verstehe, gibt es nun zwei Möglichkeiten:
1. Aus meiner .m-Datei (welche die Gui enthält) die entsprechenden Variablen an die berechnung.m übergeben (durch knopfdruck) und im gleichen Zuge die berechnung.m starten
2. die merechnung.m in meine gui integrieren
Ich denke, dass du mir letzteres Vorschlagen wolltest.
Aber hierbei ist mir nicht klar, wie ich die Variablen korrekt übergebe.
In der berechnung.m lautete die Funktion bisher wie folgt:
function[x1,d,n,zr2,kl1]=berechnung(time);
Wie muss ich das nun ändern, wenn ich die gesamte funktion in den callback meines Buttons integrieren möchte?
Vielen vielen Dank für deine Hilfe und Geduld!
Johannes
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 01.03.2012, 13:10
Titel:
|
|
ich hab dir ersteres vorgeschlagen. und der weg ist der selbe wie du auch in jedem anderen mfile eine funktion aufrufst und paramter übergiebst.
wenn deine anderen mfiles natürlich keine funktionen sind sondern nur skripte dann klappt das nicht.
edit: kleines beispiel angefügt
Beschreibung: |
|
Download |
Dateiname: |
New Folder.zip |
Dateigröße: |
4.5 KB |
Heruntergeladen: |
366 mal |
|
|
|
spiele-joe |
Forum-Anfänger
|
|
Beiträge: 32
|
|
|
|
Anmeldedatum: 28.02.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 01.03.2012, 14:08
Titel:
|
|
Vielen Dank für das Beispiel und deine Mühe. Ich versteh das auch alles, bekomme es dennoch nicht auf meinen Fall angewendet (ich möchte in meiner Gui nichts ausgeben, sondern nur etwas an die function berechnung übergeben und alles Weitere soll dort geschehen). Wahrscheinlich muss ich mich einfach doch noch fleißig weiter einlesen.
|
|
|
|
|
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.
|
|