这算是我目前为止参与的最大的项目了。模块名和项目结构命名都是规范的,可以知道各个模块大概用途。
简单介绍项目的组成和使用的库:
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文件中不同的查询语句,即可搜索并显示。
1
2
3
4
5
6
7
8
9
10
11
12
13
|