转:https://www.ttin.top/2018/03/29/TT0012/
制作一个小软件的方法很多,比如说c++的MFC,本站在之前的第一个MFC文章里就提到过;matlab的GUIDE,在之前的如何用Matlab设计GUI? 文章也提到过。而现在,本文将使用matlab GUI来制作一个可安装到电脑的小软件。
提示:软件安装包请到本站下载中心下载(解压密码到“关于”联系作者获取)
首先,描述一下软件需求
作者想制作一个可以为自己记录计划的软件,该软件应当包含以下功能:
1.增加新计划,并保存计划;
2.删除已有计划,更改当前计划;
3.查看历史计划;
4.显示当月日历,浏览其他日历(比如说查看学校校历等);
其次,matlab GUI设计软件界面
在本站前面内容已经提到过如何设计matlab GUI,在此就不做详细描述了。
如下图所示,使用matlab GUI设计如下界面。
其中,红色区域为主要功能区,其余部分可不设计。
然后,matlab 程序编写
-
访问日历网页(比如说查看学校校历等)
txt = get(handles.edit1,'string'); eval(['web',' ',txt])
-
初始化当月计划
set(handles.uitable1,'data',[]);
-
添加计划
content1 = get(handles.edit4,'string'); content2 = get(handles.edit5,'string'); content3 = get(handles.edit6,'string'); uitabledata = get(handles.uitable1,'data'); handles.uitabledata = uitabledata; guidata(hObject,handles); olddata = uitabledata; newrow = {content1 content2 content3}; newdata = [olddata;newrow]; set(handles.uitable1,'data',newdata);
-
删除计划
uitabledata = get(handles.uitable1,'data'); handles.uitabledata = uitabledata; guidata(hObject,handles); olddata = uitabledata; [a,~] = size(olddata); olddata(a,:) = []; newdata = olddata; set(handles.uitable1,'data',newdata);
-
保存计划
uitabledata = get(handles.uitable1,'data'); %写 txt = get(handles.edit3,'string'); filename = [txt(1:4),'_',txt(8:9),'.xls']; delete(filename) mytxt = xlswrite(filename,uitabledata);
-
查看以往计划
[pname,adrname] = uigetfile('*.xls'); %读 filename = [adrname pname]; [~,~,rawdata] = xlsread(filename); set(handles.uitable1,'data',rawdata);
-
显示当月日历
dayunm = calendar(year(now),month(now)); myday = num2cell(dayunm); myW1 = {'日' '一' '二' '三' '四' '五' '六'}; myW2 = {'一';'二';'三';'四';'五';'六'}; [a,b] = find(dayunm==day(now)); myday{a,b} = ['<html><FONT color=#ff0000">' num2str(myday{a,b}) '</Font></html>']; [aa,bb] = find(dayunm==0); for i=1:size(aa) myday{aa(i),bb(i)} = ['<html><FONT color=#000000">' num2str(myday{aa(i),bb(i)}) '</Font></html>']; end set(handles.uitable2,'data',myday); set(handles.uitable3,'data',myW1); set(handles.uitable4,'data',myW2);
-
显示当月计划
filename = [num2str(year(now)),'_',datestr(date,'mm'),'.xls']; if exist(filename,'file') == 0 uitabledata = {'无计划' '无计划' '无计划'}; mytxt = xlswrite(filename,uitabledata); %读 [~,~,rawdata] = xlsread(filename); set(handles.uitable1,'data',rawdata); else %读 [~,~,rawdata] = xlsread(filename); set(handles.uitable1,'data',rawdata); end
最后,软件打包
在matlab命令行窗口输入deploytool,添加自己的文件后打包即可。(方法在百度上一搜索一大把!我就懒得说了!)
更多推荐
如何用matlab制作一个小软件
发布评论