| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #pragma once
- #include "../pch/pch.h"
- #include "../order/CWaimaiOrder.h"
- //SetupDiGetInterfaceDeviceDetail所需要的输出长度,定义足够大
- #define INTERFACE_DETAIL_SIZE 1024
- //设备数量上限,假设16台上限
- #define MAX_DEVICE 16
- //USB类的GUID
- const GUID USB_GUID = {0xa5dcbf10, 0x6530, 0x11d2, {0x90, 0x1f, 0x00, 0xc0, 0x4f, 0xb9, 0x51, 0xed}};
- class CPosPrinter
- {
- public:
- CPosPrinter();
- ~CPosPrinter();
- bool Init();
- void PrintWaimaiOrder(string order_id, string order_no);
- void PrintWaimaiOrder(CWaimaiOrder& order);
- private:
- int GetDevicePath(LPGUID lpGuid, LPTSTR* pszDevicePath);
- int WriteData(string meg);
- int WriteBuf(char *buf, int len);
- int POS_Reset(void);
- int POS_FeedLine(void);
- int POS_Feed(void);
- int POS_SetMotionUnit(int x, int y);
- //设置横向跳格位置
- int POS_SET_MOVE_X();
- int POS_MOVE_X();
- int POS_SET_ABS_X(int x, int y);
- int POS_SET_PRINT_AREA(int x, int y);
- int POS_TextOut(string abc, bool is_double = false, int align_type = 0);
- int POS_CutPaper();
- int POS_OutQRCode();
- //字符空格计算的辅助函数
- void CalWord(string s, int& nHanzi, int& nZimu);
- //对名字进行换行处理
- std::vector<std::string> HandleFoodname(std::string oldname);
- std::string HandleFoodItemPrice(std::string oldprice);
- std::string HandleFoodQuantity(std::string oldquantity);
- std::string HandleFoodTotalPrice(std::string oldprice);
- private:
- HANDLE m_hPort = NULL;
- };
|