Übergabe von GUI für Weitervearbeitung in M-File klappt ni
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 13.11.2012, 14:03
Titel: Übergabe von GUI für Weitervearbeitung in M-File klappt ni
Hallo Leute,
ich bin in der Programmierung von GUI's noch in den Babyschuhen, habt also bitte ein bisschen Nachsicht. Ich hab jezt schon sehr lang im Forum gestöbert, aber das gefundene, hilft mir leider immer noch nicht so richtig weiter =( vlt. setz ich es auch nur falsch um. k.A.
Zu meinem Problem:
Ich versuche ein Programm zu schreiben, bei dem der User ein Ordner auswählt, in dem Files enthalten sind. (das klappt wunderbar) Ist nur eine Messung enthalten, gibt der das auch super aus und läuft auch ohne Probleme weiter. Sind mehrere enthalten, soll der User ein File auswählen dürfen und die Zahl eingeben. (das Problem hab ich jetzt anders gelöst) Arbeite hier jetzt mit uigetfile. Ist auch vlt. hier an der Stelle besser so.
Steh aber jetzt bei einer weiteren Eingabe vor dem erneuten Probelm.
Also man soll auswählen können, welche Frequenz man nehmen möchte, die eingeben, oder am Besten über einen Slider festlegen. Nu weiß ich aber nich, wie ich das mit dem Slider in meinem m-file hinbekomm. Hab angefangen, dass so zu schreiben
Code:
%
figure('Units','points','Position',[100100200200], ...
'NumberTitle','off','Name','Wahl der Freqeunz', ...
'MenuBar','none');
uicontrol('Style','text','Position',[20100200100],'FontSize',12,...
'String',['Bitte geben Sie die Frequenz in Hz ein, mit der Sie die Daten auswerten wollen. Sie muss zwischen 10000 und 50000 Hz liegen!']);
uicontrol('Style','edit','Position',[20805050],'String','1') uicontrol('Style', 'pushbutton', 'String', 'OK','Position', [150204020],...
'Callback', 'close(gcbf)');
uiwait;
jetzt weiß ich aber nich, wie ich an die eingegebene Frequenz rankomm.
Ich weiß, dass man GUIs auch mit guide erstellen kann, aber dann weiß ich wieder nicht, wie ich dass in meinem m-file einbinde.
Kann mir jemand helfen? Ist vlt. was ganz einfaches, aber ich komm einfach nich drauf =(
Auch mit GUIDE ginge das ganze: du baust den Aufruf der GUI in deinen Code ein und setzt ein uiwait, damit auf deine Eingaben gewartet wird. Wenn diese abgeschlossen sind, setzt du uiresume und kannst weitermachen.
Grüße,
Harald
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 14.11.2012, 08:31
Titel:
Hallo Harald,
danke für deine Antwort. Also wenn ichd as richtig verstehe, muss der Code dann für den Slider so aussehen
Ist das soweit richtig? Ich kann aber leider keine Frequenz einstellen, also bei dem Slider. Ich bekomm jetzt aber ne Fehlermeldung =(
Code:
sHandle =
2.0033
Warning: slider control can not have a Value outside of Min/Max
range
Control will not be rendered until all of its parameter values are
valid
> In uiwait at 72
In test at 115
Was genau bedeutet diese Fehlermeldung und wie bekomm ich das hin?
Ich hätt z.B. auch gern, dass nur alle 100 Frequenzen gehen, aber wenn ich als SliderStep 100 eingebe bekomm ich auch ne Fehlermeldung. Und warum hat sHandle so nen komischen Wert?
Ich brauch sicherlich auch einen Vektor, in die die ganzen möglichen Sliderwerte enthalten sind, oder? Heißt der dann Value?
Ich danke im voraus für eure Antworten.
Danke
es schadet sicher nichts, auch mal in die Dokumentation zu schauen um zu sehen, ob die Fragen dort beantwortet werden.
Viel deutlicher kann die Warnung doch nicht sein?
Min ist der Wert, den der Slider annimmt, wenn er ganz links steht, und Max der Wert, den der Slider annimmt, wenn er ganz rechts steht. Value ist der Wert, den der Slider momentan (hier also als Initialisierung) annimmt. Dieser Wert muss aber dann naheliegenderweise zwischen Min und Max liegen, und das ist bei dir nicht der Fall.
Grüße,
Harald
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 14.11.2012, 08:59
Titel:
Ok, zwei Sachen schon selber rausgefunden.
bei dem Startwert vom Slider war eine Null zu viel (peinlich, peinlich)
und die Grenzen sind in Prozent. Wenn ich mich nicht total verrechnet hab, müsste ich dann ja 0.0025 wählen (damit es 100er Schritte sind).
Aber warum sind das zwei Grenzen?
Und wie kann ich mir die eingestellte Frequenz anzeigen lassen. Muss ja dafür noch nen text fenster dranhängen. Braucht das dann nen andern Namen?
Hab noch ma das verbesserte dran gehangen
Was sind zwei Grenzen?
Wenn Du den SliderStep meinst, ist dies in der Dokumentation erklärt: Der eine Wert betrifft das Klicken auf die kleinen Dreiecke, der andere das Klicken in den Berecih des Sliders.
Gruß, Jan
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.