www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Matlab" - grafische benutzer oberfläche
grafische benutzer oberfläche < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

grafische benutzer oberfläche: grafische oberfläche
Status: (Frage) beantwortet Status 
Datum: 21:13 So 26.04.2009
Autor: Fatima

Hallo,


Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt

Zu meiner Aufgabe muss ich 2 verschiedene Autos auswerten, und deshalb brauche ich für mein Skript am Anfang ein Benuteroberfläche  mit einer IF Bedingung Z.B( Daten von Toyota ?  Daten von BMW?) erscheint. so daß wenn ich Toyota wähle nur der Skript mit der Daten  von Toyota Ausgeführt wird
und in diesem IF sind die unterschiedlichen Daten
hat jemand eine Idee. Ihr könnt das oder?


Gruß Fatima

        
Bezug
grafische benutzer oberfläche: Antwort
Status: (Antwort) fertig Status 
Datum: 22:16 So 26.04.2009
Autor: Frasier

Hallo,

vielleicht musst du gar nicht ein komplettes GUI schreiben;
es könnte ja einer der fertigen Dialoge reichen, z.B. listdlg
1: str={'BMW';'Toyota'};
2: [s,v] = listdlg('PromptString','Marke auswählen',...
3:                 'SelectionMode','single',...
4:                 'ListString',str);
5: if v == 1 % es wurde OK gedückt
6:     switch s
7:         case 1 % BMW
8:             disp('töff töff');
9:         case 2 % Toyota
10:             disp('brumm brumm');
11:     end
12: else % es wurde Cancel gedrückt
13:     disp('Abbruch');
14: end


lg
F.

Bezug
                
Bezug
grafische benutzer oberfläche: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 23:12 So 26.04.2009
Autor: Fatima

Ja das kann mir helfen, aber was ist mit den anderen Parameter in der Listdlg??
kann man da was noch einstellen oder was, ich bin neu in Matlab deswegen
danke im Vorraus

Bezug
                        
Bezug
grafische benutzer oberfläche: Antwort
Status: (Antwort) fertig Status 
Datum: 23:18 So 26.04.2009
Autor: Frasier

Ja sicher, da kann man was einstellen; aber was?
Du solltest deine Frage genauer formulieren.

lg
F.

Bezug
                                
Bezug
grafische benutzer oberfläche: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 22:00 Mo 27.04.2009
Autor: Fatima

dass, ich zum Beispiel ein < load > einer m.File

Bezug
                                        
Bezug
grafische benutzer oberfläche: Antwort
Status: (Antwort) fertig Status 
Datum: 08:12 Di 28.04.2009
Autor: Frasier

Hallo,

das hat aber doch nichts mit den Parametern von listdlg zu tun.
Du kannst aber natürlich in den case-Zweigen unterschiedliche Sachen machen, z.B. auch Dateien laden
1: str={'BMW';'Toyota'};
2: [s,v] = listdlg('PromptString','Marke auswählen',...
3:                 'SelectionMode','single',...
4:                 'ListString',str);
5: if v == 1 % es wurde OK gedückt
6:     switch s
7:         case 1 % BMW
8:             disp('töff töff');
9:             load bmw;
10:         case 2 % Toyota
11:             disp('brumm brumm');
12:             load toyota;
13:     end
14: else % es wurde Cancel gedrückt
15:     disp('Abbruch');
16: end


lg
F.

Bezug
                                                
Bezug
grafische benutzer oberfläche: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 18:55 Di 28.04.2009
Autor: Fatima

ich habe das erst heute probiert, und habe ich gemerkt, dass die Sache mit der IF bei mir nicht Oky ist. Denn mein Skript ist sehr groß. und wenn ich auf Abruck klicke, das Programm wird nicht richtig gebrochen sondern, läüft weiter!! erst wenn ich die Else ganz am Ende mache, dann funktioniert. Gibt es dazu eine Möglichkeit, dass ich die Else oben Schreibe und wenn ich es abreche, gibt es richtig Stop.
kann man die Größe des Fensters, oder die Schrifftart an der Listdlg ändern?

Bezug
                                                        
Bezug
grafische benutzer oberfläche: Antwort
Status: (Antwort) fertig Status 
Datum: 19:42 Di 28.04.2009
Autor: Frasier

Hallo,

> ich habe das erst heute probiert, und habe ich gemerkt,
> dass die Sache mit der IF bei mir nicht Oky ist. Denn mein
> Skript ist sehr groß. und wenn ich auf Abruck klicke, das
> Programm wird nicht richtig gebrochen sondern, läüft
> weiter!! erst wenn ich die Else ganz am Ende mache, dann
> funktioniert. Gibt es dazu eine Möglichkeit, dass ich die
> Else oben Schreibe und wenn ich es abreche, gibt es richtig
> Stop.

Dann hast du falsch programmiert. Aber ohne das Programm zu kennen kann man da nicht wirklich was zu sagen.

>  kann man die Größe des Fensters, oder die Schrifftart an
> der Listdlg ändern?

Die Fenstergröße kann man mit dem Parameter 'ListSize' einstellen, die Texte für die Beschriftung kann man auch ändern. Man könnte zwar auch eine andere Schriftart realisieren, dann würde ich aber doch eher empfehlen, selbst eine GUI zu erstellen.

lg
F.

Bezug
                                                                
Bezug
grafische benutzer oberfläche: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:18 Di 28.04.2009
Autor: Fatima

kann es sein , ich bin neu in Matlab, aber es ist so mit dem Programm. und ich habe es gennuso wie du das geschrieben hast.

>> str={'BMW';'Toyota'};
[s,v] = listdlg('PromptString','Marke auswählen',...
     'SelectionMode','single',...
'ListString',str);

if v % es wurde OK gedückt
    switch s
case 1 % BMW
     i = 6.5
     m = 1000;
     zustand = 4;
disp('Daten von BMW');
case 2 % Toyota
     i = 3.2;
     m = 900;
     zustand = 3;
disp('Daten von Toyota');
  end
  else % es wurde Cancel gedrückt
disp('Abbruch');

end
  
  % Hier kommt das Programm, gillt für beide
  %<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  %<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  %<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  %<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  %<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  %>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Bezug
                                                                        
Bezug
grafische benutzer oberfläche: Antwort
Status: (Antwort) fertig Status 
Datum: 20:29 Di 28.04.2009
Autor: Frasier

Hallo,

du musst das nur an die richtige Stelle in der if-Anweisung schreiben
1: str={'BMW';'Toyota'};
2: [s,v] = listdlg('PromptString','Marke auswählen',...
3:     'SelectionMode','single',...
4:     'ListString',str);
5:
6: if v % es wurde OK gedückt
7:     switch s
8:         case 1 % BMW
9:             i = 6.5;
10:             m = 1000;
11:             zustand = 4;
12:         case 2 % Toyota
13:             i = 3.2;
14:             m = 900;
15:             zustand = 3;
16:     end
17:     
18:     % Hier kommt das Programm, gillt für beide
19:     disp(['Daten von ' str{s}]);
20:     m
21:     i
22:     
23: else % es wurde Cancel gedrückt
24:     disp('Abbruch');
25: end


lg
F.

Bezug
                                                                                
Bezug
grafische benutzer oberfläche: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 20:45 Di 28.04.2009
Autor: Fatima

das habe ich doch gemeint, dass ich die else erst am Ende vom Programm schreiben soll. aber mein Programm ist wirklich sehr groß, dass ich  es in einer if Schleife rein Stecke. Es ist eigentlich für mich wurscht aber ich muss das einfacher schreiben für die anderen, die schlimmer als ich in Matlab sind. das Programm enthält soviel IF; While und FOR.
aber nur zur Info wie kann man die Schriftart ändern bzw Fenstergröße.


Bezug
                                                                                        
Bezug
grafische benutzer oberfläche: Antwort
Status: (Antwort) fertig Status 
Datum: 21:01 Di 28.04.2009
Autor: Frasier

Das hatte ich oben nicht verstanden.
Wenn es funktioniert, gut.
Du könntest den Teil auch in eine eigene Datei schreiben, und die dann aufrufen. Dann wird es übersichtlicher.
Nochmal ein Beispiel, hier ist das Fenster auch kleiner
1: str={'BMW';'Toyota'};
2: [s,v] = listdlg('PromptString','Marke auswählen',...
3:     'SelectionMode','single',...
4:     'ListString',str,...
5:     'ListSize',[100,100]);
6:
7: if v % es wurde OK gedückt
8:     switch s
9:         case 1 % BMW
10:             i = 6.5;
11:             m = 1000;
12:             zustand = 4;
13:         case 2 % Toyota
14:             i = 3.2;
15:             m = 900;
16:             zustand = 3;
17:     end
18:
19:     % Hier kommt das Programm, gillt für beide
20:     berechne; % Eine andere Datei aufrufen
21:
22: else % es wurde Cancel gedrückt
23:     disp('Abbruch');
24: end

und in eine andere Datei schreibst du dann
1: disp(['Daten von ' str{s}]);
2: m
3: i
oder was auch immer. Diese Datei muss dann berechne.m heißen.

Um die Schriftart zu ändern ist eine Änderung an der Datei listdlg.m nötig. Das würde ich an deiner Stelle nicht machen. Bastel dir dann lieber ein eigenes GUI, wenn unbedingt die Schriftart geändert werden muss.

lg
F.

Bezug
                                                                                                
Bezug
grafische benutzer oberfläche: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 21:26 Di 28.04.2009
Autor: Fatima

ich muss leider alles in einem Skript Schreiben. Aber das ist auch eine gute Idee von dir. Ich danke dir es war ein guter Dialog

bis dann

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]