实习日志day8---任务一总结
2017-08-31 14:19
239 查看
这算是我目前为止参与的最大的项目了。模块名和项目结构命名都是规范的,可以知道各个模块大概用途。
简单介绍项目的组成和使用的库:
MPDEC :现成的库,解决数据库中浮点型数问题,
ESMASTMAIN:解决方案主入口,
master:动态链接库,编写。
使用MVC模式,m--数据处理逻辑 v--跟用户交互的视图 c---流程控制,数理逻辑控制
comm:基础类库,html头文件,引用 静态库。
baslib:基础库,http请求,封装的库,跟数据库打交道的。
界面布局 --view,模块。
soci:c++跟数据库打交道的现成的库 mysql
htmllayout:界面引擎,渲染html,css
任务一是写库存界面并完成相应功能,功能及主要实现介绍:
1.新建界面:
在view下建html文件,在controller中添加类文件,在main.html中注册窗体,添加节点。
.h文件中:
DESCRIBE_WINDOW_EX(CDemoWindow_yxm, //创建窗体
L"practice/task1/demo_yxm.html", //需要的html的位置
900,
600,
_T("叶雪梅_分仓库"),
WS_VISIBLE|WS_CLIPCHILDREN|WS_CHILD,
0,
TRUE,
TRUE,
TRUE);
.cpp文件中:
REGISTER_WINDOW(CDemoWindow_yxm, "DemoWindow_yxm"); //注册窗体,类名,窗体名(在main中target指定)。
2.从数据库中获取数据并显示在列表:
定义onload函数:使用dom元素的xcall方法。在cpp中实现的函数,都需要到h文件中声明。sql文件需要包含在SqlDict文件中。
void Task1Window_yxm::OnLoad(LPVOID lpPrams) //页面加载
{
dom::element elGoodsList=this->find_first("#goods_list"); //从当前窗体中找到元素
elGoodsList.xcall("page_bind","task1_goods_list",c_WareHouseID); //数据绑定,执行sql4
return;
}
3.搜索:
获得文本框的值,判断搜索方式,使用sql文件中不同的查询语句,即可搜索并显示。
4.行点击事件:
//listview行点击事件
BOOL Task1Window_yxm::OnClickGoodsItem(HELEMENT he,BEHAVIOR_EVENT_PARAMS & params) //句柄,消息参数
{
dom::element elRow=BEHAVIOR_TARGET(params); //获得当前选中的行
//std::string str=elRow.get_html().c_str();
int nGoodsID=elRow.get_attribute_int("data-GoodsID",0); //取出选中行的goodID,0为缺省值
dom::element elSpecList=this->find_first("#spec_list");
elSpecList.xcall("bind","task1_spec_list_byid",nGoodsID);//不分页,将查询到的数据绑定到界面,nGoodsID用于替代sql语句缺省值
return true;
}
5.新建和修改也是类似的,主要就是soci库的使用,和方法的组合调用。开始时会觉得陌生,熟悉后就会好很多。
做起来很慢的原因有:mysql语句很不熟,soci使用问题重重,vs调试问题,在调试上花了很多时间,需要更熟悉项目,写代码前先把思路理清楚,也更需要细心。
数据库这块正好利用这三个任务好好练习。
6.右击菜单,盘点:
这个几乎都是使用现成项目的代码,功能还需要完善,主要是sql语句的问题。
因为直接copy的,所以细节自己并不清楚,思维停滞,导致做的没意思。做项目结果固然重要,但那个过程才是自己的。应该自己敲的代码,应该做的过程都是需要自己去做的,这样思维才会活跃,才能更好的掌握项目,正真的有所收获。所以,自己去思考设计,自己去写每一行代码,知道每一行代码存在的理由,你亲自想出来,亲自敲出来的代码,是你赋予的生命。
这个任务做了5天,先是看视频,然后看别人的源码作参考,才慢慢上手,数据库真的需要好好补补。做的不快,但自己写的那个过程很有干劲和感觉,最后一个功能,为了偷懒和进度,是最没有感觉的。自己思考和做的过程对自己是最有价值的。
2016.7.22
北京 掌上先机
简单介绍项目的组成和使用的库:
MPDEC :现成的库,解决数据库中浮点型数问题,
ESMASTMAIN:解决方案主入口,
master:动态链接库,编写。
使用MVC模式,m--数据处理逻辑 v--跟用户交互的视图 c---流程控制,数理逻辑控制
comm:基础类库,html头文件,引用 静态库。
baslib:基础库,http请求,封装的库,跟数据库打交道的。
界面布局 --view,模块。
soci:c++跟数据库打交道的现成的库 mysql
htmllayout:界面引擎,渲染html,css
任务一是写库存界面并完成相应功能,功能及主要实现介绍:
1.新建界面:
在view下建html文件,在controller中添加类文件,在main.html中注册窗体,添加节点。
.h文件中:
DESCRIBE_WINDOW_EX(CDemoWindow_yxm, //创建窗体
L"practice/task1/demo_yxm.html", //需要的html的位置
900,
600,
_T("叶雪梅_分仓库"),
WS_VISIBLE|WS_CLIPCHILDREN|WS_CHILD,
0,
TRUE,
TRUE,
TRUE);
.cpp文件中:
REGISTER_WINDOW(CDemoWindow_yxm, "DemoWindow_yxm"); //注册窗体,类名,窗体名(在main中target指定)。
2.从数据库中获取数据并显示在列表:
定义onload函数:使用dom元素的xcall方法。在cpp中实现的函数,都需要到h文件中声明。sql文件需要包含在SqlDict文件中。
void Task1Window_yxm::OnLoad(LPVOID lpPrams) //页面加载
{
dom::element elGoodsList=this->find_first("#goods_list"); //从当前窗体中找到元素
elGoodsList.xcall("page_bind","task1_goods_list",c_WareHouseID); //数据绑定,执行sql4
return;
}
3.搜索:
获得文本框的值,判断搜索方式,使用sql文件中不同的查询语句,即可搜索并显示。
4.行点击事件:
//listview行点击事件
BOOL Task1Window_yxm::OnClickGoodsItem(HELEMENT he,BEHAVIOR_EVENT_PARAMS & params) //句柄,消息参数
{
dom::element elRow=BEHAVIOR_TARGET(params); //获得当前选中的行
//std::string str=elRow.get_html().c_str();
int nGoodsID=elRow.get_attribute_int("data-GoodsID",0); //取出选中行的goodID,0为缺省值
dom::element elSpecList=this->find_first("#spec_list");
elSpecList.xcall("bind","task1_spec_list_byid",nGoodsID);//不分页,将查询到的数据绑定到界面,nGoodsID用于替代sql语句缺省值
return true;
}
5.新建和修改也是类似的,主要就是soci库的使用,和方法的组合调用。开始时会觉得陌生,熟悉后就会好很多。
做起来很慢的原因有:mysql语句很不熟,soci使用问题重重,vs调试问题,在调试上花了很多时间,需要更熟悉项目,写代码前先把思路理清楚,也更需要细心。
数据库这块正好利用这三个任务好好练习。
6.右击菜单,盘点:
这个几乎都是使用现成项目的代码,功能还需要完善,主要是sql语句的问题。
因为直接copy的,所以细节自己并不清楚,思维停滞,导致做的没意思。做项目结果固然重要,但那个过程才是自己的。应该自己敲的代码,应该做的过程都是需要自己去做的,这样思维才会活跃,才能更好的掌握项目,正真的有所收获。所以,自己去思考设计,自己去写每一行代码,知道每一行代码存在的理由,你亲自想出来,亲自敲出来的代码,是你赋予的生命。
这个任务做了5天,先是看视频,然后看别人的源码作参考,才慢慢上手,数据库真的需要好好补补。做的不快,但自己写的那个过程很有干劲和感觉,最后一个功能,为了偷懒和进度,是最没有感觉的。自己思考和做的过程对自己是最有价值的。
2016.7.22
北京 掌上先机
相关文章推荐
- 去哪网实习总结:开发定时任务(JavaWeb)
- Linux 计划任务 Crontab 笔记与总结(4)crontab 的日志
- Nginx 笔记与总结(5)访问日志管理:计划任务 + 日志切割
- 7月29 日实习日志及总结
- 实习day16--任务二总结
- 阿里云大数据利器Maxcompute学习之--数据同步任务常见日志报错总结
- 7月22日实习日志及总结
- 去哪网实习总结:开发定时任务(JavaWeb)
- 初写定时压缩日志任务总结
- linux 任务管理总结
- Moile手机开发日志总结若干问题
- spring+quartz实现定时任务遇到问题总结(bean无法注入)
- 完美世界实习面试总结
- 工作总结---梳理下项目中 的 定时任务 quartz
- Rails 调试和记录日志方法总结
- 暑期实习笔试总结
- Crontab 命令/新建任务/更新任务/日志
- MySQL慢查询日志总结
- 线程池提交任务的场景总结
- 实习日志(7):Flex的repeater组件