amintronik
Forum-Newbie
Beiträge: 5
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
Verfasst am : 05.05.2010, 10:20
Titel : GUI Problem
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
denny
Supporter
Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
Verfasst am : 05.05.2010, 10:29
Titel :
Hallo,
leider unverständlich, bitte etwas ausführlicher beschreiben.
amintronik
Themenstarter
Forum-Newbie
Beiträge: 5
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
Verfasst am : 05.05.2010, 15:20
Titel :
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
denny
Supporter
Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
Verfasst am : 05.05.2010, 16:43
Titel :
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.
amintronik
Themenstarter
Forum-Newbie
Beiträge: 5
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
Verfasst am : 06.05.2010, 11:14
Titel :
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
% -----------------
Beschreibung:
Download
Dateiname:
ret_nt_gui_data.m
Dateigröße:
48.86 KB
Heruntergeladen:
461 mal
denny
Supporter
Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
Verfasst am : 08.05.2010, 06:43
Titel :
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
amintronik
Themenstarter
Forum-Newbie
Beiträge: 5
Anmeldedatum: 04.05.10
Wohnort: ---
Version: ---
Verfasst am : 09.05.2010, 00:16
Titel :
ich werde mal probieren
danke schön trotzdem
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.