Mestrec 操作
- 格式:pdf
- 大小:1.20 MB
- 文档页数:20
memset函数及其用法,C语言memset函数详解在前面不止一次说过,定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。
在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”。
每种类型的变量都有各自的初始化方法,memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。
它是直接操作内存空间,mem即“内存”(memory)的意思。
该函数的原型为:# include <string.h>void *memset(void *s, int c, unsigned long n);函数的功能是:将指针变量 s 所指向的前 n 字节的内存单元用一个“整数” c 替换,注意 c 是 int 型。
s 是 void* 型的指针变量,所以它可以为任何类型的数据进行初始化。
memset() 的作用是在一段内存块中填充某个给定的值。
因为它只能填充一个值,所以该函数的初始化为原始初始化,无法将变量初始化为程序中需要的数据。
用memset初始化完后,后面程序中再向该内存空间中存放需要的数据。
memset 一般使用“0”初始化内存单元,而且通常是给数组或结构体进行初始化。
一般的变量如char、int、float、double 等类型的变量直接初始化即可,没有必要用 memset。
如果用 memset 的话反而显得麻烦。
当然,数组也可以直接进行初始化,但memset 是对较大的数组或结构体进行清零初始化的最快方法,因为它是直接对内存进行操作的。
这时有人会问:“字符串数组不是最好用'\0'进行初始化吗?那么可以用 memset 给字符串数组进行初始化吗?也就是说参数 c 可以赋值为'\0'吗?”可以的。
虽然参数c 要求是一个整数,但是整型和字符型是互通的。
但是赋值为 '\0' 和 0 是等价的,因为字符 '\0' 在内存中就是 0。
目录1.编写目的 .................................................................................................................................2.操作内容演示.........................................................................................................................2.1 操作总流程图 (2)2.2 操作步骤演示..............................................................................................................2.2.1 系统登入...........................................................................................................2.2.2 系统基础信息管理...........................................................................................2.2.3 生产管理...........................................................................................................2.2.4 计件薪资管理...................................................................................................1.编写目的制造履行系统( MES)已经到了实行阶段,当前系统的开发以及测试已告一段落。
1。
1生产时间 (6)1。
1.1 班制 (6)1。
1.2 资源日历 (8)1.2 生产组织 (10)1.2.1 组织层级 (10)1。
2.2 组织结构 (11)1.2.3 工段 (12)1。
2。
4 工位 (12)1.3 工艺路线 (15)1.3。
1 工序 (15)1。
3.2 工艺路线管理 (16)1。
3.3 产品工艺路线 (17)1.3。
4 产线工艺路线 (18)1。
3。
5 工艺路线监控与维护 (18)1.4 员工 (18)1.4.1 员工 (19)1。
4.2 生产班组 (20)1.5 物料 (20)1.5.1 物料 (21)1.5。
2 物料类别 (21)1。
5.3 物料属性 (21)1.5.4 工序BOM关键物料 (22)1。
5。
5 产品族 (22)1.5.6 产品分档规则 (22)2。
计划与排程 (23)2.1 派工工作台 (23)2.1.1 工单管理 (23)2。
2 生产排程 (23)2.2.1 排程规则 (23)2.2。
2 生产排程 (23)3。
生产准备 (23)3.1 条码基础设置 (23)3.1。
1 条码段 (24)3.1。
2 条码规则 (24)3。
2 生产条码管理 (24)3.2。
1 生产条码打印 (24)3.2.2 生产条码报废 (24)3.2.3 条码打印日志 (25)3。
2.4 生产条码领用................................................................... 2错误!未定义书签。
3。
2.5 物料条码注册................................................................... 2错误!未定义书签。
3。
3 载具管理 (25)3。
3.1 载具注册表 (25)4.1 载具配送 (26)4。
1.1 物料批次导入 (26)4。
1。
2 载具关联物料批次 (26)4.1.3 载具解绑 (26)4.1。
MES最终用户操作手册文档控制文档更新记录文档审核记录文档去向记录目录1前言 (4)2基础数据维护 (5)2.1人员基本信息 (5)2.1.1查询人员信息 (5)2.1.2增加人员信息 (6)2.1.3删除人员信息 (7)2.2班组基本信息 (8)2.2.1查询班组信息 (8)2.2.2增加班组信息 (9)2.2.3删除班组信息 (11)2.3工作内容信息 (12)2.3.1查询工时代码 (12)2.3.2增加工时代码 (12)2.3.3删除工时代码 (13)3生产人员考勤 (15)3.1考勤维护 (15)3.2考勤审核 (17)3.3考核查询 (18)4生产报工管理 (18)4.1生产发料 (18)4.2发料冲销 (20)5生产质量数据维护 (22)5.1部件 (22)5.2主成型 (32)5.3后处理 (33)6生产报工管理 (33)6.1完工信息采集 (33)6.2完工入库冲销 (34)7生产订单管理 (35)7.1工单显示及状态管理 (35)8权限管理 (38)8.1用户添加 (38)9工艺路线更改。
(43)1前言本此文档是在MES、项目中用于培训的系统操作手册,旨在帮助用户学习和掌握系统操作流程和方法。
此文档必须结合系统内操作和外部业务流程,以及用户岗位职责,详述每个业务操作环节。
外部业务说明是为了帮助用户了解整个业务过程及加深对系统功能的了解和掌握。
此文档会进行补充校正,请参阅者注意文档版本更新信息。
2基础数据维护2.1人员基本信息2.1.1查询人员信息进入MES操作界面之后,鼠标点击选择,再单击,进入以下界面。
输入人员编号,点击。
在行项目会显示查询的内容。
2.1.2增加人员信息在界面点击,进入以下界面。
输入人员信息,填写完成之后鼠标单击。
界面出现,表明已经完成人员信息的增加。
2.1.3删除人员信息输入人员编号,查询人员信息,鼠标单击,选中需要删除的人员。
鼠标选择点击。
此时系统会提示,并出现“确认删除”的小窗口,点击。
1。
1生产时间 (6)1.1。
1 班制 (6)1。
1.2 资源日历 (8)1。
2 生产组织 (10)1。
2。
1 组织层级 (10)1。
2。
2 组织结构 (11)1。
2。
3 工段 (12)1。
2.4 工位 (12)1。
3 工艺路线 (15)1。
3。
1 工序 (15)1。
3.2 工艺路线管理 (16)1。
3。
3 产品工艺路线 (17)1。
3.4 产线工艺路线 (18)1。
3。
5 工艺路线监控与维护 (18)1。
4 员工 (18)1。
4.1 员工 (19)1。
4。
2 生产班组 (20)1。
5 物料 (20)1。
5.1 物料 (21)1。
5。
2 物料类别 (21)1。
5.3 物料属性 (21)1。
5。
4 工序BOM关键物料 (22)1。
5.5 产品族 (22)1。
5。
6 产品分档规则 (22)2.计划与排程 (23)2。
1 派工工作台 (23)2。
1.1 工单管理 (23)2。
2 生产排程 (23)2。
2.1 排程规则 (23)2。
2.2 生产排程 (23)3.生产准备 (23)3。
1 条码基础设置 (23)3.1.1 条码段 (24)3。
1。
2 条码规则 (24)3。
2 生产条码管理 (24)3.2。
1 生产条码打印 (24)3.2。
2 生产条码报废 (24)3.2。
3 条码打印日志 (25)3。
2。
4 生产条码领用................................................................ 2错误!未定义书签。
3。
2.5 物料条码注册................................................................... 2错误!未定义书签。
3。
3 载具管理 (25)3。
3。
1 载具注册表 (25)4.1 载具配送 (26)4。
1。
1 物料批次导入 (26)4。
1.2 载具关联物料批次 (26)4.1。
CGridCtrl 类简介一、前言在数据库的操作系统中,经常要遇到对数据库的内容进行显示、修改、添加和删除等功能,而一般情况下数据库的容量都是很大的,为此我们通常选用以电子表格的形式来显示数据库的内容,并在其上完成对数据库的修改、添加和删除,使对数据库的操作既直观又方便;如用VB5.0下DB Grid Control来实现以上功能是较为方便的,但由于VB的通信速度和数据的处理速度较慢,特别对于要处理和显示的数据量较大时,其速度较慢表现得尤为明显,为此我们选用在VC++5.0下用CGridCtrl[1]类来实现。
二、CGridCtrl类的建立CGridCtrl[1]类派生于CWnd类,该类主要包含以下八个方面的函数,其函数形式如下:class CGridCtrl : public CWnd{// 1. CGridCtrl类的构造函数CGridCtrl(int nRows = 0, int nCols = 0, int nFixedRows = 0, int nFixedCols = 0);BOOL Create(const RECT& rect, CWnd* parent, UINT nID, DWORD dwStyle = WS_CHILD | WS_BORDER | WS_TABSTOP | WS_VISIBLE);// 2. 表格行、列数方面的函数BOOL SetRowCount(int nRows);/设置表的行数BOOL SetColumnCount(int nCols);//设置表的列数BOOL SetFixedRowCount(int nFixedRows = 1);//设置表的固定行数BOOL SetFixedColumnCount(int nFixedCols = 1);//设置表的固定列数int GetFixedRowCount() const;// 取表的固定行数int GetFixedColumnCount() const;//取表的固定列数……// 3. 表格尺寸大小方面的函数BOOL SetRowHeight(int row, int height);//设置表格单元的高度BOOL SetColumnWidth(int col, int height);//设置表格单元的宽度int GetRowHeight(int nRow) const;//获取表格单元的高度int GetColumnWidth(int nCol) const;//获取表格单元的宽度void AutoSize();//对表格单元的高度与宽度进行自动设置……// 4. 表格显示与特征方面的函数void SetImageList(CImageList* pList);//设置列表图标void SetEditable(BOOL bEditable = TRUE);//设置表格的编辑状态BOOL SetColumnType(int nCol, int nType);//设置表格的列状态……// 5. 颜色方面的函数void SetTextColor(COLORREF clr);//设置输入表格的文本颜色void SetTextBkColor(COLORREF clr);//设置可供输入文本的表格颜色void SetFixedTextColor(COLORREF clr);//设置输入固定表格的文本颜色void SetFixedBkColor(COLORREF clr);//设置固定表格颜色……// 6. 表格信息函数BOOL SetItem(const GV_ITEM* pItem);// 向表格中输入信息BOOL SetItemText(int nRow, int nCol, LPCTSTR str);//向某一单元表格中输入文本BOOL SetItemImage(int nRow, int nCol, int iImage);//在某一单元表格中设置图标……// 7. 编辑方面的函数virtual void OnEditCell(int nRow, int nCol, UINT nChar) //开始对表格进行编辑virtual void OnEndEditCell(int nRow, int nCol, CString str) //结束对表格编辑……// 8. 表格打印函数void Print();//打印表格……}CGridCtrl[1]类的构造函数形式如下:CGridCtrl::CGridCtrl(int nRows, int nCols, int nFixedRows, int nFixedCols){m_crWindowText = ::GetSysColor(COLOR_WINDOWTEXT);m_crWindowColour = ::GetSysColor(COLOR_WINDOW);m_cr3DFace = ::GetSysColor(COLOR_3DFACE);m_nRows = 0; //初始电子表格的行数m_nCols = 0; //初始电子表格的列数m_nFixedRows = 0; //初始化固定表格的行数m_nFixedCols = 0; //初始化固定表格的列数m_bEditable = TRUE; //初始化表格为可编辑状态……//初始化设置表格的行列数SetRowCount(nRows);SetColumnCount(nCols);SetFixedRowCount(nFixedRows);SetFixedColumnCount(nFixedCols);//初始化表格的背景颜色及输入表格的文本颜色SetTextColor(m_crWindowText);SetTextBkColor(m_crWindowColour);SetFixedTextColor(m_crWindowText);SetFixedBkColor(m_cr3DFace);……}对表格中所输入信息属性的描述,是通过定义一结构体函数来实现,该结构体函数形式如下:typedef struct _GV_ITEM{int row,col; // 输入信息的位置UINT mask; //输入信息的灰度值UINT state; // 表格单元的状态UINT nFormat; // 信息的输入形式CString szText; // 输入表格单元的文本}GV_ITEM;将CGridCtrl类与以下类结合起来,即可构造成在其上可进行编辑和修改的电子表格,这些类分别为:1.用于单元表格范围的两个类:CCellRange[2]类和CCellID[3]类;2.单元表格状态属性的类:CGridCell[4]类;3.对表格进行编辑的两个类:CInplaceEdit[5]类和CInplaceList[6]类;CGridCtrl中文说明介绍当我努力为显示和编辑现有表中的数据而使用CListCtrl 到了极限之后,我意识到我所需要的只不过是一个专用的Grid 控件而已。