HZYZ源码分析笔记

来源:互联网 发布:mac只能到10.9.5 编辑:程序博客网 时间:2024/06/10 11:49

流程

1、写好的c/c++代码。
2、将写好的c/c++代码整个共享入LINUX系统下。
(Oracle VM VirtualBox共享固定目录。
mount(挂载命令)
mount -t vboxsf share(挂载文件夹) /mnt/share/
)
3、在LINUX系统下通过gcc编译为arm的运行包。
(进入makefile文件目录。
make clean(清除编译文件)
make Makefile(编译)
)
4、将运行包烧录入EPOS机中运行。

MAIN函数

Main(){    void ExtractDir(char *p_caFilePath  //文件路径                        ,char *p_caDir  //取得的目录                    )    //取得运行目录,不包括最后一个"/"void *memset(void *s, int ch, size_t n);函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 s 。memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法[1] 。在main函数中设置路径及QT字体以后QWSServer::setCursorVisible(false);  //让EditText不出现光标使用MainWnd mainwnd;调用MainWnd的构造函数。class MainWnd : public QWidget{    Q_OBJECTpublic:    MainWnd(QWidget *parent = 0);    ~MainWnd();    void createTextWnd();        //创建文本窗口    void createMenuWnd();        //创建菜单窗口    void showWnd();    void addMenuItem(const char *p_caTitle, int p_iWidth=-1, int p_iHeight=-1);          //创建菜单    void addText(int p_iUseRows, Qt::Alignment alignment, const char *p_caFormat, ...);    void setTitle(const char *p_caTitle);    void setText(int p_iTextIdx, const char *p_caFormat, ...);    void setHelp(const char *p_caFormat, ...);    void setT9Help(const char *p_caBuffer);    void clearWnd(int p_iFlag);    //    int  getPages();    int  getCurPageIdx();    void ctrlWndTimeout(int p_iSecond);    void PageUp();    void PageDown();    void Display();    void HideLabel();    int  PrepareText(const char *pcaStr,int ibeginRow=0,int ibeginCol=0);    void setProgress(int p_iProgress);    int getProgress();    CmdBase* getBase();    TWNDTYPE getWndType();    void setemit();    char caBuff[32];    QList<CmdBase *>c_lstDynMenu;          //动态交易菜单列表    QProgressBar *c_pProgressBar;         //进度条处理    QQueue<QString> c_qusMessage;public slots:    void onMenuClick(int p_iIdx);    void onNewCmd(CmdBase *p_obj);    void startApp();    void OnShowWndTime(int p_iSecond);    void OnHideWndTime(int p_iSecond);    void onClickReturn();    void onShowSn();    void onUpdateMenu();    void onTradeTest();//联机交易自检    void onFactorReset();//恢复出厂设置    void onClearMenu();//清除菜单    void onUpdateKey();//跟新密钥    void onTestNet();//网络检测    void onDeviceManage();//终端管理    void onShowKey(char cKey);//显示快捷操作时的键值private:    TWNDTYPE      c_stWnd;           //当前窗口模式, 1:普通文本模式, 2:菜单模式    int           c_iPages;          //总的页数    int           c_iCurPageIdx;     //当前页号    bool          c_blLines;         //是否生成了当前界面的文本行对象    QLabel       *c_labBG;           //背景    QLabel       *c_labTitle;        //标题栏    QLabel       *c_labHelp;         //帮助提示文本    QLabel       *c_labWndTimeout;   //界面超时    QLabel       *c_labLines[TEXT_LINES];   //文本行显示对象    CmdBase      *c_cmdBase;         //操作码指令处理类指针    WndTimeout   *c_WndTimeout;      //界面超时线程    QList<TText *>c_lstText;      //文本对象,存放具体的文本    QList<char *>c_lstLines;      //文本行对象    QList<Qt::Alignment>c_lstAlignment;   //文本行对齐方式    QList<QCustButton *>c_lstMenuItems;   //菜单窗口的按钮控件集    QSignalMapper *c_menuMapper;          //菜单事件Mapper    char c_caTradeCode[10];    int c_pciSize[4];    int c_iPage;    int c_iCurPage;    int c_iTotal;    bool c_bFirst;    int c_mouseX;    int c_idot;    int c_iLeftBorder;    int c_iColWidth;    int c_iTopBorder;    int c_iRowWidth;    bool eventFilter(QObject *obj, QEvent *event);   //事件过滤器    void getLines();             //生成文本行对象    /*    char c_pcaSrc_app_name[100];    char c_pcaDst_app_name[100];    char c_pcaTradeCode[10];    char c_pcaTradeCash[20];    char c_pcaTrade[10];    char c_caCmd[128];    char c_chValue;    */signals:    void menuSelect(int p_iIdx);        //菜单选择信号    void newCmd(CmdBase *p_obj);        //新操作码命令信号    void KeyPress(int p_iKey);         //按键事件    //void slotKey(int num);            //数字按键事件    void typesingle();};#endif  //__MAINWND_H__

}
“`

0 0
原创粉丝点击