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

GUI Problem

 

amintronik
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.05.2010, 10:20     Titel: GUI Problem
  Antworten mit Zitat      
Hallo
im Labor in der Hochschule habe ich eine Aufgabe und zwar beim installieren von MATLAB 2009 hat ein Praktikumversuch einpaar problem und zwar beim ausuchen in listbox (ziffern) wird nicht blau sondern weiss wenn ich die nächste listbox klicke und so werden die Daten nicht gespeichert wenn ich programm laufen lasse.[/code]

danke
Private Nachricht senden Benutzer-Profile anzeigen


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 05.05.2010, 10:29     Titel:
  Antworten mit Zitat      
Hallo,

leider unverständlich, bitte etwas ausführlicher beschreiben.
Private Nachricht senden Benutzer-Profile anzeigen
 
amintronik
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 05.05.2010, 15:20     Titel:
  Antworten mit Zitat      
ich habe folgendes Problem: Ich habe ca. 20 Listboxen mit Strings gefüllt. Nachdem ich auf einen Button klicke, fülle ich die Listboxen mit neuen Strings. Das ganze klappt wunderbar. Nur die Markierung wird auf einmal weiß Wie kann ich die Einträge in den Listboxen blau hinterlegen!?
Versteh die Logik dahinter nicht ganz Blau sind die Listboxeinträge eigentlich NUR nach dem Start der Oberfläche. Später wird z.B. der Eintrag in der zweiten Listbox (nach Anwahl eines Eintrags in der dritten Listbox) nur noch weiss hinterlegt:-(
Vielen Dank schon mal
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 05.05.2010, 16:43     Titel:
  Antworten mit Zitat      
Also sollte eigentlich nicht passieren,
vielleicht bei dir liegt dort Value außerhalb des Bereichts?

Value darf nur so groß sein, wie du Einträge in der Listbox hast.
Private Nachricht senden Benutzer-Profile anzeigen
 
amintronik
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.05.2010, 11:14     Titel:
  Antworten mit Zitat      
ich verstehe nicht .....das problem ,habe ich 3 M-file(ret_nt.m ret_nt_dui_data.m ret_nt_start_up.m)

Code:

function ret_nt(Action)
% RET_NT Praktikum Regelungstechnik fuer Windows NT
%
% Udo Jähn 2001-06-01


global mitxh ausfall;
global xph tvh xp tn tv tabtast;

global Prozessauswahl Prozess Menue;

global h_fig1    h_pbtnA   h_pbtnB   h_pbtnC   h_pbtnD;
global h_pupmnA  h_pupmnB;
global h_txt1    h_txt2    h_txt3    h_txt4    h_txt5    h_txt6;
global h_lstbx1  h_lstbx2  h_lstbx3  h_lstbx4  h_lstbx5  h_lstbx6;
global h_ax1     h_ax2;

global h_fig2    h_ausf;
global h_xph     h_Tvh     h_xp      h_Tn      h_Tv      h_tabt;

global tout  yout;


if nargin == 0 & isempty(findobj('Tag','RET_NT_Fenster'))
    Action = 'initialisiere_GUI'

elseif nargin == 0 & findobj('Tag','RET_NT_Fenster')
    Action = 'nichts'

end % if


switch Action

case 'initialisiere_GUI'
    xph = 1;  tvh = 0;
    xp  = 1;  tn  = 1;  tv  = 0;    
    tabtast = 0.01;
    ausfall = 0;
    load ret_nt_gui_data;
    gui_erstellen;              % Funktion
    set(h_pupmnA,Prozessauswahl);
    ret_nt('Prozess_Auswahl');

case 'Prozess_Auswahl'
    wert = get(h_pupmnA,'Value');
    set(h_pupmnB,Prozess(wert).Menueauswahl);
    ret_nt('Menue_Auswahl');
   
case 'Menue_Auswahl'
    set(h_pbtnB, 'Enable','off');
    ausw_menu = aktueller_str(h_pupmnB);
    for i=1 : 25
        if strcmp(ausw_menu , Menue(i).Name )
            set(h_pbtnD, Menue(i).Schaltfl);
            set(h_txt1,  Menue(i).Text1);
            set(h_lstbx1,Menue(i).Lstbx1);
            set(h_txt2,  Menue(i).Text2);
            set(h_lstbx2,Menue(i).Lstbx2);
            set(h_txt3,  Menue(i).Text3);
            set(h_lstbx3,Menue(i).Lstbx3);
            set(h_txt4,  Menue(i).Text4);
            set(h_lstbx4,Menue(i).Lstbx4);
            set(h_txt5,  Menue(i).Text5);
            set(h_lstbx5,Menue(i).Lstbx5);
            set(h_txt6,  Menue(i).Text6);
            set(h_lstbx6,Menue(i).Lstbx6);
            break % for
        end % if
    end % for
   
    handles = findobj(gcf,'Type','line');
    if ~isempty(handles)
        delete(handles);
    end %if
   
    set(h_ax1,Menue(i).Achsen1);
    if strcmp('on',get(h_ax1,'Visible'))
        axes(h_ax1);
        title (Menue(i).Ax1.Titel);
        xlabel(Menue(i).Ax1.Bez_X);
        ylabel(Menue(i).Ax1.Bez_Y);
    end %if
   
    set(h_ax1,'XTickMode','auto',...
              'YTickMode','auto');
   
    set(h_ax2,Menue(i).Achsen2);
    if strcmp('on',get(h_ax2,'Visible'))
        axes(h_ax2);
        title (Menue(i).Ax2.Titel);
        xlabel(Menue(i).Ax2.Bez_X);
        ylabel(Menue(i).Ax2.Bez_Y);
    end %if
   
    set(h_ax2,'XTickMode','auto',...
              'YTickMode','auto');

    set(h_pupmnA,'Enable','on');
    set(h_pupmnB,'Enable','on');
    set(h_pbtnC, 'Enable','on');
    ausw_proz = aktueller_str(h_pupmnA);
    if strcmp(ausw_proz,'Digitale, vermaschte Regelung')    &  ...
       strcmp(ausw_menu,'Störverhalten mit Hilfs-Regelung') |  ...
       strcmp(ausw_menu,'Störverhalten ohne Hilfs-Regelung')
        set(h_pbtnA, 'Enable','off');
    else
        set(h_pbtnA, 'Enable','on');
    end %if
     
    tout=[]; yout=[];
   
case 'einstellen_mitxh'
    gui_RE_mitxh;               % Funktion
    mitxh = 1;
    set(h_xph ,'UserData',xph             );
    set(h_xph ,'String'  ,num2str(xph)    );
    set(h_Tvh ,'UserData',tvh             );
    set(h_Tvh ,'String'  ,num2str(tvh)    );
    set(h_xp  ,'UserData',xp              );
    set(h_xp  ,'String'  ,num2str(xp)     );
    set(h_Tn  ,'UserData',tn              );
    set(h_Tn  ,'String'  ,num2str(tn)     );
    set(h_Tv  ,'UserData',tv              );
    set(h_Tv  ,'String'  ,num2str(tv)     );
    set(h_tabt,'UserData',tabtast         );
    set(h_tabt,'String'  ,num2str(tabtast));
    set(h_ausf,'Value'   ,ausfall         );
    set(h_fig2,'Visible','on'             );
   
case 'einstellen_ohnexh'
    gui_RE_ohnexh;              % Funktion
    mitxh = 0;
    set(h_xp  ,'UserData',xp              );
    set(h_xp  ,'String'  ,num2str(xp)     );
    set(h_Tn  ,'UserData',tn              );
    set(h_Tn  ,'String'  ,num2str(tn)     );
    set(h_Tv  ,'UserData',tv              );
    set(h_Tv  ,'String'  ,num2str(tv)     );
    set(h_tabt,'UserData',tabtast         );
    set(h_tabt,'String'  ,num2str(tabtast));
    set(h_fig2,'Visible','on'             );

case 'eingeben_RE'
    Eingabe_RE;                 % Funktion
   
case 'Regler_OK_mitxh'
    xph     = get(h_xph ,'UserData');
    tvh     = get(h_Tvh ,'UserData');
    xp      = get(h_xp  ,'UserData');
    tn      = get(h_Tn  ,'UserData');
    tv      = get(h_Tv  ,'UserData');
    tabtast = get(h_tabt,'UserData');
    ausfall = get(h_ausf,'Value'   );
    set(h_pbtnA, 'Enable','on');
    set(gcbf,'CloseRequestFcn','closereq');
    close(gcbf);
    figure(h_fig1);

case 'Regler_OK_ohnexh'
    xp      = get(h_xp  ,'UserData');
    tn      = get(h_Tn  ,'UserData');
    tv      = get(h_Tv  ,'UserData');
    tabtast = get(h_tabt,'UserData');
    set(h_pbtnA, 'Enable','on');
    set(gcbf,'CloseRequestFcn','closereq');
    close(gcbf);
    figure(h_fig1);

case 'Ergebnis V5.2 laden'
    Ergebnis_V52;               % Funktion

case 'schliessen'
   
    beenden=questdlg('Möchten Sie das Programm beenden?' ,...
                     'Programm schließen'                ,...
                     'Ja','Nein','Abbrechen'             ,...
                     'Ja'                                );
   
    if strcmp(beenden,'Ja')
        set(gcbf,'CloseRequestFcn','closereq');
        close(gcbf);
        clc;
        exit;
       
    end % if    

case 'bearbeiten'
    bearbeite_Diagramme;        % Funktion

case 'starten'
    starte_Auswahl;             % Funktion

case 'nichts'
    figure(findobj('Tag','RET_NT_Fenster'))


end;   % switch


% ----------------------------------------------------------------
%                          Subfunktion
% ----------------------------------------------------------------
function wertstr = aktueller_str(handle)
% liesst denn aktullen String der Popupmenues und Listboxes

auswaehlbar = get(handle,'String');
ausgewaehlt = get(handle,'Value');

wertstr = deblank(auswaehlbar(ausgewaehlt,:));


% -----------------------------------------------------------------
%                          Funktionen Ende
% -----------------
 


ret_nt_gui_data.m
 Beschreibung:

Download
 Dateiname:  ret_nt_gui_data.m
 Dateigröße:  48.86 KB
 Heruntergeladen:  461 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 08.05.2010, 06:43     Titel:
  Antworten mit Zitat      
Hallo,
Leider kann ich mit dem Code nicht wirklich was anfangen,

Die einzige Problemstelle, wo ich sehe ist das hier,
die Schleife läuft bei dir von 1 bis 25
Menue(i) hat aber Größe von 1 bis 15

Code:

case 'Menue_Auswahl'
set(h_pbtnB, 'Enable','off');
ausw_menu = aktueller_str(h_pupmnB);
for i=1 : 25
if strcmp(ausw_menu , Menue(i).Name )
set(h_pbtnD, Menue(i).Schaltfl);
set(h_txt1, Menue(i).Text1);
set(h_lstbx1,Menue(i).Lstbx1);
set(h_txt2, Menue(i).Text2);
set(h_lstbx2,Menue(i).Lstbx2);
set(h_txt3, Menue(i).Text3);
set(h_lstbx3,Menue(i).Lstbx3);
set(h_txt4, Menue(i).Text4);
set(h_lstbx4,Menue(i).Lstbx4);
set(h_txt5, Menue(i).Text5);
set(h_lstbx5,Menue(i).Lstbx5);
set(h_txt6, Menue(i).Text6);
set(h_lstbx6,Menue(i).Lstbx6);
break %for
end %if
end %for
 
Private Nachricht senden Benutzer-Profile anzeigen
 
amintronik
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2010, 00:16     Titel:
  Antworten mit Zitat      
ich werde mal probieren
danke schön trotzdem
Very Happy
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 - 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.