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