WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Programmierung

 

Tiko18
Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 01.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2008, 14:12     Titel: Programmierung
  Antworten mit Zitat      
Hallo Leute,

ich versuche in meinem Gui Radiobuttons und ein Panel zu erstellen. Wird allerdings nicht gezeichnet. Kann mir vielleicht jemand weiterhelfen?Ich bekomm keine Fehlermeldung??
Mein code ist:
Code:

Programm.panel=uibuttongroup('title','Testsequenz','visible','on','position',[400 150 200 90]);

Programm.r1 = uicontrol('Style','Radio','String','0 kV : 0,5 kV : 5 kV','pos',[420 200 100 30],'parent',Programm.panel,'HandleVisibility','on');

Programm.r2 = uicontrol('Style','Radio','String','0 kV : -0,5 kV : -5 kV','pos',[420 250 100 30],'parent',Programm.panel,'HandleVisibility','on');

Programm.r3 = uicontrol('Style','Radio','String','0 kV : 2 kV : 18,5 kV','pos',[420 300 100 30],'parent',Programm.panel,'HandleVisibility','on');

Programm.r4 = uicontrol('Style','Radio','String','0 kV : -2 kV : -18,5 kV','pos',[420 350 100 30],'parent',Programm.panel,'HandleVisibility','on');
 


Gruß Tiko

Edit: Bitte die Code-Formatierung benutzen.
mfg nschlange
Private Nachricht senden Benutzer-Profile anzeigen


tompie
Forum-Guru

Forum-Guru


Beiträge: 260
Anmeldedatum: 19.09.07
Wohnort: München
Version: immer alles
     Beitrag Verfasst am: 07.07.2008, 15:10     Titel:
  Antworten mit Zitat      
Hallo,

ich denke, Du musst die Positionen der Radiobuttons in normalisierten Koordinaten angeben, also zwischen 0 und 1, da sich die Buttons in diesem Fall auf das UIPanel beziehen.

Gruß tompie
Private Nachricht senden Benutzer-Profile anzeigen
 
Tiko18
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 01.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.07.2008, 17:11     Titel:
  Antworten mit Zitat      
tompie hat Folgendes geschrieben:
Hallo,

ich denke, Du musst die Positionen der Radiobuttons in normalisierten Koordinaten angeben, also zwischen 0 und 1, da sich die Buttons in diesem Fall auf das UIPanel beziehen.

Gruß tompie


Danke für die Antwort,

aber es funktioniert immernoch nicht, ich versteh einfach nicht was ich falsch mache. Bin schon am resignieren Smile

Gruß Tiko18
Private Nachricht senden Benutzer-Profile anzeigen
 
havannalady
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 08.01.08
Wohnort: KA
Version: ---
     Beitrag Verfasst am: 07.07.2008, 17:48     Titel:
  Antworten mit Zitat      
Vllt. musst du die buttons auch 'visible','on' schalten?
probiers mal
_________________

VG!
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 07.07.2008, 18:18     Titel:
  Antworten mit Zitat      
Hi,

Tompie hat doch gesagt, was Sache ist. Standardmäßig sind die units auf normalized, d.h. Du gibts etwas zwischen 0 und 1 an.
Du willst aber offenbar die Einheit Pixel, dann musst Du das auch sagen.
Des weiteren ist die Positionsangabe der uicontrols relativ zum parent.

Code:
function main
clear all;
clc;

Programm.panel=uibuttongroup('title','Testsequenz','visible','on','units','pixels','position',[300 150 200 250]);
Programm.r1 = uicontrol('Style','Radio','String','0 kV : 0,5 kV : 5 kV','pos',[20 50 100 30],'parent',Programm.panel,'HandleVisibility','on');
Programm.r2 = uicontrol('Style','Radio','String','0 kV : -0,5 kV : -5 kV','pos',[20 100 100 30],'parent',Programm.panel,'HandleVisibility','on');
Programm.r3 = uicontrol('Style','Radio','String','0 kV : 2 kV : 18,5 kV','pos',[20 150 100 30],'parent',Programm.panel,'HandleVisibility','on');
Programm.r4 = uicontrol('Style','Radio','String','0 kV : -2 kV : -18,5 kV','pos',[20 200 100 30],'parent',Programm.panel,'HandleVisibility','on');

_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Tiko18
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 01.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.07.2008, 10:23     Titel:
  Antworten mit Zitat      
Danke für eure Ayntworten. Es hat geklappt.
Laughing Laughing
Private Nachricht senden Benutzer-Profile anzeigen
 
Tiko18
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 11
Anmeldedatum: 01.07.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.07.2008, 11:22     Titel:
  Antworten mit Zitat      
Hallo zusmmen,

ich hab das Programm dank der freundlichen Hilfe von "nschlange" zum Laufen bekommen.
Ich häng nun mein main Programm hier an.
Das Programm besteht aus einer Listbox, Radiobuttons und mehreren pushbuttons.

Code:

function Zeichnen
clear all;
clc;
Programm.fig = figure('Name','Zeichnungsprogramm','position',[230 300 800 500]);

Programm.liste=uicontrol('style','listbox','position',[53 80 300 350]);

Programm.buttonOne=uicontrol('style','pushbutton','position',[380 180 180 40],'FontWeight','bold','FontSize',10,'string','Laden');
Programm.buttonTwo=uicontrol('style','pushbutton','position',[580 180 180 40],'FontWeight','bold','FontSize',10,'string','Zeichnen');
Programm.buttonThree=uicontrol('style','pushbutton','position',[380 100 180 40],'FontWeight','bold','FontSize',10,'string','Hilfe');
Programm.buttonFour=uicontrol('style','pushbutton','position',[580 100 180 40],'FontWeight','bold','FontSize',10,'string','Abbrechen');

Programm.panel=uibuttongroup('title','Testsequenzen','FontWeight','bold','FontSize',10,'visible','on','units','pixels','visible','on','position',[390 240 360 190]);
Programm.r1 = uicontrol('Style','Radio','String','0 kV : 0,5 kV : 5 kV','pos',[8 135 300 20],'parent',Programm.panel,'HandleVisibility','on','FontWeight','bold','FontSize',10);
Programm.r2 = uicontrol('Style','Radio','String','0 kV : -0,5 kV : -5 kV','pos',[8 100 300 20],'parent',Programm.panel,'HandleVisibility','on','FontWeight','bold','FontSize',10);
Programm.r3 = uicontrol('Style','Radio','String','0 kV : 2 kV : 18,5 kV','pos',[8 65 300 20],'parent',Programm.panel,'HandleVisibility','on','FontWeight','bold','FontSize',10);
Programm.r4 = uicontrol('Style','Radio','String','0 kV : -2 kV : -18,5 kV','pos',[8 30 300 20],'parent',Programm.panel,'HandleVisibility','on','FontWeight','bold','FontSize',10);


set(Programm.buttonOne,'callback',{@holeliste,Programm});
set(Programm.buttonTwo,'callback',{@zeichnung,Programm});
set(Programm.buttonThree,'callback',{@help,Programm});
set(Programm.buttonFour,'callback',{@schliesen,Programm});
set(Programm.panel,'SelectionChangeFcn',{@holeliste,Programm});

% Button zum verzeichnis öffnen, um Daten zu Laden. Es werden nur .txt dateien aus dem Verzeichnis geladen.

function Programm = holeliste(hObject, eventdata, Programm)
verz=uigetdir;
cd(verz);
dateien=dir('*.txt')
set(Programm.liste,'string',[{dateien.name}],'min',0 ,'max', 40);


% Button zum Zeichnen. Es müssen vier Elemente aus der Listbox ausgewählt
% werden ansonsten Fehlermeldung.

function Programm= zeichnung(hObject, eventdata, Programm)

switch get(get(Programm.panel,'SelectedObject'),'String')
    case '0 kV : 0,5 kV : 5 kV'
        volts=0:0.5:5;
        ticks=volts;
    case '0 kV : -0,5 kV : -5 kV'
        volts=0:-0.5:-5;
        ticks=fliplr(volts);
    case '0 kV : 2 kV : 18,5 kV'
        volts=0:2:18.5;
        ticks=volts;
    case '0 kV : -2 kV : -18,5 kV'
        volts=0:-2:-18.5;
        ticks=fliplr(volts);
end
   
dateien = get(Programm.liste,'String');
var_index = get(Programm.liste,'Value');
if length(var_index) == 4
   
    for k=1:4
        daten(k)=dateien{var_index(k);
    end
    figure;
    plot(daten);
    xlim([min(volts) max(volts)]);
    set(gca,'XTick',ticks);

else
   errordlg('Bitte 4 *txt Elemente auswählen.','Fehler');
end

% Button zum schließen des Programms


function Programm = schliesen(hObject, eventdata, Programm)

close;

% Hilfebutton

function Programm = help (hObject, eventdata, Programm)

helpdlg('Zünächst auf "Laden" klicken und Verzeichnis auswählen. Danach die gewünschten 4  *.txt Dateien und die benutzte Testsequenz anklicken. Zum plotten "Zeichnen" anklicken. Zum Beenden des Programms "Abbrechen" anklicken.','Hilfe');

 


Viel Spaß

Gruß Tiko
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.