資源簡介
多用于MATLAB設計GUI時候需要密碼輸入驗證界面的功能,是學習GUI設計的一個好例子

代碼片段和文件信息
function?varargout?=?a2(varargin)
gui_Singleton?=?1;
gui_State?=?struct(‘gui_Name‘???????mfilename?...
???????????????????‘gui_Singleton‘??gui_Singleton?...
???????????????????‘gui_OpeningFcn‘?@a2_OpeningFcn?...
???????????????????‘gui_OutputFcn‘??@a2_OutputFcn?...
???????????????????‘gui_LayoutFcn‘??[]??...
???????????????????‘gui_Callback‘???[]);
if?nargin?&&?ischar(varargin{1})
????gui_State.gui_Callback?=?str2func(varargin{1});
end
if?nargout
????[varargout{1:nargout}]?=?gui_mainfcn(gui_State?varargin{:});
else
????gui_mainfcn(gui_State?varargin{:});
end
function?a2_OpeningFcn(hobject?eventdata?handles?varargin)
handles.output?=?hobject;
javaframe?=?get(hobject?‘Javaframe‘);
javaframe.setFigureIcon(javax.swing.ImageIcon(‘icon.jpg‘));
[num?txt?raw]?=?xlsread(‘user_information.xls‘);
if?~iscellstr(raw)
????for?i?=?1?:?numel(raw)
????????n(i)?=?isnumeric(raw{i});
????end
????raw{n}?=?num2str(raw{n});
end
handles.user?=?raw(2?:?end?1)‘;
handles.code?=?raw(2?:?end?2)‘;
guidata(hobject?handles);
function?varargout?=?a2_OutputFcn(hobject?eventdata?handles)?
varargout{1}?=?handles.output;
function?login_user_Callback(hobject?eventdata?handles)
function?login_user_CreateFcn(hobject?eventdata?handles)
if?ispc
????set(hobject?‘BackgroundColor‘?‘white‘);
else
????set(hobject?‘BackgroundColor‘?get(0?‘defaultUicontrolBackgroundColor‘));
end
function?log_Callback(hobject?eventdata?handles)
user?=?get(handles.login_user?‘string‘);
code?=get(gcf‘userdata‘);
users?=?handles.user;
codes?=?handles.code;
n?=?find(strcmp(users?{user}));
if?length(n)?&&?isequal(codes{n}?code)
????h?=?msgbox(‘登陸成功!‘);
????uiwait(h);
????delete(gcf);
????figure(1)
????set(1?‘name‘?‘系統界面‘);
else
????errordlg(‘用戶名或密碼錯誤!‘?‘錯誤提示‘);
????set(handles.login_code?‘string‘?‘‘)
????set(hobject?‘userdata‘?‘‘)
end
function?log_KeyPressFcn(hobject?eventdata?handles)
if?double(get(gcf?‘Currentcharacter‘))?==?13
????user?=?get(handles.login_user‘string‘);
????code?=?get(gcf?‘userdata‘);
????users?=?handles.user;
????codes?=?handles.code;
????n?=?find(strcmp(users{user}));
????if?length(n)?&&?isequal(codes{n}?code)
????????h?=?msgbox(‘登陸成功!‘);
????????uiwait(h);
????????delete(gcf);
????????figure(1)
????????set(1?‘name‘?‘系統界面‘);
????else
????????errordlg(‘用戶名或密碼錯誤!‘?‘錯誤提示‘);
????????set(handles.login_code?‘string‘?‘‘)
????????set(hobject?‘userdata‘?‘‘)
????end
end
function?figure1_KeyPressFcn(hobject?eventdata?handles)
c?=?get(hobject‘Currentcharacter‘);
if?isstrprop(c‘graphic‘)
????set(hobject?‘userdata‘?[get(hobject‘userdata‘)?c])
????set(handles.login_code?‘string‘?[get(handles.login_code‘string‘)?‘*‘])
else
????log_KeyPressFcn(hobject?eventdata?handles);
????val?=?double(c);
????if?~isempty(val)?&&?val?==?8
????????str?=?get(hobject?‘userdata‘);
????????if?~isempty(str)
????????????str(end)?=?[];
????????end
????????set(h
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????4097??2010-10-18?19:13??log_in_password\a2.fig
?????文件???????3363??2010-10-18?19:23??log_in_password\a2.m
?????文件???????2358??2010-08-21?06:44??log_in_password\icon.jpg
?????文件??????13824??2010-08-21?06:44??log_in_password\user_information.xls
?????目錄??????????0??2012-05-14?13:28??log_in_password
-----------?---------??----------?-----??----
????????????????23642????????????????????5
- 上一篇:matlab gui UDP通信
- 下一篇:Kn近鄰估計法
評論
共有 條評論