Showing
17 changed files
with
1893 additions
and
302 deletions
| ... | ... | @@ -33,14 +33,26 @@ CBlueFlashToolApp::CBlueFlashToolApp() |
| 33 | 33 | |
| 34 | 34 | ///////////////////////////////////////////////////////////////////////////// |
| 35 | 35 | // The one and only CBlueFlashToolApp object |
| 36 | +//---------------全局变量定义区 | |
| 37 | + CBlueFlashToolApp theApp; | |
| 38 | + CBlueFlashToolApp *g_pmainapp; | |
| 39 | + app_main_data_struct g_AppMainData; | |
| 40 | + //CByteArray g_pBufferBinFile[20]; | |
| 41 | + CIniFile g_globalini; | |
| 42 | +//---------------全局变量定义区 | |
| 43 | + | |
| 44 | + | |
| 45 | +CString GetCurrPath(); | |
| 46 | + | |
| 47 | + | |
| 36 | 48 | |
| 37 | -CBlueFlashToolApp theApp; | |
| 38 | 49 | |
| 39 | 50 | ///////////////////////////////////////////////////////////////////////////// |
| 40 | 51 | // CBlueFlashToolApp initialization |
| 41 | 52 | |
| 42 | 53 | BOOL CBlueFlashToolApp::InitInstance() |
| 43 | 54 | { |
| 55 | + CString strglobalpath; | |
| 44 | 56 | AfxEnableControlContainer(); |
| 45 | 57 | |
| 46 | 58 | // Standard initialization |
| ... | ... | @@ -49,26 +61,18 @@ BOOL CBlueFlashToolApp::InitInstance() |
| 49 | 61 | // the specific initialization routines you do not need. |
| 50 | 62 | |
| 51 | 63 | #ifdef _AFXDLL |
| 52 | - Enable3dControls(); // Call this when using MFC in a shared DLL | |
| 64 | + //Enable3dControls(); // Call this when using MFC in a shared DLL | |
| 53 | 65 | #else |
| 54 | 66 | Enable3dControlsStatic(); // Call this when linking to MFC statically |
| 55 | 67 | #endif |
| 56 | - g_AppMainData.if_same_sn = TRUE; | |
| 57 | - strcpy(g_AppMainData.SN_head, "T"); | |
| 58 | - g_AppMainData.SN_start = 0; | |
| 59 | - g_AppMainData.SN_end = 0; | |
| 60 | - g_AppMainData.SN_cur = 0; | |
| 61 | - g_AppMainData.com_config.aBandrate = 115200; | |
| 62 | - g_AppMainData.com_config.bcheck = 0; | |
| 63 | - g_AppMainData.com_config.cdatabit = 8; | |
| 64 | - g_AppMainData.com_config.dstopbit=1; | |
| 65 | - g_AppMainData.com_config.estreambit=0; | |
| 66 | - | |
| 67 | - for (int i = 0; i < 10; i++) | |
| 68 | - { | |
| 69 | - g_AppMainData.ary_myComPortEar[i]=1; | |
| 70 | - g_AppMainData.ary_myComPortUsb[i]=1; | |
| 71 | - } | |
| 68 | + g_pmainapp = this; | |
| 69 | + | |
| 70 | + strglobalpath = GetCurrPath() + "Global"; | |
| 71 | + g_globalini.SetIniFileName(strglobalpath); | |
| 72 | + LoadConfigs(); | |
| 73 | + | |
| 74 | + //--------------------------------------------------------数据初始化 | |
| 75 | + | |
| 72 | 76 | |
| 73 | 77 | |
| 74 | 78 | CBlueFlashToolDlg dlg; |
| ... | ... | @@ -89,3 +93,138 @@ BOOL CBlueFlashToolApp::InitInstance() |
| 89 | 93 | // application, rather than start the application's message pump. |
| 90 | 94 | return FALSE; |
| 91 | 95 | } |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | +//获取应用程序的根目录 | |
| 100 | +//return value:应用程序的根目录 | |
| 101 | +CString GetCurrPath() | |
| 102 | +{ | |
| 103 | + CString strPath =""; | |
| 104 | + char cCurDirectory[_MAX_PATH]; | |
| 105 | + memset(cCurDirectory,'\0',_MAX_PATH); | |
| 106 | + ::GetModuleFileName(NULL, cCurDirectory, _MAX_PATH); | |
| 107 | + //GetCurrentDirectory(256, cCurDirectory); //不能使用这个函数,如果中间你调用文件对话框,对改变你的当前路径 | |
| 108 | + strPath.Format(cCurDirectory); | |
| 109 | + CString strAppName =AfxGetApp()->m_pszAppName; | |
| 110 | + strAppName+=".exe"; | |
| 111 | + //把最后的exe文件名去掉 | |
| 112 | + int length1,length2; | |
| 113 | + length1=strPath.GetLength(); | |
| 114 | + length2=strAppName.GetLength(); | |
| 115 | + strPath.Delete(length1-length2,length2); | |
| 116 | + //strPath.Replace("\\","\\\\"); | |
| 117 | + return strPath; | |
| 118 | +} | |
| 119 | +//判断某文件是否存在 | |
| 120 | +//return value: ture:存在,false:不存在! | |
| 121 | +//Parameters: | |
| 122 | +//strAbsolutefilePath:文件的绝对路径 | |
| 123 | +bool IsExistFile(CString strAbsolutefilePath) | |
| 124 | +{ | |
| 125 | + CFileFind findFile; | |
| 126 | + //BOOL iFlag = false; | |
| 127 | + BOOL iFlag = findFile.FindFile(strAbsolutefilePath); | |
| 128 | + return iFlag; | |
| 129 | +} | |
| 130 | + | |
| 131 | +// 加载程序默认配置 | |
| 132 | +bool CBlueFlashToolApp::LoadConfigs(void) | |
| 133 | +{ | |
| 134 | + g_AppMainData.if_same_sn = g_globalini.ReadBool("SN_Config","SN_same"); | |
| 135 | + g_AppMainData.SN_head = g_globalini.ReadString("SN_Config","SN_head"); | |
| 136 | + g_AppMainData.SN_start = g_globalini.ReadInt("SN_Config","SN_start"); | |
| 137 | + g_AppMainData.SN_end = g_globalini.ReadInt("SN_Config","SN_end"); | |
| 138 | + g_AppMainData.SN_cur = g_globalini.ReadInt("SN_Config","SN_cur"); | |
| 139 | + | |
| 140 | + g_AppMainData.com_config.aBandrate = g_globalini.ReadInt("UART_Config","波特率"); | |
| 141 | + g_AppMainData.com_config.bcheck = g_globalini.ReadInt("UART_Config","校验位"); | |
| 142 | + g_AppMainData.com_config.cdatabit = g_globalini.ReadInt("UART_Config","数据位"); | |
| 143 | + g_AppMainData.com_config.dstopbit = g_globalini.ReadInt("UART_Config","停止??"); | |
| 144 | + g_AppMainData.com_config.estreambit = g_globalini.ReadInt("UART_Config","流控制"); | |
| 145 | + | |
| 146 | + g_AppMainData.ary_myComPortEar[0] = g_globalini.ReadInt("UART_Config","ear_port1"); | |
| 147 | + g_AppMainData.ary_myComPortEar[1] = g_globalini.ReadInt("UART_Config","ear_port2"); | |
| 148 | + g_AppMainData.ary_myComPortEar[2] = g_globalini.ReadInt("UART_Config","ear_port3"); | |
| 149 | + g_AppMainData.ary_myComPortEar[3] = g_globalini.ReadInt("UART_Config","ear_port4"); | |
| 150 | + g_AppMainData.ary_myComPortEar[4] = g_globalini.ReadInt("UART_Config","ear_port5"); | |
| 151 | + g_AppMainData.ary_myComPortEar[5] = g_globalini.ReadInt("UART_Config","ear_port6"); | |
| 152 | + g_AppMainData.ary_myComPortEar[6] = g_globalini.ReadInt("UART_Config","ear_port7"); | |
| 153 | + g_AppMainData.ary_myComPortEar[7] = g_globalini.ReadInt("UART_Config","ear_port8"); | |
| 154 | + g_AppMainData.ary_myComPortEar[8] = g_globalini.ReadInt("UART_Config","ear_port9"); | |
| 155 | + g_AppMainData.ary_myComPortEar[9] = g_globalini.ReadInt("UART_Config","ear_port10"); | |
| 156 | + g_AppMainData.ary_myComPortUsb[0] = g_globalini.ReadInt("UART_Config","usb_port1"); | |
| 157 | + g_AppMainData.ary_myComPortUsb[1] = g_globalini.ReadInt("UART_Config","usb_port2"); | |
| 158 | + g_AppMainData.ary_myComPortUsb[2] = g_globalini.ReadInt("UART_Config","usb_port3"); | |
| 159 | + g_AppMainData.ary_myComPortUsb[3] = g_globalini.ReadInt("UART_Config","usb_port4"); | |
| 160 | + g_AppMainData.ary_myComPortUsb[4] = g_globalini.ReadInt("UART_Config","usb_port5"); | |
| 161 | + g_AppMainData.ary_myComPortUsb[5] = g_globalini.ReadInt("UART_Config","usb_port6"); | |
| 162 | + g_AppMainData.ary_myComPortUsb[6] = g_globalini.ReadInt("UART_Config","usb_port7"); | |
| 163 | + g_AppMainData.ary_myComPortUsb[7] = g_globalini.ReadInt("UART_Config","usb_port8"); | |
| 164 | + g_AppMainData.ary_myComPortUsb[8] = g_globalini.ReadInt("UART_Config","usb_port9"); | |
| 165 | + g_AppMainData.ary_myComPortUsb[9] = g_globalini.ReadInt("UART_Config","usb_port10"); | |
| 166 | + g_AppMainData.FilePathEar= g_globalini.ReadString("BinFilePath","EarBin"); | |
| 167 | + g_AppMainData.FilePathUsb= g_globalini.ReadString("BinFilePath","UsbBin"); | |
| 168 | + | |
| 169 | + | |
| 170 | + return true; | |
| 171 | +} | |
| 172 | + | |
| 173 | +bool CBlueFlashToolApp::SaveConfigs(void) | |
| 174 | +{ | |
| 175 | + // g_AppMainData.if_same_sn = TRUE; | |
| 176 | + // strcpy(g_AppMainData.SN_head, "T"); | |
| 177 | + // g_AppMainData.SN_start = 0; | |
| 178 | + // g_AppMainData.SN_end = 0; | |
| 179 | + // g_AppMainData.SN_cur = 0; | |
| 180 | + // g_AppMainData.com_config.aBandrate = 115200; | |
| 181 | + // g_AppMainData.com_config.bcheck = 0; | |
| 182 | + // g_AppMainData.com_config.cdatabit = 8; | |
| 183 | + // g_AppMainData.com_config.dstopbit=1; | |
| 184 | + // g_AppMainData.com_config.estreambit=0; | |
| 185 | + // | |
| 186 | + // for (int i = 0; i < 10; i++) | |
| 187 | + // { | |
| 188 | + // g_AppMainData.ary_myComPortEar[i]=-1; | |
| 189 | + // g_AppMainData.ary_myComPortUsb[i]=-1; | |
| 190 | + // } | |
| 191 | + // //--------------------------------------------------------数据初始化 | |
| 192 | + | |
| 193 | + g_globalini.WriteBool("SN_Config","SN_same",g_AppMainData.if_same_sn); | |
| 194 | + g_globalini.WriteString("SN_Config","SN_head",g_AppMainData.SN_head); | |
| 195 | + g_globalini.WriteInt("SN_Config","SN_start",g_AppMainData.SN_start); | |
| 196 | + g_globalini.WriteInt("SN_Config","SN_end",g_AppMainData.SN_end); | |
| 197 | + g_globalini.WriteInt("SN_Config","SN_cur",g_AppMainData.SN_cur); | |
| 198 | + | |
| 199 | + g_globalini.WriteInt("UART_Config","波特率",g_AppMainData.com_config.aBandrate); | |
| 200 | + g_globalini.WriteInt("UART_Config","校验位",g_AppMainData.com_config.bcheck); | |
| 201 | + g_globalini.WriteInt("UART_Config","数据位",g_AppMainData.com_config.cdatabit); | |
| 202 | + g_globalini.WriteInt("UART_Config","停止位",g_AppMainData.com_config.dstopbit); | |
| 203 | + g_globalini.WriteInt("UART_Config","流控制",g_AppMainData.com_config.estreambit); | |
| 204 | + | |
| 205 | + g_globalini.WriteInt("UART_Config","ear_port1",g_AppMainData.ary_myComPortEar[0]); | |
| 206 | + g_globalini.WriteInt("UART_Config","ear_port2",g_AppMainData.ary_myComPortEar[1]); | |
| 207 | + g_globalini.WriteInt("UART_Config","ear_port3",g_AppMainData.ary_myComPortEar[2]); | |
| 208 | + g_globalini.WriteInt("UART_Config","ear_port4",g_AppMainData.ary_myComPortEar[3]); | |
| 209 | + g_globalini.WriteInt("UART_Config","ear_port5",g_AppMainData.ary_myComPortEar[4]); | |
| 210 | + g_globalini.WriteInt("UART_Config","ear_port6",g_AppMainData.ary_myComPortEar[5]); | |
| 211 | + g_globalini.WriteInt("UART_Config","ear_port7",g_AppMainData.ary_myComPortEar[6]); | |
| 212 | + g_globalini.WriteInt("UART_Config","ear_port8",g_AppMainData.ary_myComPortEar[7]); | |
| 213 | + g_globalini.WriteInt("UART_Config","ear_port9",g_AppMainData.ary_myComPortEar[8]); | |
| 214 | + g_globalini.WriteInt("UART_Config","ear_port10",g_AppMainData.ary_myComPortEar[9]); | |
| 215 | + g_globalini.WriteInt("UART_Config","usb_port1",g_AppMainData.ary_myComPortUsb[0]); | |
| 216 | + g_globalini.WriteInt("UART_Config","usb_port2",g_AppMainData.ary_myComPortUsb[1]); | |
| 217 | + g_globalini.WriteInt("UART_Config","usb_port3",g_AppMainData.ary_myComPortUsb[2]); | |
| 218 | + g_globalini.WriteInt("UART_Config","usb_port4",g_AppMainData.ary_myComPortUsb[3]); | |
| 219 | + g_globalini.WriteInt("UART_Config","usb_port5",g_AppMainData.ary_myComPortUsb[4]); | |
| 220 | + g_globalini.WriteInt("UART_Config","usb_port6",g_AppMainData.ary_myComPortUsb[5]); | |
| 221 | + g_globalini.WriteInt("UART_Config","usb_port7",g_AppMainData.ary_myComPortUsb[6]); | |
| 222 | + g_globalini.WriteInt("UART_Config","usb_port8",g_AppMainData.ary_myComPortUsb[7]); | |
| 223 | + g_globalini.WriteInt("UART_Config","usb_port9",g_AppMainData.ary_myComPortUsb[8]); | |
| 224 | + g_globalini.WriteInt("UART_Config","usb_port10",g_AppMainData.ary_myComPortUsb[9]); | |
| 225 | + | |
| 226 | + g_globalini.WriteString("BinFilePath","EarBin",g_AppMainData.FilePathEar); | |
| 227 | + g_globalini.WriteString("BinFilePath","UsbBin",g_AppMainData.FilePathUsb); | |
| 228 | + | |
| 229 | + return true; | |
| 230 | +} | ... | ... |
| ... | ... | @@ -13,16 +13,58 @@ |
| 13 | 13 | #endif |
| 14 | 14 | |
| 15 | 15 | #include "resource.h" // main symbols |
| 16 | +#include "IniFile.h" | |
| 17 | + | |
| 18 | + | |
| 16 | 19 | |
| 17 | 20 | ///////////////////////////////////////////////////////////////////////////// |
| 18 | 21 | // CBlueFlashToolApp: |
| 19 | 22 | // See BlueFlashTool.cpp for the implementation of this class |
| 20 | 23 | // |
| 21 | 24 | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | +#define MAX_PATH 260 | |
| 30 | + | |
| 31 | + | |
| 32 | +typedef struct | |
| 33 | +{ | |
| 34 | + int aBandrate; | |
| 35 | + char bcheck; | |
| 36 | + char cdatabit; | |
| 37 | + char dstopbit; | |
| 38 | + char estreambit; | |
| 39 | +}com_config_struct; | |
| 40 | +typedef struct | |
| 41 | +{ | |
| 42 | + short ary_myComPortEar[10]; | |
| 43 | + short ary_myComPortUsb[10]; | |
| 44 | + BOOL if_flashEar[10]; | |
| 45 | + BOOL if_flashUsb[10]; | |
| 46 | + short int_myComPortDebug; | |
| 47 | + com_config_struct com_config; | |
| 48 | + BOOL if_same_sn; | |
| 49 | + CString SN_head; | |
| 50 | + int SN_start; | |
| 51 | + int SN_end; | |
| 52 | + int SN_cur; | |
| 53 | + int int_ResendTime; | |
| 54 | + CString FilePathUsb; | |
| 55 | + CString FilePathEar; | |
| 56 | +}app_main_data_struct; | |
| 57 | + | |
| 58 | +extern app_main_data_struct g_AppMainData; | |
| 59 | +extern CIniFile g_globalini; | |
| 60 | + | |
| 61 | + | |
| 22 | 62 | class CBlueFlashToolApp : public CWinApp |
| 23 | 63 | { |
| 24 | 64 | public: |
| 25 | 65 | CBlueFlashToolApp(); |
| 66 | + bool LoadConfigs(void); | |
| 67 | + bool SaveConfigs(void); | |
| 26 | 68 | |
| 27 | 69 | // Overrides |
| 28 | 70 | // ClassWizard generated virtual function overrides |
| ... | ... | @@ -38,9 +80,10 @@ public: |
| 38 | 80 | // DO NOT EDIT what you see in these blocks of generated code ! |
| 39 | 81 | //}}AFX_MSG |
| 40 | 82 | DECLARE_MESSAGE_MAP() |
| 83 | + // ¼ÓÔØ³ÌÐòĬÈÏÅäÖà | |
| 41 | 84 | }; |
| 42 | 85 | |
| 43 | - | |
| 86 | +extern CBlueFlashToolApp *g_pmainapp; | |
| 44 | 87 | ///////////////////////////////////////////////////////////////////////////// |
| 45 | 88 | |
| 46 | 89 | //{{AFX_INSERT_LOCATION}} | ... | ... |
| 1 | -//Microsoft Developer Studio generated resource script. | |
| 1 | +// Microsoft Visual C++ generated resource script. | |
| 2 | 2 | // |
| 3 | 3 | #include "resource.h" |
| 4 | 4 | |
| ... | ... | @@ -27,18 +27,18 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED |
| 27 | 27 | // TEXTINCLUDE |
| 28 | 28 | // |
| 29 | 29 | |
| 30 | -1 TEXTINCLUDE DISCARDABLE | |
| 30 | +1 TEXTINCLUDE | |
| 31 | 31 | BEGIN |
| 32 | 32 | "resource.h\0" |
| 33 | 33 | END |
| 34 | 34 | |
| 35 | -2 TEXTINCLUDE DISCARDABLE | |
| 35 | +2 TEXTINCLUDE | |
| 36 | 36 | BEGIN |
| 37 | 37 | "#include ""afxres.h""\r\n" |
| 38 | 38 | "\0" |
| 39 | 39 | END |
| 40 | 40 | |
| 41 | -3 TEXTINCLUDE DISCARDABLE | |
| 41 | +3 TEXTINCLUDE | |
| 42 | 42 | BEGIN |
| 43 | 43 | "#define _AFX_NO_SPLITTER_RESOURCES\r\n" |
| 44 | 44 | "#define _AFX_NO_OLE_RESOURCES\r\n" |
| ... | ... | @@ -66,7 +66,7 @@ END |
| 66 | 66 | |
| 67 | 67 | // Icon with lowest ID value placed first to ensure application icon |
| 68 | 68 | // remains consistent on all systems. |
| 69 | -IDR_MAINFRAME ICON DISCARDABLE "res\\BlueFlashTool.ico" | |
| 69 | +IDR_MAINFRAME ICON "res\\BlueFlashTool.ico" | |
| 70 | 70 | |
| 71 | 71 | ///////////////////////////////////////////////////////////////////////////// |
| 72 | 72 | // |
| ... | ... | @@ -74,273 +74,185 @@ IDR_MAINFRAME ICON DISCARDABLE "res\\BlueFlashTool.ico" |
| 74 | 74 | // |
| 75 | 75 | |
| 76 | 76 | IDD_BLUEFLASHTOOL_DIALOG DIALOGEX 0, 0, 552, 367 |
| 77 | -STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | |
| 77 | +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU | |
| 78 | 78 | EXSTYLE WS_EX_APPWINDOW |
| 79 | 79 | CAPTION "BlueFlashTool" |
| 80 | 80 | FONT 9, "宋体", 0, 0, 0x1 |
| 81 | 81 | BEGIN |
| 82 | 82 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP01,0,1,190,51 |
| 83 | - CONTROL "耳机",IDC_CHECK_EAR01,"Button",BS_AUTOCHECKBOX | | |
| 84 | - WS_TABSTOP,8,15,32,10 | |
| 85 | - CONTROL "发射器",IDC_CHECK_USB01,"Button",BS_AUTOCHECKBOX | | |
| 86 | - WS_TABSTOP,8,34,40,10 | |
| 87 | - CONTROL "Progress1",IDC_PROGRESS_EAR01,"msctls_progress32", | |
| 88 | - PBS_SMOOTH | WS_BORDER,57,15,72,14 | |
| 89 | - CONTROL "Progress1",IDC_PROGRESS_USB01,"msctls_progress32", | |
| 90 | - PBS_SMOOTH | WS_BORDER,57,34,72,14 | |
| 83 | + CONTROL "耳机",IDC_CHECK_EAR1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,15,32,10 | |
| 84 | + CONTROL "发射器",IDC_CHECK_USB1,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,34,40,10 | |
| 85 | + CONTROL "Progress1",IDC_PROGRESS_EAR01,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,15,72,14 | |
| 86 | + CONTROL "Progress1",IDC_PROGRESS_USB01,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,34,72,14 | |
| 91 | 87 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR01,132,15,50,14 |
| 92 | 88 | PUSHBUTTON "开始",IDC_BUTTON_START_USB01,132,34,50,14 |
| 93 | 89 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP2,0,60,190,51 |
| 94 | - CONTROL "耳机",IDC_CHECK_EAR2,"Button",BS_AUTOCHECKBOX | | |
| 95 | - WS_TABSTOP,8,74,32,10 | |
| 96 | - CONTROL "发射器",IDC_CHECK_USB2,"Button",BS_AUTOCHECKBOX | | |
| 97 | - WS_TABSTOP,8,93,40,10 | |
| 98 | - CONTROL "Progress1",IDC_PROGRESS_EAR2,"msctls_progress32", | |
| 99 | - PBS_SMOOTH | WS_BORDER,57,74,72,14 | |
| 100 | - CONTROL "Progress1",IDC_PROGRESS_USB2,"msctls_progress32", | |
| 101 | - PBS_SMOOTH | WS_BORDER,57,93,72,14 | |
| 90 | + CONTROL "耳机",IDC_CHECK_EAR2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,74,32,10 | |
| 91 | + CONTROL "发射器",IDC_CHECK_USB2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,93,40,10 | |
| 92 | + CONTROL "Progress1",IDC_PROGRESS_EAR2,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,74,72,14 | |
| 93 | + CONTROL "Progress1",IDC_PROGRESS_USB2,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,93,72,14 | |
| 102 | 94 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR2,132,74,50,14 |
| 103 | 95 | PUSHBUTTON "开始",IDC_BUTTON_START_USB2,132,93,50,14 |
| 104 | 96 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP3,0,120,190,51 |
| 105 | - CONTROL "耳机",IDC_CHECK_EAR3,"Button",BS_AUTOCHECKBOX | | |
| 106 | - WS_TABSTOP,8,134,32,10 | |
| 107 | - CONTROL "发射器",IDC_CHECK_USB3,"Button",BS_AUTOCHECKBOX | | |
| 108 | - WS_TABSTOP,8,153,40,10 | |
| 109 | - CONTROL "Progress1",IDC_PROGRESS_EAR3,"msctls_progress32", | |
| 110 | - PBS_SMOOTH | WS_BORDER,57,134,72,14 | |
| 111 | - CONTROL "Progress1",IDC_PROGRESS_USB3,"msctls_progress32", | |
| 112 | - PBS_SMOOTH | WS_BORDER,57,153,72,14 | |
| 97 | + CONTROL "耳机",IDC_CHECK_EAR3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,134,32,10 | |
| 98 | + CONTROL "发射器",IDC_CHECK_USB3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,153,40,10 | |
| 99 | + CONTROL "Progress1",IDC_PROGRESS_EAR3,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,134,72,14 | |
| 100 | + CONTROL "Progress1",IDC_PROGRESS_USB3,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,153,72,14 | |
| 113 | 101 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR3,132,134,50,14 |
| 114 | 102 | PUSHBUTTON "开始",IDC_BUTTON_START_USB3,132,153,50,14 |
| 115 | 103 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP4,0,180,190,51 |
| 116 | - CONTROL "耳机",IDC_CHECK_EAR4,"Button",BS_AUTOCHECKBOX | | |
| 117 | - WS_TABSTOP,8,194,32,10 | |
| 118 | - CONTROL "发射器",IDC_CHECK_USB4,"Button",BS_AUTOCHECKBOX | | |
| 119 | - WS_TABSTOP,8,213,40,10 | |
| 120 | - CONTROL "Progress1",IDC_PROGRESS_EAR4,"msctls_progress32", | |
| 121 | - PBS_SMOOTH | WS_BORDER,57,194,72,14 | |
| 122 | - CONTROL "Progress1",IDC_PROGRESS_USB4,"msctls_progress32", | |
| 123 | - PBS_SMOOTH | WS_BORDER,57,213,72,14 | |
| 104 | + CONTROL "耳机",IDC_CHECK_EAR4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,194,32,10 | |
| 105 | + CONTROL "发射器",IDC_CHECK_USB4,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,213,40,10 | |
| 106 | + CONTROL "Progress1",IDC_PROGRESS_EAR4,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,194,72,14 | |
| 107 | + CONTROL "Progress1",IDC_PROGRESS_USB4,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,213,72,14 | |
| 124 | 108 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR4,132,194,50,14 |
| 125 | 109 | PUSHBUTTON "开始",IDC_BUTTON_START_USB4,132,213,50,14 |
| 126 | 110 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP5,0,240,190,51 |
| 127 | - CONTROL "耳机",IDC_CHECK_EAR5,"Button",BS_AUTOCHECKBOX | | |
| 128 | - WS_TABSTOP,8,254,32,10 | |
| 129 | - CONTROL "发射器",IDC_CHECK_USB5,"Button",BS_AUTOCHECKBOX | | |
| 130 | - WS_TABSTOP,8,273,40,10 | |
| 131 | - CONTROL "Progress1",IDC_PROGRESS_EAR5,"msctls_progress32", | |
| 132 | - PBS_SMOOTH | WS_BORDER,57,254,72,14 | |
| 133 | - CONTROL "Progress1",IDC_PROGRESS_USB5,"msctls_progress32", | |
| 134 | - PBS_SMOOTH | WS_BORDER,57,273,72,14 | |
| 111 | + CONTROL "耳机",IDC_CHECK_EAR5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,254,32,10 | |
| 112 | + CONTROL "发射器",IDC_CHECK_USB5,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,8,273,40,10 | |
| 113 | + CONTROL "Progress1",IDC_PROGRESS_EAR5,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,254,72,14 | |
| 114 | + CONTROL "Progress1",IDC_PROGRESS_USB5,"msctls_progress32",PBS_SMOOTH | WS_BORDER,57,273,72,14 | |
| 135 | 115 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR5,132,254,50,14 |
| 136 | 116 | PUSHBUTTON "开始",IDC_BUTTON_START_USB5,132,273,50,14 |
| 137 | 117 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP6,195,0,190,51 |
| 138 | - CONTROL "耳机",IDC_CHECK_EAR6,"Button",BS_AUTOCHECKBOX | | |
| 139 | - WS_TABSTOP,203,14,32,10 | |
| 140 | - CONTROL "发射器",IDC_CHECK_USB6,"Button",BS_AUTOCHECKBOX | | |
| 141 | - WS_TABSTOP,203,33,40,10 | |
| 142 | - CONTROL "Progress1",IDC_PROGRESS_EAR6,"msctls_progress32", | |
| 143 | - PBS_SMOOTH | WS_BORDER,253,14,72,14 | |
| 144 | - CONTROL "Progress1",IDC_PROGRESS_USB6,"msctls_progress32", | |
| 145 | - PBS_SMOOTH | WS_BORDER,253,33,72,14 | |
| 118 | + CONTROL "耳机",IDC_CHECK_EAR6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,14,32,10 | |
| 119 | + CONTROL "发射器",IDC_CHECK_USB6,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,33,40,10 | |
| 120 | + CONTROL "Progress1",IDC_PROGRESS_EAR6,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,14,72,14 | |
| 121 | + CONTROL "Progress1",IDC_PROGRESS_USB6,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,33,72,14 | |
| 146 | 122 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR6,329,14,50,14 |
| 147 | 123 | PUSHBUTTON "开始",IDC_BUTTON_START_USB6,329,33,50,14 |
| 148 | 124 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP7,195,60,190,51 |
| 149 | - CONTROL "耳机",IDC_CHECK_EAR7,"Button",BS_AUTOCHECKBOX | | |
| 150 | - WS_TABSTOP,203,74,32,10 | |
| 151 | - CONTROL "发射器",IDC_CHECK_USB7,"Button",BS_AUTOCHECKBOX | | |
| 152 | - WS_TABSTOP,203,93,40,10 | |
| 153 | - CONTROL "Progress1",IDC_PROGRESS_EAR7,"msctls_progress32", | |
| 154 | - PBS_SMOOTH | WS_BORDER,253,74,72,14 | |
| 155 | - CONTROL "Progress1",IDC_PROGRESS_USB7,"msctls_progress32", | |
| 156 | - PBS_SMOOTH | WS_BORDER,253,93,72,14 | |
| 125 | + CONTROL "耳机",IDC_CHECK_EAR7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,74,32,10 | |
| 126 | + CONTROL "发射器",IDC_CHECK_USB7,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,93,40,10 | |
| 127 | + CONTROL "Progress1",IDC_PROGRESS_EAR7,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,74,72,14 | |
| 128 | + CONTROL "Progress1",IDC_PROGRESS_USB7,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,93,72,14 | |
| 157 | 129 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR7,329,74,50,14 |
| 158 | 130 | PUSHBUTTON "开始",IDC_BUTTON_START_USB7,329,93,50,14 |
| 159 | 131 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP8,195,120,190,51 |
| 160 | - CONTROL "耳机",IDC_CHECK_EAR8,"Button",BS_AUTOCHECKBOX | | |
| 161 | - WS_TABSTOP,203,134,32,10 | |
| 162 | - CONTROL "发射器",IDC_CHECK_USB8,"Button",BS_AUTOCHECKBOX | | |
| 163 | - WS_TABSTOP,203,153,40,10 | |
| 164 | - CONTROL "Progress1",IDC_PROGRESS_EAR8,"msctls_progress32", | |
| 165 | - PBS_SMOOTH | WS_BORDER,253,134,72,14 | |
| 166 | - CONTROL "Progress1",IDC_PROGRESS_USB8,"msctls_progress32", | |
| 167 | - PBS_SMOOTH | WS_BORDER,253,153,72,14 | |
| 132 | + CONTROL "耳机",IDC_CHECK_EAR8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,134,32,10 | |
| 133 | + CONTROL "发射器",IDC_CHECK_USB8,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,153,40,10 | |
| 134 | + CONTROL "Progress1",IDC_PROGRESS_EAR8,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,134,72,14 | |
| 135 | + CONTROL "Progress1",IDC_PROGRESS_USB8,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,153,72,14 | |
| 168 | 136 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR8,329,134,50,14 |
| 169 | 137 | PUSHBUTTON "开始",IDC_BUTTON_START_USB8,329,153,50,14 |
| 170 | 138 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP9,195,180,190,51 |
| 171 | - CONTROL "耳机",IDC_CHECK_EAR9,"Button",BS_AUTOCHECKBOX | | |
| 172 | - WS_TABSTOP,203,194,32,10 | |
| 173 | - CONTROL "发射器",IDC_CHECK_USB9,"Button",BS_AUTOCHECKBOX | | |
| 174 | - WS_TABSTOP,203,213,40,10 | |
| 175 | - CONTROL "Progress1",IDC_PROGRESS_EAR9,"msctls_progress32", | |
| 176 | - PBS_SMOOTH | WS_BORDER,253,194,72,14 | |
| 177 | - CONTROL "Progress1",IDC_PROGRESS_USB9,"msctls_progress32", | |
| 178 | - PBS_SMOOTH | WS_BORDER,253,213,72,14 | |
| 139 | + CONTROL "耳机",IDC_CHECK_EAR9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,194,32,10 | |
| 140 | + CONTROL "发射器",IDC_CHECK_USB9,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,213,40,10 | |
| 141 | + CONTROL "Progress1",IDC_PROGRESS_EAR9,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,194,72,14 | |
| 142 | + CONTROL "Progress1",IDC_PROGRESS_USB9,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,213,72,14 | |
| 179 | 143 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR9,329,194,50,14 |
| 180 | 144 | PUSHBUTTON "开始",IDC_BUTTON_START_USB9,329,213,50,14 |
| 181 | 145 | GROUPBOX "SN:000000000000",IDC_STATIC_GROUP10,195,240,190,51 |
| 182 | - CONTROL "耳机",IDC_CHECK_EAR10,"Button",BS_AUTOCHECKBOX | | |
| 183 | - WS_TABSTOP,203,254,32,10 | |
| 184 | - CONTROL "发射器",IDC_CHECK_USB10,"Button",BS_AUTOCHECKBOX | | |
| 185 | - WS_TABSTOP,203,273,40,10 | |
| 186 | - CONTROL "Progress1",IDC_PROGRESS_EAR10,"msctls_progress32", | |
| 187 | - PBS_SMOOTH | WS_BORDER,253,254,72,14 | |
| 188 | - CONTROL "Progress1",IDC_PROGRESS_USB10,"msctls_progress32", | |
| 189 | - PBS_SMOOTH | WS_BORDER,253,273,72,14 | |
| 146 | + CONTROL "耳机",IDC_CHECK_EAR10,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,254,32,10 | |
| 147 | + CONTROL "发射器",IDC_CHECK_USB10,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,203,273,40,10 | |
| 148 | + CONTROL "Progress1",IDC_PROGRESS_EAR10,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,254,72,14 | |
| 149 | + CONTROL "Progress1",IDC_PROGRESS_USB10,"msctls_progress32",PBS_SMOOTH | WS_BORDER,253,273,72,14 | |
| 190 | 150 | PUSHBUTTON "开始",IDC_BUTTON_START_EAR10,329,254,50,14 |
| 191 | 151 | PUSHBUTTON "开始",IDC_BUTTON_START_USB10,329,273,50,14 |
| 192 | - PUSHBUTTON "全部开始",IDC_START_ALL,10,300,50,14 | |
| 193 | - PUSHBUTTON "全部停止",IDC_STOP_ALL,75,300,50,14 | |
| 152 | + PUSHBUTTON "全部开始",IDC_START_ALL,129,318,50,20 | |
| 153 | + PUSHBUTTON "全部停止",IDC_STOP_ALL,195,318,50,20 | |
| 194 | 154 | PUSHBUTTON "参数设置",IDC_BUTTON_SETTING,326,300,50,14 |
| 195 | - CONTROL "",IDC_MSCOMM0,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 196 | - WS_TABSTOP,0,342,25,25 | |
| 197 | - CONTROL "",IDC_MSCOMM1,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 198 | - WS_TABSTOP,26,342,25,25 | |
| 199 | - CONTROL "",IDC_MSCOMM2,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 200 | - WS_TABSTOP,52,342,25,25 | |
| 201 | - CONTROL "",IDC_MSCOMM3,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 202 | - WS_TABSTOP,78,342,25,25 | |
| 203 | - CONTROL "",IDC_MSCOMM4,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 204 | - WS_TABSTOP,104,342,25,25 | |
| 205 | - CONTROL "",IDC_MSCOMM5,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 206 | - WS_TABSTOP,130,342,25,25 | |
| 207 | - CONTROL "",IDC_MSCOMM6,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 208 | - WS_TABSTOP,156,342,25,25 | |
| 209 | - CONTROL "",IDC_MSCOMM7,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 210 | - WS_TABSTOP,182,342,25,25 | |
| 211 | - CONTROL "",IDC_MSCOMM8,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 212 | - WS_TABSTOP,208,342,25,25 | |
| 213 | - CONTROL "",IDC_MSCOMM9,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 214 | - WS_TABSTOP,234,342,25,25 | |
| 215 | - CONTROL "",IDC_MSCOMM10,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 216 | - WS_TABSTOP,260,342,25,25 | |
| 217 | - CONTROL "",IDC_MSCOMM11,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 218 | - WS_TABSTOP,286,342,25,25 | |
| 219 | - CONTROL "",IDC_MSCOMM12,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 220 | - WS_TABSTOP,312,342,25,25 | |
| 221 | - CONTROL "",IDC_MSCOMM13,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 222 | - WS_TABSTOP,338,342,25,25 | |
| 223 | - CONTROL "",IDC_MSCOMM14,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 224 | - WS_TABSTOP,364,342,25,25 | |
| 225 | - CONTROL "",IDC_MSCOMM15,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 226 | - WS_TABSTOP,390,342,25,25 | |
| 227 | - CONTROL "",IDC_MSCOMM16,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 228 | - WS_TABSTOP,416,342,25,25 | |
| 229 | - CONTROL "",IDC_MSCOMM17,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 230 | - WS_TABSTOP,442,342,25,25 | |
| 231 | - CONTROL "",IDC_MSCOMM18,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 232 | - WS_TABSTOP,468,342,25,25 | |
| 233 | - CONTROL "",IDC_MSCOMM19,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 234 | - WS_TABSTOP,494,342,25,25 | |
| 235 | - CONTROL "",IDC_MSCOMM20,"{648A5600-2C6E-101B-82B6-000000000014}", | |
| 236 | - WS_TABSTOP,520,342,25,25 | |
| 237 | - LISTBOX IDC_DEBUG_MESSAGE,390,0,160,335,LBS_SORT | | |
| 238 | - LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP | |
| 155 | + CONTROL "",IDC_MSCOMM0,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,0,342,25,25 | |
| 156 | + CONTROL "",IDC_MSCOMM1,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,26,342,25,25 | |
| 157 | + CONTROL "",IDC_MSCOMM2,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,52,342,25,25 | |
| 158 | + CONTROL "",IDC_MSCOMM3,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,78,342,25,25 | |
| 159 | + CONTROL "",IDC_MSCOMM4,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,104,342,25,25 | |
| 160 | + CONTROL "",IDC_MSCOMM5,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,130,342,25,25 | |
| 161 | + CONTROL "",IDC_MSCOMM6,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,156,342,25,25 | |
| 162 | + CONTROL "",IDC_MSCOMM7,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,182,342,25,25 | |
| 163 | + CONTROL "",IDC_MSCOMM8,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,208,342,25,25 | |
| 164 | + CONTROL "",IDC_MSCOMM9,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,234,342,25,25 | |
| 165 | + CONTROL "",IDC_MSCOMM10,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,260,342,25,25 | |
| 166 | + CONTROL "",IDC_MSCOMM11,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,286,342,25,25 | |
| 167 | + CONTROL "",IDC_MSCOMM12,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,312,342,25,25 | |
| 168 | + CONTROL "",IDC_MSCOMM13,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,338,342,25,25 | |
| 169 | + CONTROL "",IDC_MSCOMM14,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,364,342,25,25 | |
| 170 | + CONTROL "",IDC_MSCOMM15,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,390,342,25,25 | |
| 171 | + CONTROL "",IDC_MSCOMM16,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,416,342,25,25 | |
| 172 | + CONTROL "",IDC_MSCOMM17,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,442,342,25,25 | |
| 173 | + CONTROL "",IDC_MSCOMM18,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,468,342,25,25 | |
| 174 | + CONTROL "",IDC_MSCOMM19,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,494,342,25,25 | |
| 175 | + CONTROL "",IDC_MSCOMM20,"{648A5600-2C6E-101B-82B6-000000000014}",WS_TABSTOP,520,342,25,25 | |
| 176 | + LISTBOX IDC_DEBUG_MESSAGE,390,0,160,335,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP | |
| 177 | + PUSHBUTTON "设备初始化",IDC_BUTTON_INIT_COMPORT,266,300,50,14 | |
| 239 | 178 | END |
| 240 | 179 | |
| 241 | -IDD_SYSTEM_CONFIG DIALOG DISCARDABLE 0, 0, 289, 235 | |
| 242 | -STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | |
| 180 | +IDD_SYSTEM_CONFIG DIALOGEX 0, 0, 289, 235 | |
| 181 | +STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | |
| 243 | 182 | CAPTION "Dialog" |
| 244 | -FONT 10, "System" | |
| 183 | +FONT 10, "System", 0, 0, 0x0 | |
| 245 | 184 | BEGIN |
| 246 | 185 | GROUPBOX "SN号设置",IDC_STATIC,0,0,120,60 |
| 247 | - CONTROL "固定SN号",IDC_CHECK_SAME_SN,"Button",BS_AUTOCHECKBOX | | |
| 248 | - WS_TABSTOP,5,10,50,10 | |
| 249 | - LTEXT "起始ID",IDC_STATIC,5,21,24,12,SS_CENTERIMAGE | |
| 250 | - LTEXT "结束ID",IDC_STATIC,5,35,24,12,SS_CENTERIMAGE | |
| 251 | - EDITTEXT IDC_EDIT_SN_START,40,21,75,12,ES_AUTOHSCROLL | |
| 252 | - EDITTEXT IDC_EDIT_SN_END,40,35,75,12,ES_AUTOHSCROLL | |
| 186 | + CONTROL "固定SN号",IDC_CHECK_SAME_SN,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,5,10,50,10 | |
| 187 | + LTEXT "起始ID从",IDC_STATIC,5,34,24,12,SS_CENTERIMAGE | |
| 188 | + EDITTEXT IDC_EDIT_SN_START,32,35,32,12,ES_AUTOHSCROLL | |
| 189 | + EDITTEXT IDC_EDIT_SN_END,83,35,32,12,ES_AUTOHSCROLL | |
| 253 | 190 | GROUPBOX "COM口配置",IDC_STATIC,0,65,120,100 |
| 254 | 191 | LTEXT "波特率",IDC_STATIC,5,80,35,8,SS_CENTERIMAGE |
| 255 | 192 | LTEXT "校验位",IDC_STATIC,5,97,35,8,SS_CENTERIMAGE |
| 256 | 193 | LTEXT "数据位",IDC_STATIC,5,114,35,8,SS_CENTERIMAGE |
| 257 | 194 | LTEXT "停止位",IDC_STATIC,5,131,35,8,SS_CENTERIMAGE |
| 258 | 195 | LTEXT "流控制",IDC_STATIC,5,148,35,8,SS_CENTERIMAGE |
| 259 | - COMBOBOX IDC_COMBO_BAND,50,80,65,235,CBS_DROPDOWN | WS_VSCROLL | | |
| 260 | - WS_TABSTOP | |
| 261 | - COMBOBOX IDC_COMBO_CHECK,50,97,65,218,CBS_DROPDOWNLIST | | |
| 262 | - WS_VSCROLL | WS_TABSTOP | |
| 263 | - COMBOBOX IDC_COMBO_DATABIT,50,114,65,211,CBS_DROPDOWNLIST | | |
| 264 | - WS_VSCROLL | WS_TABSTOP | |
| 265 | - COMBOBOX IDC_COMBO_STOPBIT,50,131,65,209,CBS_DROPDOWNLIST | | |
| 266 | - WS_VSCROLL | WS_TABSTOP | |
| 267 | - COMBOBOX IDC_COMBO_STEAM,50,148,65,182,CBS_DROPDOWNLIST | | |
| 268 | - WS_VSCROLL | WS_TABSTOP | |
| 269 | - LTEXT "说明:ID后五位必须是数字",IDC_STATIC,5,50,90,8 | |
| 196 | + COMBOBOX IDC_COMBO_BAND,50,80,65,235,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP | |
| 197 | + COMBOBOX IDC_COMBO_CHECK,50,97,65,218,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 198 | + COMBOBOX IDC_COMBO_DATABIT,50,114,65,211,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 199 | + COMBOBOX IDC_COMBO_STOPBIT,50,131,65,209,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 200 | + COMBOBOX IDC_COMBO_STEAM,50,148,65,182,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 201 | + LTEXT "说明:ID五位必须是数字",IDC_STATIC,5,50,82,8 | |
| 270 | 202 | GROUPBOX "Static",IDC_STATIC,130,0,155,165 |
| 271 | 203 | LTEXT "1: 耳机",IDC_STATIC,135,10,29,12,SS_CENTERIMAGE |
| 272 | - COMBOBOX IDC_COMPORT_EAR01,168,10,35,150,CBS_DROPDOWNLIST | | |
| 273 | - WS_VSCROLL | WS_TABSTOP | |
| 204 | + COMBOBOX IDC_COMPORT_EAR01,168,10,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 274 | 205 | LTEXT "发射器",IDC_STATIC,207,10,17,12,SS_CENTERIMAGE |
| 275 | - COMBOBOX IDC_COMPORT_USB01,232,10,35,150,CBS_DROPDOWNLIST | | |
| 276 | - WS_VSCROLL | WS_TABSTOP | |
| 206 | + COMBOBOX IDC_COMPORT_USB01,232,10,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 277 | 207 | LTEXT "2: 耳机",IDC_STATIC,135,25,29,12,SS_CENTERIMAGE |
| 278 | - COMBOBOX IDC_COMPORT_EAR02,168,25,35,150,CBS_DROPDOWNLIST | | |
| 279 | - WS_VSCROLL | WS_TABSTOP | |
| 208 | + COMBOBOX IDC_COMPORT_EAR02,168,25,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 280 | 209 | LTEXT "发射器",IDC_STATIC,207,25,17,12,SS_CENTERIMAGE |
| 281 | - COMBOBOX IDC_COMPORT_USB02,232,25,35,150,CBS_DROPDOWNLIST | | |
| 282 | - WS_VSCROLL | WS_TABSTOP | |
| 210 | + COMBOBOX IDC_COMPORT_USB02,232,25,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 283 | 211 | LTEXT "3: 耳机",IDC_STATIC,135,40,29,12,SS_CENTERIMAGE |
| 284 | - COMBOBOX IDC_COMPORT_EAR03,168,40,35,150,CBS_DROPDOWNLIST | | |
| 285 | - WS_VSCROLL | WS_TABSTOP | |
| 212 | + COMBOBOX IDC_COMPORT_EAR03,168,40,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 286 | 213 | LTEXT "发射器",IDC_STATIC,207,40,17,12,SS_CENTERIMAGE |
| 287 | - COMBOBOX IDC_COMPORT_USB03,232,40,35,150,CBS_DROPDOWNLIST | | |
| 288 | - WS_VSCROLL | WS_TABSTOP | |
| 214 | + COMBOBOX IDC_COMPORT_USB03,232,40,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 289 | 215 | LTEXT "4: 耳机",IDC_STATIC,135,55,29,12,SS_CENTERIMAGE |
| 290 | - COMBOBOX IDC_COMPORT_EAR04,168,55,35,150,CBS_DROPDOWNLIST | | |
| 291 | - WS_VSCROLL | WS_TABSTOP | |
| 216 | + COMBOBOX IDC_COMPORT_EAR04,168,55,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 292 | 217 | LTEXT "发射器",IDC_STATIC,207,55,17,12,SS_CENTERIMAGE |
| 293 | - COMBOBOX IDC_COMPORT_USB04,232,55,35,150,CBS_DROPDOWNLIST | | |
| 294 | - WS_VSCROLL | WS_TABSTOP | |
| 218 | + COMBOBOX IDC_COMPORT_USB04,232,55,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 295 | 219 | LTEXT "5: 耳机",IDC_STATIC,135,70,29,12,SS_CENTERIMAGE |
| 296 | - COMBOBOX IDC_COMPORT_EAR05,168,70,35,150,CBS_DROPDOWNLIST | | |
| 297 | - WS_VSCROLL | WS_TABSTOP | |
| 220 | + COMBOBOX IDC_COMPORT_EAR05,168,70,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 298 | 221 | LTEXT "发射器",IDC_STATIC,207,70,17,12,SS_CENTERIMAGE |
| 299 | - COMBOBOX IDC_COMPORT_USB05,232,70,35,150,CBS_DROPDOWNLIST | | |
| 300 | - WS_VSCROLL | WS_TABSTOP | |
| 222 | + COMBOBOX IDC_COMPORT_USB05,232,70,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 301 | 223 | LTEXT "6: 耳机",IDC_STATIC,135,85,29,12,SS_CENTERIMAGE |
| 302 | - COMBOBOX IDC_COMPORT_EAR06,168,85,35,150,CBS_DROPDOWNLIST | | |
| 303 | - WS_VSCROLL | WS_TABSTOP | |
| 224 | + COMBOBOX IDC_COMPORT_EAR06,168,85,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 304 | 225 | LTEXT "发射器",IDC_STATIC,207,85,17,12,SS_CENTERIMAGE |
| 305 | - COMBOBOX IDC_COMPORT_USB06,232,85,35,150,CBS_DROPDOWNLIST | | |
| 306 | - WS_VSCROLL | WS_TABSTOP | |
| 226 | + COMBOBOX IDC_COMPORT_USB06,232,85,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 307 | 227 | LTEXT "7: 耳机",IDC_STATIC,135,100,29,12,SS_CENTERIMAGE |
| 308 | - COMBOBOX IDC_COMPORT_EAR07,168,100,35,150,CBS_DROPDOWNLIST | | |
| 309 | - WS_VSCROLL | WS_TABSTOP | |
| 228 | + COMBOBOX IDC_COMPORT_EAR07,168,100,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 310 | 229 | LTEXT "发射器",IDC_STATIC,207,100,17,12,SS_CENTERIMAGE |
| 311 | - COMBOBOX IDC_COMPORT_USB07,232,100,35,150,CBS_DROPDOWNLIST | | |
| 312 | - WS_VSCROLL | WS_TABSTOP | |
| 230 | + COMBOBOX IDC_COMPORT_USB07,232,100,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 313 | 231 | LTEXT "8: 耳机",IDC_STATIC,135,115,29,12,SS_CENTERIMAGE |
| 314 | - COMBOBOX IDC_COMPORT_EAR08,168,115,35,150,CBS_DROPDOWNLIST | | |
| 315 | - WS_VSCROLL | WS_TABSTOP | |
| 232 | + COMBOBOX IDC_COMPORT_EAR08,168,115,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 316 | 233 | LTEXT "发射器",IDC_STATIC,207,115,17,12,SS_CENTERIMAGE |
| 317 | - COMBOBOX IDC_COMPORT_USB08,232,115,35,150,CBS_DROPDOWNLIST | | |
| 318 | - WS_VSCROLL | WS_TABSTOP | |
| 234 | + COMBOBOX IDC_COMPORT_USB08,232,115,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 319 | 235 | LTEXT "9: 耳机",IDC_STATIC,135,130,29,12,SS_CENTERIMAGE |
| 320 | - COMBOBOX IDC_COMPORT_EAR09,168,130,35,150,CBS_DROPDOWNLIST | | |
| 321 | - WS_VSCROLL | WS_TABSTOP | |
| 236 | + COMBOBOX IDC_COMPORT_EAR09,168,130,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 322 | 237 | LTEXT "发射器",IDC_STATIC,207,130,17,12,SS_CENTERIMAGE |
| 323 | - COMBOBOX IDC_COMPORT_USB09,232,130,35,150,CBS_DROPDOWNLIST | | |
| 324 | - WS_VSCROLL | WS_TABSTOP | |
| 238 | + COMBOBOX IDC_COMPORT_USB09,232,130,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 325 | 239 | LTEXT "10: 耳机",IDC_STATIC,135,145,29,12,SS_CENTERIMAGE |
| 326 | - COMBOBOX IDC_COMPORT_EAR10,168,145,35,150,CBS_DROPDOWNLIST | | |
| 327 | - WS_VSCROLL | WS_TABSTOP | |
| 240 | + COMBOBOX IDC_COMPORT_EAR10,168,145,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 328 | 241 | LTEXT "发射器",IDC_STATIC,207,145,17,12,SS_CENTERIMAGE |
| 329 | - COMBOBOX IDC_COMPORT_USB10,232,145,35,150,CBS_DROPDOWNLIST | | |
| 330 | - WS_VSCROLL | WS_TABSTOP | |
| 242 | + COMBOBOX IDC_COMPORT_USB10,232,145,35,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | |
| 331 | 243 | GROUPBOX "软件路径",IDC_STATIC,0,170,250,50 |
| 332 | - EDITTEXT IDC_EDIT_EAR_PATH,5,185,180,14,ES_AUTOHSCROLL | | |
| 333 | - ES_READONLY | |
| 334 | - EDITTEXT IDC_EDIT_USB_PATH,5,204,180,14,ES_AUTOHSCROLL | | |
| 335 | - ES_READONLY | |
| 244 | + EDITTEXT IDC_EDIT_EAR_PATH,5,185,180,14,ES_AUTOHSCROLL | ES_READONLY | |
| 245 | + EDITTEXT IDC_EDIT_USB_PATH,5,204,180,14,ES_AUTOHSCROLL | ES_READONLY | |
| 336 | 246 | PUSHBUTTON "耳机软件",IDC_BUTTON_SECPATH_EAR,192,185,50,14 |
| 337 | 247 | PUSHBUTTON "发射器软件",IDC_BUTTON_SECPATH_USB,192,204,50,14 |
| 338 | 248 | PUSHBUTTON "保存",IDOK,255,185,34,14 |
| 339 | 249 | PUSHBUTTON "取消",IDCANCEL,255,204,34,14 |
| 250 | + LTEXT "到",IDC_STATIC,69,34,9,12,SS_CENTERIMAGE | |
| 251 | + LTEXT "SN号前缀",IDC_STATIC,5,21,34,11,SS_CENTERIMAGE | |
| 252 | + EDITTEXT IDC_EDIT_SN_HEADER,43,21,61,12,ES_AUTOHSCROLL | |
| 340 | 253 | END |
| 341 | 254 | |
| 342 | 255 | |
| 343 | -#ifndef _MAC | |
| 344 | 256 | ///////////////////////////////////////////////////////////////////////////// |
| 345 | 257 | // |
| 346 | 258 | // Version |
| ... | ... | @@ -363,15 +275,13 @@ BEGIN |
| 363 | 275 | BEGIN |
| 364 | 276 | BLOCK "080404B0" |
| 365 | 277 | BEGIN |
| 366 | - VALUE "CompanyName", "\0" | |
| 367 | - VALUE "FileDescription", "BlueFlashTool Microsoft 基础类应用程序\0" | |
| 368 | - VALUE "FileVersion", "1, 0, 0, 1\0" | |
| 369 | - VALUE "InternalName", "BlueFlashTool\0" | |
| 370 | - VALUE "LegalCopyright", "版权所有 (C) 2021\0" | |
| 371 | - VALUE "LegalTrademarks", "\0" | |
| 372 | - VALUE "OriginalFilename", "BlueFlashTool.EXE\0" | |
| 373 | - VALUE "ProductName", "BlueFlashTool 应用程序\0" | |
| 374 | - VALUE "ProductVersion", "1, 0, 0, 1\0" | |
| 278 | + VALUE "FileDescription", "BlueFlashTool Microsoft 基础类应用程序" | |
| 279 | + VALUE "FileVersion", "1, 0, 0, 1" | |
| 280 | + VALUE "InternalName", "BlueFlashTool" | |
| 281 | + VALUE "LegalCopyright", "版权所有 (C) 2021" | |
| 282 | + VALUE "OriginalFilename", "BlueFlashTool.EXE" | |
| 283 | + VALUE "ProductName", "BlueFlashTool 应用程序" | |
| 284 | + VALUE "ProductVersion", "1, 0, 0, 1" | |
| 375 | 285 | END |
| 376 | 286 | END |
| 377 | 287 | BLOCK "VarFileInfo" |
| ... | ... | @@ -380,8 +290,6 @@ BEGIN |
| 380 | 290 | END |
| 381 | 291 | END |
| 382 | 292 | |
| 383 | -#endif // !_MAC | |
| 384 | - | |
| 385 | 293 | |
| 386 | 294 | ///////////////////////////////////////////////////////////////////////////// |
| 387 | 295 | // |
| ... | ... | @@ -389,7 +297,7 @@ END |
| 389 | 297 | // |
| 390 | 298 | |
| 391 | 299 | #ifdef APSTUDIO_INVOKED |
| 392 | -GUIDELINES DESIGNINFO DISCARDABLE | |
| 300 | +GUIDELINES DESIGNINFO | |
| 393 | 301 | BEGIN |
| 394 | 302 | IDD_BLUEFLASHTOOL_DIALOG, DIALOG |
| 395 | 303 | BEGIN | ... | ... |
BlueFlashTool.sln
0 → 100644
| 1 | + | |
| 2 | +Microsoft Visual Studio Solution File, Format Version 10.00 | |
| 3 | +# Visual Studio 2008 | |
| 4 | +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BlueFlashTool", "BlueFlashTool.vcproj", "{38C9243D-4825-4F26-8591-ECD789F681D9}" | |
| 5 | +EndProject | |
| 6 | +Global | |
| 7 | + GlobalSection(SolutionConfigurationPlatforms) = preSolution | |
| 8 | + Debug|Win32 = Debug|Win32 | |
| 9 | + Release|Win32 = Release|Win32 | |
| 10 | + EndGlobalSection | |
| 11 | + GlobalSection(ProjectConfigurationPlatforms) = postSolution | |
| 12 | + {38C9243D-4825-4F26-8591-ECD789F681D9}.Debug|Win32.ActiveCfg = Debug|Win32 | |
| 13 | + {38C9243D-4825-4F26-8591-ECD789F681D9}.Debug|Win32.Build.0 = Debug|Win32 | |
| 14 | + {38C9243D-4825-4F26-8591-ECD789F681D9}.Release|Win32.ActiveCfg = Release|Win32 | |
| 15 | + {38C9243D-4825-4F26-8591-ECD789F681D9}.Release|Win32.Build.0 = Release|Win32 | |
| 16 | + EndGlobalSection | |
| 17 | + GlobalSection(SolutionProperties) = preSolution | |
| 18 | + HideSolutionNode = FALSE | |
| 19 | + EndGlobalSection | |
| 20 | +EndGlobal | ... | ... |
BlueFlashTool.vcproj
0 → 100644
| 1 | +<?xml version="1.0" encoding="gb2312"?> | |
| 2 | +<VisualStudioProject | |
| 3 | + ProjectType="Visual C++" | |
| 4 | + Version="9.00" | |
| 5 | + Name="BlueFlashTool" | |
| 6 | + ProjectGUID="{38C9243D-4825-4F26-8591-ECD789F681D9}" | |
| 7 | + RootNamespace="BlueFlashTool" | |
| 8 | + Keyword="MFCProj" | |
| 9 | + TargetFrameworkVersion="0" | |
| 10 | + > | |
| 11 | + <Platforms> | |
| 12 | + <Platform | |
| 13 | + Name="Win32" | |
| 14 | + /> | |
| 15 | + </Platforms> | |
| 16 | + <ToolFiles> | |
| 17 | + </ToolFiles> | |
| 18 | + <Configurations> | |
| 19 | + <Configuration | |
| 20 | + Name="Release|Win32" | |
| 21 | + OutputDirectory=".\Release" | |
| 22 | + IntermediateDirectory=".\Release" | |
| 23 | + ConfigurationType="1" | |
| 24 | + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" | |
| 25 | + UseOfMFC="2" | |
| 26 | + ATLMinimizesCRunTimeLibraryUsage="false" | |
| 27 | + CharacterSet="2" | |
| 28 | + > | |
| 29 | + <Tool | |
| 30 | + Name="VCPreBuildEventTool" | |
| 31 | + /> | |
| 32 | + <Tool | |
| 33 | + Name="VCCustomBuildTool" | |
| 34 | + /> | |
| 35 | + <Tool | |
| 36 | + Name="VCXMLDataGeneratorTool" | |
| 37 | + /> | |
| 38 | + <Tool | |
| 39 | + Name="VCWebServiceProxyGeneratorTool" | |
| 40 | + /> | |
| 41 | + <Tool | |
| 42 | + Name="VCMIDLTool" | |
| 43 | + PreprocessorDefinitions="NDEBUG" | |
| 44 | + MkTypLibCompatible="true" | |
| 45 | + SuppressStartupBanner="true" | |
| 46 | + TargetEnvironment="1" | |
| 47 | + TypeLibraryName=".\Release/BlueFlashTool.tlb" | |
| 48 | + HeaderFileName="" | |
| 49 | + /> | |
| 50 | + <Tool | |
| 51 | + Name="VCCLCompilerTool" | |
| 52 | + Optimization="2" | |
| 53 | + InlineFunctionExpansion="1" | |
| 54 | + PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS" | |
| 55 | + StringPooling="true" | |
| 56 | + RuntimeLibrary="2" | |
| 57 | + EnableFunctionLevelLinking="true" | |
| 58 | + UsePrecompiledHeader="2" | |
| 59 | + PrecompiledHeaderThrough="stdafx.h" | |
| 60 | + PrecompiledHeaderFile=".\Release/BlueFlashTool.pch" | |
| 61 | + AssemblerListingLocation=".\Release/" | |
| 62 | + ObjectFile=".\Release/" | |
| 63 | + ProgramDataBaseFileName=".\Release/" | |
| 64 | + WarningLevel="3" | |
| 65 | + SuppressStartupBanner="true" | |
| 66 | + /> | |
| 67 | + <Tool | |
| 68 | + Name="VCManagedResourceCompilerTool" | |
| 69 | + /> | |
| 70 | + <Tool | |
| 71 | + Name="VCResourceCompilerTool" | |
| 72 | + PreprocessorDefinitions="NDEBUG" | |
| 73 | + Culture="2052" | |
| 74 | + /> | |
| 75 | + <Tool | |
| 76 | + Name="VCPreLinkEventTool" | |
| 77 | + /> | |
| 78 | + <Tool | |
| 79 | + Name="VCLinkerTool" | |
| 80 | + OutputFile=".\Release/BlueFlashTool.exe" | |
| 81 | + LinkIncremental="1" | |
| 82 | + SuppressStartupBanner="true" | |
| 83 | + ProgramDatabaseFile=".\Release/BlueFlashTool.pdb" | |
| 84 | + SubSystem="2" | |
| 85 | + RandomizedBaseAddress="1" | |
| 86 | + DataExecutionPrevention="0" | |
| 87 | + TargetMachine="1" | |
| 88 | + /> | |
| 89 | + <Tool | |
| 90 | + Name="VCALinkTool" | |
| 91 | + /> | |
| 92 | + <Tool | |
| 93 | + Name="VCManifestTool" | |
| 94 | + /> | |
| 95 | + <Tool | |
| 96 | + Name="VCXDCMakeTool" | |
| 97 | + /> | |
| 98 | + <Tool | |
| 99 | + Name="VCBscMakeTool" | |
| 100 | + SuppressStartupBanner="true" | |
| 101 | + OutputFile=".\Release/BlueFlashTool.bsc" | |
| 102 | + /> | |
| 103 | + <Tool | |
| 104 | + Name="VCFxCopTool" | |
| 105 | + /> | |
| 106 | + <Tool | |
| 107 | + Name="VCAppVerifierTool" | |
| 108 | + /> | |
| 109 | + <Tool | |
| 110 | + Name="VCPostBuildEventTool" | |
| 111 | + /> | |
| 112 | + </Configuration> | |
| 113 | + <Configuration | |
| 114 | + Name="Debug|Win32" | |
| 115 | + OutputDirectory=".\Debug" | |
| 116 | + IntermediateDirectory=".\Debug" | |
| 117 | + ConfigurationType="1" | |
| 118 | + InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops" | |
| 119 | + UseOfMFC="2" | |
| 120 | + ATLMinimizesCRunTimeLibraryUsage="false" | |
| 121 | + CharacterSet="2" | |
| 122 | + > | |
| 123 | + <Tool | |
| 124 | + Name="VCPreBuildEventTool" | |
| 125 | + /> | |
| 126 | + <Tool | |
| 127 | + Name="VCCustomBuildTool" | |
| 128 | + /> | |
| 129 | + <Tool | |
| 130 | + Name="VCXMLDataGeneratorTool" | |
| 131 | + /> | |
| 132 | + <Tool | |
| 133 | + Name="VCWebServiceProxyGeneratorTool" | |
| 134 | + /> | |
| 135 | + <Tool | |
| 136 | + Name="VCMIDLTool" | |
| 137 | + PreprocessorDefinitions="_DEBUG" | |
| 138 | + MkTypLibCompatible="true" | |
| 139 | + SuppressStartupBanner="true" | |
| 140 | + TargetEnvironment="1" | |
| 141 | + TypeLibraryName=".\Debug/BlueFlashTool.tlb" | |
| 142 | + HeaderFileName="" | |
| 143 | + /> | |
| 144 | + <Tool | |
| 145 | + Name="VCCLCompilerTool" | |
| 146 | + Optimization="0" | |
| 147 | + PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS" | |
| 148 | + MinimalRebuild="true" | |
| 149 | + BasicRuntimeChecks="3" | |
| 150 | + RuntimeLibrary="3" | |
| 151 | + UsePrecompiledHeader="2" | |
| 152 | + PrecompiledHeaderThrough="stdafx.h" | |
| 153 | + PrecompiledHeaderFile=".\Debug/BlueFlashTool.pch" | |
| 154 | + AssemblerListingLocation=".\Debug/" | |
| 155 | + ObjectFile=".\Debug/" | |
| 156 | + ProgramDataBaseFileName=".\Debug/" | |
| 157 | + BrowseInformation="1" | |
| 158 | + WarningLevel="3" | |
| 159 | + SuppressStartupBanner="true" | |
| 160 | + DebugInformationFormat="4" | |
| 161 | + /> | |
| 162 | + <Tool | |
| 163 | + Name="VCManagedResourceCompilerTool" | |
| 164 | + /> | |
| 165 | + <Tool | |
| 166 | + Name="VCResourceCompilerTool" | |
| 167 | + PreprocessorDefinitions="_DEBUG" | |
| 168 | + Culture="2052" | |
| 169 | + /> | |
| 170 | + <Tool | |
| 171 | + Name="VCPreLinkEventTool" | |
| 172 | + /> | |
| 173 | + <Tool | |
| 174 | + Name="VCLinkerTool" | |
| 175 | + OutputFile=".\Debug/BlueFlashTool.exe" | |
| 176 | + LinkIncremental="2" | |
| 177 | + SuppressStartupBanner="true" | |
| 178 | + GenerateDebugInformation="true" | |
| 179 | + ProgramDatabaseFile=".\Debug/BlueFlashTool.pdb" | |
| 180 | + SubSystem="2" | |
| 181 | + RandomizedBaseAddress="1" | |
| 182 | + DataExecutionPrevention="0" | |
| 183 | + TargetMachine="1" | |
| 184 | + /> | |
| 185 | + <Tool | |
| 186 | + Name="VCALinkTool" | |
| 187 | + /> | |
| 188 | + <Tool | |
| 189 | + Name="VCManifestTool" | |
| 190 | + /> | |
| 191 | + <Tool | |
| 192 | + Name="VCXDCMakeTool" | |
| 193 | + /> | |
| 194 | + <Tool | |
| 195 | + Name="VCBscMakeTool" | |
| 196 | + SuppressStartupBanner="true" | |
| 197 | + OutputFile=".\Debug/BlueFlashTool.bsc" | |
| 198 | + /> | |
| 199 | + <Tool | |
| 200 | + Name="VCFxCopTool" | |
| 201 | + /> | |
| 202 | + <Tool | |
| 203 | + Name="VCAppVerifierTool" | |
| 204 | + /> | |
| 205 | + <Tool | |
| 206 | + Name="VCPostBuildEventTool" | |
| 207 | + /> | |
| 208 | + </Configuration> | |
| 209 | + </Configurations> | |
| 210 | + <References> | |
| 211 | + </References> | |
| 212 | + <Files> | |
| 213 | + <Filter | |
| 214 | + Name="Source Files" | |
| 215 | + Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" | |
| 216 | + > | |
| 217 | + <File | |
| 218 | + RelativePath="BlueFlashTool.cpp" | |
| 219 | + > | |
| 220 | + <FileConfiguration | |
| 221 | + Name="Release|Win32" | |
| 222 | + > | |
| 223 | + <Tool | |
| 224 | + Name="VCCLCompilerTool" | |
| 225 | + PreprocessorDefinitions="" | |
| 226 | + /> | |
| 227 | + </FileConfiguration> | |
| 228 | + <FileConfiguration | |
| 229 | + Name="Debug|Win32" | |
| 230 | + > | |
| 231 | + <Tool | |
| 232 | + Name="VCCLCompilerTool" | |
| 233 | + PreprocessorDefinitions="" | |
| 234 | + /> | |
| 235 | + </FileConfiguration> | |
| 236 | + </File> | |
| 237 | + <File | |
| 238 | + RelativePath="BlueFlashTool.rc" | |
| 239 | + > | |
| 240 | + <FileConfiguration | |
| 241 | + Name="Release|Win32" | |
| 242 | + > | |
| 243 | + <Tool | |
| 244 | + Name="VCResourceCompilerTool" | |
| 245 | + PreprocessorDefinitions="" | |
| 246 | + /> | |
| 247 | + </FileConfiguration> | |
| 248 | + <FileConfiguration | |
| 249 | + Name="Debug|Win32" | |
| 250 | + > | |
| 251 | + <Tool | |
| 252 | + Name="VCResourceCompilerTool" | |
| 253 | + PreprocessorDefinitions="" | |
| 254 | + /> | |
| 255 | + </FileConfiguration> | |
| 256 | + </File> | |
| 257 | + <File | |
| 258 | + RelativePath="BlueFlashToolDlg.cpp" | |
| 259 | + > | |
| 260 | + <FileConfiguration | |
| 261 | + Name="Release|Win32" | |
| 262 | + > | |
| 263 | + <Tool | |
| 264 | + Name="VCCLCompilerTool" | |
| 265 | + PreprocessorDefinitions="" | |
| 266 | + /> | |
| 267 | + </FileConfiguration> | |
| 268 | + <FileConfiguration | |
| 269 | + Name="Debug|Win32" | |
| 270 | + > | |
| 271 | + <Tool | |
| 272 | + Name="VCCLCompilerTool" | |
| 273 | + PreprocessorDefinitions="" | |
| 274 | + /> | |
| 275 | + </FileConfiguration> | |
| 276 | + </File> | |
| 277 | + <File | |
| 278 | + RelativePath=".\IniFile.cpp" | |
| 279 | + > | |
| 280 | + </File> | |
| 281 | + <File | |
| 282 | + RelativePath="mscomm.cpp" | |
| 283 | + > | |
| 284 | + <FileConfiguration | |
| 285 | + Name="Release|Win32" | |
| 286 | + > | |
| 287 | + <Tool | |
| 288 | + Name="VCCLCompilerTool" | |
| 289 | + PreprocessorDefinitions="" | |
| 290 | + /> | |
| 291 | + </FileConfiguration> | |
| 292 | + <FileConfiguration | |
| 293 | + Name="Debug|Win32" | |
| 294 | + > | |
| 295 | + <Tool | |
| 296 | + Name="VCCLCompilerTool" | |
| 297 | + PreprocessorDefinitions="" | |
| 298 | + /> | |
| 299 | + </FileConfiguration> | |
| 300 | + </File> | |
| 301 | + <File | |
| 302 | + RelativePath="StdAfx.cpp" | |
| 303 | + > | |
| 304 | + <FileConfiguration | |
| 305 | + Name="Release|Win32" | |
| 306 | + > | |
| 307 | + <Tool | |
| 308 | + Name="VCCLCompilerTool" | |
| 309 | + PreprocessorDefinitions="" | |
| 310 | + UsePrecompiledHeader="1" | |
| 311 | + /> | |
| 312 | + </FileConfiguration> | |
| 313 | + <FileConfiguration | |
| 314 | + Name="Debug|Win32" | |
| 315 | + > | |
| 316 | + <Tool | |
| 317 | + Name="VCCLCompilerTool" | |
| 318 | + PreprocessorDefinitions="" | |
| 319 | + UsePrecompiledHeader="1" | |
| 320 | + /> | |
| 321 | + </FileConfiguration> | |
| 322 | + </File> | |
| 323 | + <File | |
| 324 | + RelativePath="SysConfig.cpp" | |
| 325 | + > | |
| 326 | + <FileConfiguration | |
| 327 | + Name="Release|Win32" | |
| 328 | + > | |
| 329 | + <Tool | |
| 330 | + Name="VCCLCompilerTool" | |
| 331 | + PreprocessorDefinitions="" | |
| 332 | + /> | |
| 333 | + </FileConfiguration> | |
| 334 | + <FileConfiguration | |
| 335 | + Name="Debug|Win32" | |
| 336 | + > | |
| 337 | + <Tool | |
| 338 | + Name="VCCLCompilerTool" | |
| 339 | + PreprocessorDefinitions="" | |
| 340 | + /> | |
| 341 | + </FileConfiguration> | |
| 342 | + </File> | |
| 343 | + </Filter> | |
| 344 | + <Filter | |
| 345 | + Name="Header Files" | |
| 346 | + Filter="h;hpp;hxx;hm;inl" | |
| 347 | + > | |
| 348 | + <File | |
| 349 | + RelativePath="BlueFlashTool.h" | |
| 350 | + > | |
| 351 | + </File> | |
| 352 | + <File | |
| 353 | + RelativePath="BlueFlashToolDlg.h" | |
| 354 | + > | |
| 355 | + </File> | |
| 356 | + <File | |
| 357 | + RelativePath=".\IniFile.h" | |
| 358 | + > | |
| 359 | + </File> | |
| 360 | + <File | |
| 361 | + RelativePath="mscomm.h" | |
| 362 | + > | |
| 363 | + </File> | |
| 364 | + <File | |
| 365 | + RelativePath="Resource.h" | |
| 366 | + > | |
| 367 | + </File> | |
| 368 | + <File | |
| 369 | + RelativePath="StdAfx.h" | |
| 370 | + > | |
| 371 | + </File> | |
| 372 | + <File | |
| 373 | + RelativePath="SysConfig.h" | |
| 374 | + > | |
| 375 | + </File> | |
| 376 | + </Filter> | |
| 377 | + <Filter | |
| 378 | + Name="Resource Files" | |
| 379 | + Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" | |
| 380 | + > | |
| 381 | + <File | |
| 382 | + RelativePath="res\BlueFlashTool.ico" | |
| 383 | + > | |
| 384 | + </File> | |
| 385 | + <File | |
| 386 | + RelativePath="res\BlueFlashTool.rc2" | |
| 387 | + > | |
| 388 | + </File> | |
| 389 | + </Filter> | |
| 390 | + <File | |
| 391 | + RelativePath="ReadMe.txt" | |
| 392 | + > | |
| 393 | + </File> | |
| 394 | + </Files> | |
| 395 | + <Globals> | |
| 396 | + <Global | |
| 397 | + Name="RESOURCE_FILE" | |
| 398 | + Value="BlueFlashTool.rc" | |
| 399 | + /> | |
| 400 | + </Globals> | |
| 401 | +</VisualStudioProject> | ... | ... |
| ... | ... | @@ -29,7 +29,28 @@ void CBlueFlashToolDlg::DoDataExchange(CDataExchange* pDX) |
| 29 | 29 | { |
| 30 | 30 | CDialog::DoDataExchange(pDX); |
| 31 | 31 | //{{AFX_DATA_MAP(CBlueFlashToolDlg) |
| 32 | - DDX_Control(pDX, IDC_MSCOMM0, mycom); | |
| 32 | + DDX_Control(pDX, IDC_MSCOMM0, mycom_debug); | |
| 33 | + DDX_Control(pDX, IDC_MSCOMM1, mycom01); | |
| 34 | + DDX_Control(pDX, IDC_MSCOMM2, mycom02); | |
| 35 | + DDX_Control(pDX, IDC_MSCOMM3, mycom03); | |
| 36 | + DDX_Control(pDX, IDC_MSCOMM4, mycom04); | |
| 37 | + DDX_Control(pDX, IDC_MSCOMM5, mycom05); | |
| 38 | + DDX_Control(pDX, IDC_MSCOMM6, mycom06); | |
| 39 | + DDX_Control(pDX, IDC_MSCOMM7, mycom07); | |
| 40 | + DDX_Control(pDX, IDC_MSCOMM8, mycom08); | |
| 41 | + DDX_Control(pDX, IDC_MSCOMM9, mycom09); | |
| 42 | + DDX_Control(pDX, IDC_MSCOMM10, mycom10); | |
| 43 | + DDX_Control(pDX, IDC_MSCOMM11, mycom11); | |
| 44 | + DDX_Control(pDX, IDC_MSCOMM12, mycom12); | |
| 45 | + DDX_Control(pDX, IDC_MSCOMM13, mycom13); | |
| 46 | + DDX_Control(pDX, IDC_MSCOMM14, mycom14); | |
| 47 | + DDX_Control(pDX, IDC_MSCOMM15, mycom15); | |
| 48 | + DDX_Control(pDX, IDC_MSCOMM16, mycom16); | |
| 49 | + DDX_Control(pDX, IDC_MSCOMM17, mycom17); | |
| 50 | + DDX_Control(pDX, IDC_MSCOMM18, mycom18); | |
| 51 | + DDX_Control(pDX, IDC_MSCOMM19, mycom19); | |
| 52 | + DDX_Control(pDX, IDC_MSCOMM20, mycom20); | |
| 53 | + | |
| 33 | 54 | //}}AFX_DATA_MAP |
| 34 | 55 | } |
| 35 | 56 | |
| ... | ... | @@ -39,6 +60,27 @@ BEGIN_MESSAGE_MAP(CBlueFlashToolDlg, CDialog) |
| 39 | 60 | ON_WM_QUERYDRAGICON() |
| 40 | 61 | ON_BN_CLICKED(IDC_BUTTON_SETTING, OnButtonSetting) |
| 41 | 62 | //}}AFX_MSG_MAP |
| 63 | + ON_BN_CLICKED(IDC_BUTTON_INIT_COMPORT, &CBlueFlashToolDlg::OnBnClickedButtonInitComport) | |
| 64 | + ON_BN_CLICKED(IDC_CHECK_EAR1, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 65 | + ON_BN_CLICKED(IDC_CHECK_EAR2, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 66 | + ON_BN_CLICKED(IDC_CHECK_EAR3, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 67 | + ON_BN_CLICKED(IDC_CHECK_EAR4, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 68 | + ON_BN_CLICKED(IDC_CHECK_EAR5, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 69 | + ON_BN_CLICKED(IDC_CHECK_EAR6, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 70 | + ON_BN_CLICKED(IDC_CHECK_EAR7, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 71 | + ON_BN_CLICKED(IDC_CHECK_EAR8, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 72 | + ON_BN_CLICKED(IDC_CHECK_EAR9, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 73 | + ON_BN_CLICKED(IDC_CHECK_EAR10, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 74 | + ON_BN_CLICKED(IDC_CHECK_USB1, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 75 | + ON_BN_CLICKED(IDC_CHECK_USB2, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 76 | + ON_BN_CLICKED(IDC_CHECK_USB3, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 77 | + ON_BN_CLICKED(IDC_CHECK_USB4, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 78 | + ON_BN_CLICKED(IDC_CHECK_USB5, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 79 | + ON_BN_CLICKED(IDC_CHECK_USB6, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 80 | + ON_BN_CLICKED(IDC_CHECK_USB7, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 81 | + ON_BN_CLICKED(IDC_CHECK_USB8, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 82 | + ON_BN_CLICKED(IDC_CHECK_USB9, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 83 | + ON_BN_CLICKED(IDC_CHECK_USB10, &CBlueFlashToolDlg::OnBnClickedCheckEarUsb) | |
| 42 | 84 | END_MESSAGE_MAP() |
| 43 | 85 | |
| 44 | 86 | ///////////////////////////////////////////////////////////////////////////// |
| ... | ... | @@ -54,6 +96,57 @@ BOOL CBlueFlashToolDlg::OnInitDialog() |
| 54 | 96 | SetIcon(m_hIcon, FALSE); // Set small icon |
| 55 | 97 | |
| 56 | 98 | // TODO: Add extra initialization here |
| 99 | + pcheckButtonEar[0] = (CButton *)GetDlgItem(IDC_CHECK_EAR1); | |
| 100 | + pcheckButtonEar[1] = (CButton *)GetDlgItem(IDC_CHECK_EAR2); | |
| 101 | + pcheckButtonEar[2] = (CButton *)GetDlgItem(IDC_CHECK_EAR3); | |
| 102 | + pcheckButtonEar[3] = (CButton *)GetDlgItem(IDC_CHECK_EAR4); | |
| 103 | + pcheckButtonEar[4] = (CButton *)GetDlgItem(IDC_CHECK_EAR5); | |
| 104 | + pcheckButtonEar[5] = (CButton *)GetDlgItem(IDC_CHECK_EAR6); | |
| 105 | + pcheckButtonEar[6] = (CButton *)GetDlgItem(IDC_CHECK_EAR7); | |
| 106 | + pcheckButtonEar[7] = (CButton *)GetDlgItem(IDC_CHECK_EAR8); | |
| 107 | + pcheckButtonEar[8] = (CButton *)GetDlgItem(IDC_CHECK_EAR9); | |
| 108 | + pcheckButtonEar[9] = (CButton *)GetDlgItem(IDC_CHECK_EAR10); | |
| 109 | + pcheckButtonUsb[0] = (CButton *)GetDlgItem(IDC_CHECK_USB1); | |
| 110 | + pcheckButtonUsb[1] = (CButton *)GetDlgItem(IDC_CHECK_USB2); | |
| 111 | + pcheckButtonUsb[2] = (CButton *)GetDlgItem(IDC_CHECK_USB3); | |
| 112 | + pcheckButtonUsb[3] = (CButton *)GetDlgItem(IDC_CHECK_USB4); | |
| 113 | + pcheckButtonUsb[4] = (CButton *)GetDlgItem(IDC_CHECK_USB5); | |
| 114 | + pcheckButtonUsb[5] = (CButton *)GetDlgItem(IDC_CHECK_USB6); | |
| 115 | + pcheckButtonUsb[6] = (CButton *)GetDlgItem(IDC_CHECK_USB7); | |
| 116 | + pcheckButtonUsb[7] = (CButton *)GetDlgItem(IDC_CHECK_USB8); | |
| 117 | + pcheckButtonUsb[8] = (CButton *)GetDlgItem(IDC_CHECK_USB9); | |
| 118 | + pcheckButtonUsb[9] = (CButton *)GetDlgItem(IDC_CHECK_USB10); | |
| 119 | + pButtonEar[0] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR01); | |
| 120 | + pButtonEar[1] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR2); | |
| 121 | + pButtonEar[2] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR3); | |
| 122 | + pButtonEar[3] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR4); | |
| 123 | + pButtonEar[4] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR5); | |
| 124 | + pButtonEar[5] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR6); | |
| 125 | + pButtonEar[6] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR7); | |
| 126 | + pButtonEar[7] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR8); | |
| 127 | + pButtonEar[8] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR9); | |
| 128 | + pButtonEar[9] = (CButton *)GetDlgItem(IDC_BUTTON_START_EAR10); | |
| 129 | + pButtonUsb[0] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB01); | |
| 130 | + pButtonUsb[1] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB2); | |
| 131 | + pButtonUsb[2] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB3); | |
| 132 | + pButtonUsb[3] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB4); | |
| 133 | + pButtonUsb[4] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB5); | |
| 134 | + pButtonUsb[5] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB6); | |
| 135 | + pButtonUsb[6] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB7); | |
| 136 | + pButtonUsb[7] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB8); | |
| 137 | + pButtonUsb[8] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB9); | |
| 138 | + pButtonUsb[9] = (CButton *)GetDlgItem(IDC_BUTTON_START_USB10); | |
| 139 | + pStatic[0] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP01); | |
| 140 | + pStatic[1] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP2); | |
| 141 | + pStatic[2] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP3); | |
| 142 | + pStatic[3] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP4); | |
| 143 | + pStatic[4] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP5); | |
| 144 | + pStatic[5] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP6); | |
| 145 | + pStatic[6] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP7); | |
| 146 | + pStatic[7] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP8); | |
| 147 | + pStatic[8] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP9); | |
| 148 | + pStatic[9] = (CStatic *)GetDlgItem(IDC_STATIC_GROUP10); | |
| 149 | + | |
| 57 | 150 | UpdateGroupsCaptions(); |
| 58 | 151 | |
| 59 | 152 | return TRUE; // return TRUE unless you set the focus to a control |
| ... | ... | @@ -106,23 +199,144 @@ void CBlueFlashToolDlg::OnButtonSetting() |
| 106 | 199 | void CBlueFlashToolDlg::UpdateGroupsCaptions() |
| 107 | 200 | { |
| 108 | 201 | CString strCaptionStatics; |
| 202 | + int loop = 0; | |
| 203 | + bool group_idle; | |
| 204 | + | |
| 109 | 205 | strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur); |
| 110 | 206 | GetDlgItem(IDC_STATIC_GROUP01)->SetWindowText(strCaptionStatics); |
| 111 | - GetDlgItem(IDC_STATIC_GROUP6)->SetWindowText(strCaptionStatics); | |
| 112 | - | |
| 113 | 207 | strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+1); |
| 114 | 208 | GetDlgItem(IDC_STATIC_GROUP2)->SetWindowText(strCaptionStatics); |
| 115 | - GetDlgItem(IDC_STATIC_GROUP7)->SetWindowText(strCaptionStatics); | |
| 116 | - | |
| 117 | 209 | strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+2); |
| 118 | 210 | GetDlgItem(IDC_STATIC_GROUP3)->SetWindowText(strCaptionStatics); |
| 119 | - GetDlgItem(IDC_STATIC_GROUP8)->SetWindowText(strCaptionStatics); | |
| 120 | - | |
| 121 | 211 | strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+3); |
| 122 | 212 | GetDlgItem(IDC_STATIC_GROUP4)->SetWindowText(strCaptionStatics); |
| 123 | - GetDlgItem(IDC_STATIC_GROUP9)->SetWindowText(strCaptionStatics); | |
| 124 | - | |
| 125 | 213 | strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+4); |
| 126 | 214 | GetDlgItem(IDC_STATIC_GROUP5)->SetWindowText(strCaptionStatics); |
| 215 | + strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+5); | |
| 216 | + GetDlgItem(IDC_STATIC_GROUP6)->SetWindowText(strCaptionStatics); | |
| 217 | + strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+6); | |
| 218 | + GetDlgItem(IDC_STATIC_GROUP7)->SetWindowText(strCaptionStatics); | |
| 219 | + strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+7); | |
| 220 | + GetDlgItem(IDC_STATIC_GROUP8)->SetWindowText(strCaptionStatics); | |
| 221 | + strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+8); | |
| 222 | + GetDlgItem(IDC_STATIC_GROUP9)->SetWindowText(strCaptionStatics); | |
| 223 | + strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+9); | |
| 127 | 224 | GetDlgItem(IDC_STATIC_GROUP10)->SetWindowText(strCaptionStatics); |
| 225 | + for (loop=0;loop<10;loop++) | |
| 226 | + { | |
| 227 | + pcheckButtonEar[loop]->EnableWindow(g_AppMainData.ary_myComPortEar[loop]>1?TRUE:FALSE); | |
| 228 | + pcheckButtonUsb[loop]->EnableWindow(g_AppMainData.ary_myComPortUsb[loop]>1?TRUE:FALSE); | |
| 229 | + if (g_AppMainData.ary_myComPortEar[loop]<2 && g_AppMainData.ary_myComPortUsb[loop]<2) | |
| 230 | + { | |
| 231 | + pStatic[loop]->EnableWindow(FALSE); | |
| 232 | + benableGroup[loop] = false; | |
| 233 | + } | |
| 234 | + else | |
| 235 | + pStatic[loop]->EnableWindow(TRUE); | |
| 236 | + | |
| 237 | + pButtonEar[loop]->EnableWindow(pcheckButtonEar[loop]->GetCheck()); | |
| 238 | + pButtonUsb[loop]->EnableWindow(pcheckButtonUsb[loop]->GetCheck()); | |
| 239 | + | |
| 240 | + if (pcheckButtonEar[loop]->GetCheck() || pcheckButtonUsb[loop]->GetCheck()) | |
| 241 | + benableGroup[loop] = true; | |
| 242 | + else | |
| 243 | + benableGroup[loop] = false; | |
| 244 | + } | |
| 245 | +} | |
| 246 | +BEGIN_EVENTSINK_MAP(CBlueFlashToolDlg, CDialog) | |
| 247 | + ON_EVENT(CBlueFlashToolDlg, IDC_MSCOMM0, 1, CBlueFlashToolDlg::OnCommMscommDebug, VTS_NONE) | |
| 248 | + ON_EVENT_RANGE(CBlueFlashToolDlg, IDC_MSCOMM1,IDC_MSCOMM20, 1 , CBlueFlashToolDlg::OnOnCommMscomm1, VTS_I4 ) | |
| 249 | +END_EVENTSINK_MAP() | |
| 250 | + | |
| 251 | + | |
| 252 | +void CBlueFlashToolDlg::OnCommMscommDebug() | |
| 253 | +{ | |
| 254 | + // TODO: Add your message handler code here | |
| 255 | +} | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | +void CBlueFlashToolDlg::OnOnCommMscomm1(UINT nID) | |
| 260 | +{ | |
| 261 | + // TODO: Add your message handler code here | |
| 262 | +} | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | +void CBlueFlashToolDlg::OnBnClickedButtonInitComport() | |
| 267 | +{ | |
| 268 | + | |
| 269 | +} | |
| 270 | + | |
| 271 | +void CBlueFlashToolDlg::OnBnClickedCheckEarUsb() | |
| 272 | +{ | |
| 273 | + int currentID; | |
| 274 | + currentID = GetFocus()->GetDlgCtrlID(); | |
| 275 | + CButton *pbutton = (CButton *)GetDlgItem(currentID); | |
| 276 | + BOOL ifchecked = pbutton->GetCheck(); | |
| 277 | + switch(currentID) | |
| 278 | + { | |
| 279 | + case IDC_CHECK_EAR1: | |
| 280 | + GetDlgItem(IDC_BUTTON_START_EAR01)->EnableWindow(ifchecked); | |
| 281 | + break; | |
| 282 | + case IDC_CHECK_EAR2: | |
| 283 | + GetDlgItem(IDC_BUTTON_START_EAR2)->EnableWindow(ifchecked); | |
| 284 | + break; | |
| 285 | + case IDC_CHECK_EAR3: | |
| 286 | + GetDlgItem(IDC_BUTTON_START_EAR3)->EnableWindow(ifchecked); | |
| 287 | + break; | |
| 288 | + case IDC_CHECK_EAR4: | |
| 289 | + GetDlgItem(IDC_BUTTON_START_EAR4)->EnableWindow(ifchecked); | |
| 290 | + break; | |
| 291 | + case IDC_CHECK_EAR5: | |
| 292 | + GetDlgItem(IDC_BUTTON_START_EAR5)->EnableWindow(ifchecked); | |
| 293 | + break; | |
| 294 | + case IDC_CHECK_EAR6: | |
| 295 | + GetDlgItem(IDC_BUTTON_START_EAR6)->EnableWindow(ifchecked); | |
| 296 | + break; | |
| 297 | + case IDC_CHECK_EAR7: | |
| 298 | + GetDlgItem(IDC_BUTTON_START_EAR7)->EnableWindow(ifchecked); | |
| 299 | + break; | |
| 300 | + case IDC_CHECK_EAR8: | |
| 301 | + GetDlgItem(IDC_BUTTON_START_EAR8)->EnableWindow(ifchecked); | |
| 302 | + break; | |
| 303 | + case IDC_CHECK_EAR9: | |
| 304 | + GetDlgItem(IDC_BUTTON_START_EAR9)->EnableWindow(ifchecked); | |
| 305 | + break; | |
| 306 | + case IDC_CHECK_EAR10: | |
| 307 | + GetDlgItem(IDC_BUTTON_START_EAR10)->EnableWindow(ifchecked); | |
| 308 | + break; | |
| 309 | + case IDC_CHECK_USB1: | |
| 310 | + GetDlgItem(IDC_BUTTON_START_USB01)->EnableWindow(ifchecked); | |
| 311 | + break; | |
| 312 | + case IDC_CHECK_USB2: | |
| 313 | + GetDlgItem(IDC_BUTTON_START_USB2)->EnableWindow(ifchecked); | |
| 314 | + break; | |
| 315 | + case IDC_CHECK_USB3: | |
| 316 | + GetDlgItem(IDC_BUTTON_START_USB3)->EnableWindow(ifchecked); | |
| 317 | + break; | |
| 318 | + case IDC_CHECK_USB4: | |
| 319 | + GetDlgItem(IDC_BUTTON_START_USB4)->EnableWindow(ifchecked); | |
| 320 | + break; | |
| 321 | + case IDC_CHECK_USB5: | |
| 322 | + GetDlgItem(IDC_BUTTON_START_USB5)->EnableWindow(ifchecked); | |
| 323 | + break; | |
| 324 | + case IDC_CHECK_USB6: | |
| 325 | + GetDlgItem(IDC_BUTTON_START_USB6)->EnableWindow(ifchecked); | |
| 326 | + break; | |
| 327 | + case IDC_CHECK_USB7: | |
| 328 | + GetDlgItem(IDC_BUTTON_START_USB7)->EnableWindow(ifchecked); | |
| 329 | + break; | |
| 330 | + case IDC_CHECK_USB8: | |
| 331 | + GetDlgItem(IDC_BUTTON_START_USB8)->EnableWindow(ifchecked); | |
| 332 | + break; | |
| 333 | + case IDC_CHECK_USB9: | |
| 334 | + GetDlgItem(IDC_BUTTON_START_USB9)->EnableWindow(ifchecked); | |
| 335 | + break; | |
| 336 | + case IDC_CHECK_USB10: | |
| 337 | + GetDlgItem(IDC_BUTTON_START_USB10)->EnableWindow(ifchecked); | |
| 338 | + break; | |
| 339 | + | |
| 340 | + } | |
| 341 | + | |
| 128 | 342 | } | ... | ... |
| ... | ... | @@ -2,6 +2,7 @@ |
| 2 | 2 | // |
| 3 | 3 | //{{AFX_INCLUDES() |
| 4 | 4 | #include "mscomm.h" |
| 5 | +#include "afxwin.h" | |
| 5 | 6 | //}}AFX_INCLUDES |
| 6 | 7 | |
| 7 | 8 | #if !defined(AFX_BLUEFLASHTOOLDLG_H__DE44DC07_CA43_417C_A12F_149A2C736BB5__INCLUDED_) |
| ... | ... | @@ -24,7 +25,27 @@ public: |
| 24 | 25 | // Dialog Data |
| 25 | 26 | //{{AFX_DATA(CBlueFlashToolDlg) |
| 26 | 27 | enum { IDD = IDD_BLUEFLASHTOOL_DIALOG }; |
| 27 | - CMSComm mycom; | |
| 28 | + CMSComm mycom_debug; | |
| 29 | + CMSComm mycom01; | |
| 30 | + CMSComm mycom02; | |
| 31 | + CMSComm mycom03; | |
| 32 | + CMSComm mycom04; | |
| 33 | + CMSComm mycom05; | |
| 34 | + CMSComm mycom06; | |
| 35 | + CMSComm mycom07; | |
| 36 | + CMSComm mycom08; | |
| 37 | + CMSComm mycom09; | |
| 38 | + CMSComm mycom10; | |
| 39 | + CMSComm mycom11; | |
| 40 | + CMSComm mycom12; | |
| 41 | + CMSComm mycom13; | |
| 42 | + CMSComm mycom14; | |
| 43 | + CMSComm mycom15; | |
| 44 | + CMSComm mycom16; | |
| 45 | + CMSComm mycom17; | |
| 46 | + CMSComm mycom18; | |
| 47 | + CMSComm mycom19; | |
| 48 | + CMSComm mycom20; | |
| 28 | 49 | //}}AFX_DATA |
| 29 | 50 | |
| 30 | 51 | // ClassWizard generated virtual function overrides |
| ... | ... | @@ -45,6 +66,19 @@ protected: |
| 45 | 66 | afx_msg void OnButtonSetting(); |
| 46 | 67 | //}}AFX_MSG |
| 47 | 68 | DECLARE_MESSAGE_MAP() |
| 69 | +public: | |
| 70 | + DECLARE_EVENTSINK_MAP() | |
| 71 | + void OnCommMscommDebug(); | |
| 72 | + afx_msg void OnOnCommMscomm1(UINT nID); | |
| 73 | + afx_msg void OnBnClickedButtonInitComport(); | |
| 74 | + afx_msg void OnBnClickedCheckEarUsb(); | |
| 75 | + CButton *pcheckButtonEar[10]; | |
| 76 | + CButton *pcheckButtonUsb[10]; | |
| 77 | + CButton *pButtonEar[10]; | |
| 78 | + CButton *pButtonUsb[10]; | |
| 79 | + CStatic *pStatic[10]; | |
| 80 | + bool benableGroup[10]; | |
| 81 | + | |
| 48 | 82 | }; |
| 49 | 83 | |
| 50 | 84 | //{{AFX_INSERT_LOCATION}} | ... | ... |
Debug/Global
0 → 100644
| 1 | +[SN_Config] | |
| 2 | +SN_same=1 | |
| 3 | +SN_head=T | |
| 4 | +SN_start=0 | |
| 5 | +SN_end=1 | |
| 6 | +SN_cur=0 | |
| 7 | +[UART_Config] | |
| 8 | +波特率=921600 | |
| 9 | +校验位=0 | |
| 10 | +数据位=3 | |
| 11 | +停止位=0 | |
| 12 | +流控制=0 | |
| 13 | +ear_port1=2 | |
| 14 | +ear_port2=4 | |
| 15 | +ear_port3=0 | |
| 16 | +ear_port4=0 | |
| 17 | +ear_port5=0 | |
| 18 | +ear_port6=0 | |
| 19 | +ear_port7=0 | |
| 20 | +ear_port8=0 | |
| 21 | +ear_port9=0 | |
| 22 | +ear_port10=0 | |
| 23 | +usb_port1=0 | |
| 24 | +usb_port2=0 | |
| 25 | +usb_port3=0 | |
| 26 | +usb_port4=0 | |
| 27 | +usb_port5=0 | |
| 28 | +usb_port6=0 | |
| 29 | +usb_port7=0 | |
| 30 | +usb_port8=0 | |
| 31 | +usb_port9=0 | |
| 32 | +usb_port10=0 | |
| 33 | +[BinFilePath] | |
| 34 | +EarBin=D:\code\Optek_TBH01\BlueSea_OPTEK_LINK_LC3_DWE_RX1223\upgrade_bin\BlueSea_USB_SD_SDK_uart_RX20210109_C.bin | |
| 35 | +UsbBin=D:\code\Optek_TBH01\BlueSea_OPTEK_LINK_LC3_DWE_RX1223\upgrade_bin\BlueSea_USB_SD_SDK_uart_RX20210109_C.bin | ... | ... |
Global
0 → 100644
| 1 | +[DeviceSetting] | |
| 2 | +Battery_Device=Keithley230x | |
| 3 | +Machine_Nmae=TEST12-RF1 | |
| 4 | +Battery_Gpib=0 | |
| 5 | +Battery_Addr=5 | |
| 6 | +Battery_Volt=4.000000 | |
| 7 | +Battery_Curr=2.000000 | |
| 8 | +Battery_OutPort=1 | |
| 9 | +Charger_Device=Keithley230x | |
| 10 | +Charger_Gpib=0 | |
| 11 | +Charger_Addr=5 | |
| 12 | +Charger_Volt=5.000000 | |
| 13 | +Charger_Curr=2.000000 | |
| 14 | +Charger_OutPort=2 | |
| 15 | +CheckUseMaxRang=1 | |
| 16 | +CurrentOffset=0.020000 | |
| 17 | +MyKernelPort=0 | |
| 18 | +[ParamsSetting] | |
| 19 | +Sample_CP=20 | |
| 20 | +Test_CP=3 | |
| 21 | +Delay_CP=1 | |
| 22 | +Sample_PO=200 | |
| 23 | +Test_PO=1 | |
| 24 | +Delay_PO=1 | |
| 25 | +Sample_PF=20 | |
| 26 | +Test_PF=1 | |
| 27 | +Delay_PF=15000 | |
| 28 | +Sample_ID=50 | |
| 29 | +Test_ID=1 | |
| 30 | +Delay_ID=1 | |
| 31 | +Sample_CH=50 | |
| 32 | +Test_CH=1 | |
| 33 | +Delay_CH=1 | |
| 34 | +Sample_Sleep=50 | |
| 35 | +Test_Sleep=1 | |
| 36 | +Delay_Sleep=12000 | |
| 37 | +[GlobalCount] | |
| 38 | +PassCount=0 | |
| 39 | +TotalCount =0 | |
| 40 | +[ComportSetting] | |
| 41 | +Brom Port Filter = VID_0E8D&PID_0003 | |
| 42 | +Preloader Port Filter = VID_0E8D&PID_2000 | |
| 43 | +Kernel Port Filter = VID_0E8D&PID_2000 | |
| 44 | +[Others] | |
| 45 | +timesWhenEnterFactoryMode =1 | |
| 46 | +delayWhenEnterFactoryMode =2 | ... | ... |
IniFile.cpp
0 → 100644
| 1 | +#include "StdAfx.h" | |
| 2 | +#include "IniFile.h" | |
| 3 | + | |
| 4 | +CIniFile::CIniFile(void) | |
| 5 | +{ | |
| 6 | +} | |
| 7 | + | |
| 8 | +CIniFile::CIniFile(LPCTSTR strFileName) | |
| 9 | +{ | |
| 10 | + m_strFileName=strFileName; | |
| 11 | +} | |
| 12 | + | |
| 13 | +CIniFile::~CIniFile(void) | |
| 14 | +{ | |
| 15 | +} | |
| 16 | + | |
| 17 | +void CIniFile::SetIniFileName(LPCTSTR strFileName) | |
| 18 | +{ | |
| 19 | + m_strFileName=strFileName; | |
| 20 | +} | |
| 21 | + | |
| 22 | +LPCTSTR CIniFile::GetIniFileName() | |
| 23 | +{ | |
| 24 | + return m_strFileName; | |
| 25 | +} | |
| 26 | + | |
| 27 | + | |
| 28 | +BOOL CIniFile::WriteString(LPCTSTR strSection, LPCTSTR strKey, LPCTSTR strValue) | |
| 29 | +{ | |
| 30 | + if(_tcslen(strSection)==0 || _tcslen(strKey)==0) | |
| 31 | + { | |
| 32 | + return FALSE; | |
| 33 | + } | |
| 34 | + return WritePrivateProfileString(strSection,strKey,strValue,m_strFileName); | |
| 35 | +} | |
| 36 | + | |
| 37 | +BOOL CIniFile::WriteInt(LPCTSTR strSection, LPCTSTR strKey, int iValue) | |
| 38 | +{ | |
| 39 | + CString sss; | |
| 40 | + sss.Format(TEXT("%d"), iValue); | |
| 41 | + return WriteString(strSection, strKey, sss); | |
| 42 | +} | |
| 43 | + | |
| 44 | +BOOL CIniFile::WriteDouble(LPCTSTR strSection, LPCTSTR strKey, double fValue) | |
| 45 | +{ | |
| 46 | + CString sss; | |
| 47 | + sss.Format(TEXT("%.6f"), fValue); | |
| 48 | + return WriteString(strSection, strKey, sss); | |
| 49 | +} | |
| 50 | + | |
| 51 | +BOOL CIniFile::WriteFloat(LPCTSTR strSection, LPCTSTR strKey, float fValue) | |
| 52 | +{ | |
| 53 | + CString sss; | |
| 54 | + sss.Format(TEXT("%.6f"), fValue); | |
| 55 | + return WriteString(strSection, strKey, sss); | |
| 56 | +} | |
| 57 | + | |
| 58 | +BOOL CIniFile::WriteLong(LPCTSTR strSection, LPCTSTR strKey, long n32Value) | |
| 59 | +{ | |
| 60 | + CString sss; | |
| 61 | + sss.Format(TEXT("%ld"), n32Value); | |
| 62 | + return WriteString(strSection, strKey, sss); | |
| 63 | + | |
| 64 | +} | |
| 65 | + | |
| 66 | +BOOL CIniFile::WriteDWORD(LPCTSTR strSection, LPCTSTR strKey, DWORD u32Value) | |
| 67 | +{ | |
| 68 | + CString sss; | |
| 69 | + sss.Format(TEXT("%u"), u32Value); | |
| 70 | + return WriteString(strSection, strKey, sss); | |
| 71 | +} | |
| 72 | + | |
| 73 | +BOOL CIniFile::WriteBool(LPCTSTR strSection, LPCTSTR strKey, bool bValue) | |
| 74 | +{ | |
| 75 | + CString sss; | |
| 76 | + sss.Format(TEXT("%d"), bValue?1:0); | |
| 77 | + return WriteString(strSection, strKey, sss); | |
| 78 | +} | |
| 79 | + | |
| 80 | +CString CIniFile::ReadString(LPCTSTR strSection, LPCTSTR strKey, CString strDefault) | |
| 81 | +{ | |
| 82 | + CString sss; | |
| 83 | + if(_tcslen(strSection)==0 || _tcslen(strKey)==0) | |
| 84 | + { | |
| 85 | + return strDefault; | |
| 86 | + } | |
| 87 | + GetPrivateProfileString(strSection, strKey,strDefault,sss.GetBuffer(1000),1000,m_strFileName); | |
| 88 | + sss.ReleaseBuffer(); | |
| 89 | + return sss; | |
| 90 | + | |
| 91 | +} | |
| 92 | + | |
| 93 | +int CIniFile::ReadInt(LPCTSTR strSection, LPCTSTR strKey, int iDefault) | |
| 94 | +{ | |
| 95 | + if(_tcslen(strSection)==0 || _tcslen(strKey)==0) | |
| 96 | + { | |
| 97 | + return iDefault; | |
| 98 | + } | |
| 99 | + return GetPrivateProfileInt(strSection,strKey,iDefault,m_strFileName); | |
| 100 | +} | |
| 101 | + | |
| 102 | +double CIniFile::ReadDouble(LPCTSTR strSection, LPCTSTR strKey, double fDefualt) | |
| 103 | +{ | |
| 104 | + if(_tcslen(strSection)==0 || _tcslen(strKey)==0) | |
| 105 | + { | |
| 106 | + return fDefualt; | |
| 107 | + } | |
| 108 | + CString sss; | |
| 109 | + sss = ReadString(strSection,strKey); | |
| 110 | + if ("ERROR" == sss) | |
| 111 | + { | |
| 112 | + return fDefualt; | |
| 113 | + } | |
| 114 | + | |
| 115 | + return atof(sss); | |
| 116 | + | |
| 117 | +} | |
| 118 | + | |
| 119 | +long CIniFile::ReadLong(LPCTSTR strSection, LPCTSTR strKey, long n32Defualt) | |
| 120 | +{ | |
| 121 | + if(_tcslen(strSection)==0 || _tcslen(strKey)==0) | |
| 122 | + { | |
| 123 | + return n32Defualt; | |
| 124 | + } | |
| 125 | + CString sss; | |
| 126 | + sss = ReadString(strSection,strKey); | |
| 127 | + if ("ERROR" == sss) | |
| 128 | + { | |
| 129 | + return n32Defualt; | |
| 130 | + } | |
| 131 | + return _tcstoul(sss,NULL,10); | |
| 132 | + | |
| 133 | +} | |
| 134 | + | |
| 135 | +DWORD CIniFile::ReadDWORD(LPCTSTR strSection, LPCTSTR strKey, DWORD u32Defualt) | |
| 136 | +{ | |
| 137 | + if(_tcslen(strSection)==0 || _tcslen(strKey)==0) | |
| 138 | + { | |
| 139 | + return u32Defualt; | |
| 140 | + } | |
| 141 | + CString sss; | |
| 142 | + sss = ReadString(strSection,strKey); | |
| 143 | + if ("ERROR" == sss) | |
| 144 | + { | |
| 145 | + return u32Defualt; | |
| 146 | + } | |
| 147 | + return _tcstoul(sss,NULL,10); | |
| 148 | +} | |
| 149 | + | |
| 150 | +float CIniFile::ReadFloat(LPCTSTR strSection, LPCTSTR strKey, float fDefualt) | |
| 151 | +{ | |
| 152 | + if(_tcslen(strSection)==0 || _tcslen(strKey)==0) | |
| 153 | + { | |
| 154 | + return fDefualt; | |
| 155 | + } | |
| 156 | + CString sss; | |
| 157 | + sss = ReadString(strSection,strKey); | |
| 158 | + if ("ERROR" == sss) | |
| 159 | + { | |
| 160 | + return fDefualt; | |
| 161 | + } | |
| 162 | + return atof(sss); | |
| 163 | +} | |
| 164 | + | |
| 165 | +//1为true,其它值为false | |
| 166 | +bool CIniFile::ReadBool(LPCTSTR strSection, LPCTSTR strKey, bool bDefualt) | |
| 167 | +{ | |
| 168 | + if(_tcslen(strSection)==0 || _tcslen(strKey)==0) | |
| 169 | + { | |
| 170 | + return bDefualt; | |
| 171 | + } | |
| 172 | + return (1 == ReadInt(strSection,strKey,bDefualt?1:0)?true:false); | |
| 173 | + | |
| 174 | +} | |
| 175 | +//删除某个section | |
| 176 | +BOOL CIniFile::DeleteSection(LPCTSTR strSection) | |
| 177 | +{ | |
| 178 | + return WritePrivateProfileString(strSection,NULL,NULL,m_strFileName); | |
| 179 | +} | |
| 180 | + | |
| 181 | +//删除某个Section下的某个Key | |
| 182 | +BOOL CIniFile::DeleteKey(LPCTSTR strSection,LPCTSTR strKey) | |
| 183 | +{ | |
| 184 | + return WritePrivateProfileString(strSection,strKey,NULL,m_strFileName); | |
| 185 | +} | |
| 186 | +// 获取所有的Section的列表 | |
| 187 | +//parameters: | |
| 188 | +//CStringArray &SectionList -- 获取到的Section列表(out) | |
| 189 | +BOOL CIniFile::GetSectionList(CStringArray &SectionList) | |
| 190 | +{ | |
| 191 | + TCHAR strBuffer[1000],*pPos=NULL; | |
| 192 | + SectionList.RemoveAll(); | |
| 193 | + DWORD datacount=GetPrivateProfileString(NULL,NULL,TEXT("NOVAL"),strBuffer,1000,m_strFileName); | |
| 194 | + if(_tcscmp(strBuffer,TEXT("NOVAL"))==0) | |
| 195 | + { | |
| 196 | + return FALSE; | |
| 197 | + } | |
| 198 | + | |
| 199 | + CString sss; | |
| 200 | + pPos=strBuffer; | |
| 201 | + while(*pPos != '\0') | |
| 202 | + { | |
| 203 | + sss=pPos; | |
| 204 | + SectionList.Add(sss); | |
| 205 | + pPos+=sss.GetLength()+1; | |
| 206 | + } | |
| 207 | + return TRUE; | |
| 208 | +} | |
| 209 | + | |
| 210 | +//获取某个Section下的Key的列表 | |
| 211 | +//parameters: | |
| 212 | +//LPCTSTR strSection -- Section(in) | |
| 213 | +//CStringArray &keylist -- 获取到的key 列表(out) | |
| 214 | +BOOL CIniFile::GetKeyList(LPCTSTR strSection,CStringArray &KeyList) | |
| 215 | +{ | |
| 216 | + TCHAR strBuffer[1000],*pPos=NULL; | |
| 217 | + KeyList.RemoveAll(); | |
| 218 | + DWORD datacount=GetPrivateProfileString(strSection,NULL,TEXT("NOVAL"),strBuffer,1000,m_strFileName); | |
| 219 | + if(_tcscmp(strBuffer,TEXT("NOVAL"))==0) | |
| 220 | + { | |
| 221 | + return FALSE; | |
| 222 | + } | |
| 223 | + | |
| 224 | + CString sss; | |
| 225 | + pPos=strBuffer; | |
| 226 | + while(*pPos != '\0') | |
| 227 | + { | |
| 228 | + sss=pPos; | |
| 229 | + KeyList.Add(sss); | |
| 230 | + pPos+=sss.GetLength()+1; | |
| 231 | + } | |
| 232 | + | |
| 233 | + return TRUE; | |
| 234 | +} | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | +//写Section | |
| 239 | +//parameters: | |
| 240 | +//LPCTSTR strSection -- Section(in) | |
| 241 | +//CStringArray &keylist -- key 列表(in) | |
| 242 | +//CStringArray &valuelist -- 对应key的值(in) | |
| 243 | +BOOL CIniFile::WriteSection(LPCTSTR strSection,CStringArray &keylist,CStringArray &valuelist) | |
| 244 | +{ | |
| 245 | + if(_tcslen(strSection)==0 || keylist.GetSize()!=valuelist.GetSize()) | |
| 246 | + { | |
| 247 | + return FALSE; | |
| 248 | + } | |
| 249 | + if(keylist.GetSize()==0 || valuelist.GetSize()==0) | |
| 250 | + { | |
| 251 | + return TRUE; | |
| 252 | + } | |
| 253 | + | |
| 254 | + CString strTemp = ""; | |
| 255 | + CString sss =""; | |
| 256 | + BOOL bFlag = FALSE; | |
| 257 | + for(int i=0;i<keylist.GetSize();i++) | |
| 258 | + { | |
| 259 | + strTemp.Format(TEXT("%s=%s\r\n"),keylist[i],valuelist[i]); | |
| 260 | + sss += strTemp; | |
| 261 | + bFlag = WriteString(strSection,keylist[i],valuelist[i]); | |
| 262 | + if (bFlag == FALSE) | |
| 263 | + { | |
| 264 | + return FALSE; | |
| 265 | + } | |
| 266 | + } | |
| 267 | + return TRUE; | |
| 268 | +} | |
| 269 | + | |
| 270 | +//读Section | |
| 271 | +//parameters: | |
| 272 | +//LPCTSTR strSection -- Section(in) | |
| 273 | +//CStringArray &keylist -- key 列表(out) | |
| 274 | +//CStringArray &valuelist -- 对应key的值(out) | |
| 275 | +BOOL CIniFile::ReadSection(LPCTSTR strSection,CStringArray &keylist,CStringArray &valuelist) | |
| 276 | +{ | |
| 277 | + if(_tcslen(strSection)==0) | |
| 278 | + { | |
| 279 | + return false; | |
| 280 | + } | |
| 281 | + | |
| 282 | + keylist.RemoveAll(); | |
| 283 | + valuelist.RemoveAll(); | |
| 284 | + | |
| 285 | + TCHAR tempbufer[65536],*ppp; | |
| 286 | + memset(tempbufer,0,sizeof(tempbufer)); | |
| 287 | + GetPrivateProfileSection(strSection,tempbufer,65535,m_strFileName); | |
| 288 | + | |
| 289 | + ppp=tempbufer; | |
| 290 | + | |
| 291 | + CString sss; | |
| 292 | + int pos; | |
| 293 | + while(*ppp != '\0') | |
| 294 | + { | |
| 295 | + sss=ppp; | |
| 296 | + ppp+=sss.GetLength()+1; | |
| 297 | + | |
| 298 | + pos=sss.Find('=',0); | |
| 299 | + | |
| 300 | + keylist.Add(sss.Left(pos)); | |
| 301 | + valuelist.Add(sss.Right(sss.GetLength()-pos-1)); | |
| 302 | + } | |
| 303 | + return TRUE; | |
| 304 | +} | ... | ... |
IniFile.h
0 → 100644
| 1 | + | |
| 2 | +#if !defined(AFX_INIFILE_H__INCLUDED_) | |
| 3 | +#define AFX_INIFILE_H__INCLUDED_ | |
| 4 | + | |
| 5 | +#if _MSC_VER > 1000 | |
| 6 | +#pragma once | |
| 7 | +#endif // _MSC_VER > 1000 | |
| 8 | +//include header file here | |
| 9 | +#include <afxtempl.h> | |
| 10 | +/* | |
| 11 | +int ,long , long long类型的范围值 | |
| 12 | +unsigned int 0~4294967295 | |
| 13 | +int 2147483648~2147483647 | |
| 14 | +unsigned long 0~4294967295 | |
| 15 | +long 2147483648~2147483647 | |
| 16 | +long long的最大值:9223372036854775807 | |
| 17 | +long long的最小值:-9223372036854775808 | |
| 18 | +unsigned long long的最大值:18446744073709551615 | |
| 19 | + __int64的最大值:9223372036854775807 | |
| 20 | + __int64的最小值:-9223372036854775808 | |
| 21 | + unsigned __int64的最大值:18446744073709551615 | |
| 22 | +*/ | |
| 23 | + | |
| 24 | +class CIniFile | |
| 25 | +{ | |
| 26 | +public: | |
| 27 | + CIniFile(void); | |
| 28 | + CIniFile(LPCTSTR strFileName); | |
| 29 | + ~CIniFile(void); | |
| 30 | + | |
| 31 | +private: | |
| 32 | + CString m_strFileName; | |
| 33 | + | |
| 34 | +public: | |
| 35 | + void SetIniFileName(LPCTSTR strFileName); | |
| 36 | + | |
| 37 | + LPCTSTR GetIniFileName(); | |
| 38 | + | |
| 39 | + BOOL WriteString(LPCTSTR strSection, LPCTSTR strKey, LPCTSTR strValue); | |
| 40 | + BOOL WriteInt(LPCTSTR strSection, LPCTSTR strKey, int iValue); | |
| 41 | + //默认保持6位小数点,可以修改 | |
| 42 | + BOOL WriteDouble(LPCTSTR strSection, LPCTSTR strKey, double fValue); | |
| 43 | + //默认保持6位小数点,可以修改 | |
| 44 | + BOOL WriteFloat(LPCTSTR strSection, LPCTSTR strKey, float fValue); | |
| 45 | + BOOL WriteLong(LPCTSTR strSection, LPCTSTR strKey, long n32Value); | |
| 46 | + BOOL WriteDWORD(LPCTSTR strSection, LPCTSTR strKey, DWORD u32Value); | |
| 47 | + //true--1 false--0 | |
| 48 | + BOOL WriteBool(LPCTSTR strSection, LPCTSTR strKey, bool bValue); | |
| 49 | + | |
| 50 | + CString ReadString(LPCTSTR strSection, LPCTSTR strKey, CString strDefault = "ERROR"); | |
| 51 | + int ReadInt(LPCTSTR strSection, LPCTSTR strKey, int iDefault = -9999999); | |
| 52 | + double ReadDouble(LPCTSTR strSection, LPCTSTR strKey, double fDefualt = -0.000001); | |
| 53 | + long ReadLong(LPCTSTR strSection, LPCTSTR strKey, long n32Defualt = -9999999); | |
| 54 | + DWORD ReadDWORD(LPCTSTR strSection, LPCTSTR strKey, DWORD u32Defualt = 9999999); | |
| 55 | + float ReadFloat(LPCTSTR strSection, LPCTSTR strKey, float fDefualt = -0.000001); | |
| 56 | + | |
| 57 | + //1为true,其它值为false | |
| 58 | + bool ReadBool(LPCTSTR strSection, LPCTSTR strKey, bool bDefualt = false); | |
| 59 | + | |
| 60 | + //删除某个sectionsection | |
| 61 | + BOOL DeleteSection(LPCTSTR strSection); | |
| 62 | + | |
| 63 | + //删除某个Section下的某个Key | |
| 64 | + BOOL DeleteKey(LPCTSTR strSection,LPCTSTR strKey); | |
| 65 | + | |
| 66 | + // 获取所有的Section的列表 | |
| 67 | + //parameters: | |
| 68 | + //CStringArray &SectionList -- 获取到的Section列表(out) | |
| 69 | + BOOL GetSectionList(CStringArray &SectionList); | |
| 70 | + //获取某个Section下的Key的列表 | |
| 71 | + //parameters: | |
| 72 | + //LPCTSTR strSection -- Section(in) | |
| 73 | + //CStringArray &keylist -- 获取到的key 列表(out) | |
| 74 | + BOOL GetKeyList(LPCTSTR strSection,CStringArray &KeyList); | |
| 75 | + | |
| 76 | + //写Section | |
| 77 | + //parameters: | |
| 78 | + //LPCTSTR strSection -- Section(in) | |
| 79 | + //CStringArray &keylist -- key 列表(in) | |
| 80 | + //CStringArray &valuelist -- 对应key的值(in) | |
| 81 | + BOOL WriteSection(LPCTSTR strSection,CStringArray &keylist,CStringArray &valuelist); | |
| 82 | + | |
| 83 | + //读Section | |
| 84 | + //parameters: | |
| 85 | + //LPCTSTR strSection -- Section(in) | |
| 86 | + //CStringArray &keylist -- key 列表(out) | |
| 87 | + //CStringArray &valuelist -- 对应key的值(out) | |
| 88 | + BOOL ReadSection(LPCTSTR strSection,CStringArray &keylist,CStringArray &valuelist); | |
| 89 | + /**/ | |
| 90 | +}; | |
| 91 | +#endif//#if !defined(AFX_INIFILE_H__INCLUDED_) | |
| \ No newline at end of file | ... | ... |
| ... | ... | @@ -21,39 +21,6 @@ |
| 21 | 21 | #endif // _AFX_NO_AFXCMN_SUPPORT |
| 22 | 22 | #include <string> |
| 23 | 23 | |
| 24 | - | |
| 25 | -#define MAX_PATH 260 | |
| 26 | - | |
| 27 | - | |
| 28 | -typedef struct | |
| 29 | -{ | |
| 30 | - int aBandrate; | |
| 31 | - char bcheck; | |
| 32 | - char cdatabit; | |
| 33 | - char dstopbit; | |
| 34 | - char estreambit; | |
| 35 | -}com_config_struct; | |
| 36 | -typedef struct | |
| 37 | -{ | |
| 38 | - short ary_myComPortEar[10]; | |
| 39 | - short ary_myComPortUsb[10]; | |
| 40 | - short int_myComPortDebug; | |
| 41 | - com_config_struct com_config; | |
| 42 | - BOOL if_same_sn; | |
| 43 | - char SN_head[13]; | |
| 44 | - int SN_start; | |
| 45 | - int SN_end; | |
| 46 | - int SN_cur; | |
| 47 | - int int_ResendTime; | |
| 48 | - char g_pSetupFilepath[MAX_PATH]; | |
| 49 | - char g_pFilePathUsb[MAX_PATH]; | |
| 50 | - char g_pFilePathEar[MAX_PATH]; | |
| 51 | -}app_main_data_struct; | |
| 52 | - | |
| 53 | -extern app_main_data_struct g_AppMainData; | |
| 54 | - | |
| 55 | - | |
| 56 | - | |
| 57 | 24 | //{{AFX_INSERT_LOCATION}} |
| 58 | 25 | // Microsoft Visual C++ will insert additional declarations immediately before the previous line. |
| 59 | 26 | ... | ... |
SysConfig.cpp
0 → 100644
| 1 | +// SysConfig.cpp : implementation file | |
| 2 | +// | |
| 3 | + | |
| 4 | +#include "stdafx.h" | |
| 5 | +#include "BlueFlashTool.h" | |
| 6 | +#include "SysConfig.h" | |
| 7 | + | |
| 8 | +#ifdef _DEBUG | |
| 9 | +#define new DEBUG_NEW | |
| 10 | +#undef THIS_FILE | |
| 11 | +static char THIS_FILE[] = __FILE__; | |
| 12 | +#endif | |
| 13 | + | |
| 14 | +///////////////////////////////////////////////////////////////////////////// | |
| 15 | +// CSysConfig dialog | |
| 16 | + | |
| 17 | + | |
| 18 | +CSysConfig::CSysConfig(CWnd* pParent /*=NULL*/) | |
| 19 | + : CDialog(CSysConfig::IDD, pParent) | |
| 20 | + , mystrSNHeader(_T("")) | |
| 21 | + , myintBandrate(_T("921600")) | |
| 22 | + , myAllowSave(true) | |
| 23 | +{ | |
| 24 | + //{{AFX_DATA_INIT(CSysConfig) | |
| 25 | + mystrFilePathUsb = _T(""); | |
| 26 | + mystrFilePathEar = _T(""); | |
| 27 | + mystrSnEnd = _T(""); | |
| 28 | + mystrSnStart = _T(""); | |
| 29 | + //}}AFX_DATA_INIT | |
| 30 | +} | |
| 31 | + | |
| 32 | + | |
| 33 | +void CSysConfig::DoDataExchange(CDataExchange* pDX) | |
| 34 | +{ | |
| 35 | + CDialog::DoDataExchange(pDX); | |
| 36 | + //{{AFX_DATA_MAP(CSysConfig) | |
| 37 | + DDX_Control(pDX, IDC_COMPORT_EAR01, mylistEar01); | |
| 38 | + DDX_Control(pDX, IDC_COMPORT_EAR02, mylistEar02); | |
| 39 | + DDX_Control(pDX, IDC_COMPORT_EAR03, mylistEar03); | |
| 40 | + DDX_Control(pDX, IDC_COMPORT_EAR04, mylistEar04); | |
| 41 | + DDX_Control(pDX, IDC_COMPORT_EAR05, mylistEar05); | |
| 42 | + DDX_Control(pDX, IDC_COMPORT_EAR06, mylistEar06); | |
| 43 | + DDX_Control(pDX, IDC_COMPORT_EAR07, mylistEar07); | |
| 44 | + DDX_Control(pDX, IDC_COMPORT_EAR08, mylistEar08); | |
| 45 | + DDX_Control(pDX, IDC_COMPORT_EAR09, mylistEar09); | |
| 46 | + DDX_Control(pDX, IDC_COMPORT_EAR10, mylistEar10); | |
| 47 | + DDX_Control(pDX, IDC_COMPORT_USB01, mylistUsb01); | |
| 48 | + DDX_Control(pDX, IDC_COMPORT_USB02, mylistUsb02); | |
| 49 | + DDX_Control(pDX, IDC_COMPORT_USB03, mylistUsb03); | |
| 50 | + DDX_Control(pDX, IDC_COMPORT_USB04, mylistUsb04); | |
| 51 | + DDX_Control(pDX, IDC_COMPORT_USB05, mylistUsb05); | |
| 52 | + DDX_Control(pDX, IDC_COMPORT_USB06, mylistUsb06); | |
| 53 | + DDX_Control(pDX, IDC_COMPORT_USB07, mylistUsb07); | |
| 54 | + DDX_Control(pDX, IDC_COMPORT_USB08, mylistUsb08); | |
| 55 | + DDX_Control(pDX, IDC_COMPORT_USB09, mylistUsb09); | |
| 56 | + DDX_Control(pDX, IDC_COMPORT_USB10, mylistUsb10); | |
| 57 | + DDX_Control(pDX, IDC_COMBO_STEAM, mylistStreambit); | |
| 58 | + DDX_Control(pDX, IDC_COMBO_STOPBIT, mylistStopbit); | |
| 59 | + DDX_Control(pDX, IDC_COMBO_DATABIT, mylistDatabit); | |
| 60 | + DDX_Control(pDX, IDC_COMBO_CHECK, mylistCheck); | |
| 61 | + DDX_Control(pDX, IDC_CHECK_SAME_SN, myCheckSameSn); | |
| 62 | + DDX_Text(pDX, IDC_EDIT_USB_PATH, mystrFilePathUsb); | |
| 63 | + DDX_Text(pDX, IDC_EDIT_EAR_PATH, mystrFilePathEar); | |
| 64 | + DDX_Text(pDX, IDC_EDIT_SN_END, mystrSnEnd); | |
| 65 | + DDX_Text(pDX, IDC_EDIT_SN_START, mystrSnStart); | |
| 66 | + //}}AFX_DATA_MAP | |
| 67 | + DDX_Text(pDX, IDC_EDIT_SN_HEADER, mystrSNHeader); | |
| 68 | + DDV_MaxChars(pDX, mystrSnStart, 5); | |
| 69 | + DDV_MaxChars(pDX, mystrSnEnd, 5); | |
| 70 | + DDX_CBString(pDX, IDC_COMBO_BAND, myintBandrate); | |
| 71 | +} | |
| 72 | + | |
| 73 | + | |
| 74 | +BEGIN_MESSAGE_MAP(CSysConfig, CDialog) | |
| 75 | + //{{AFX_MSG_MAP(CSysConfig) | |
| 76 | + ON_BN_CLICKED(IDC_CHECK_SAME_SN, OnCheckSameSn) | |
| 77 | + ON_BN_CLICKED(IDC_BUTTON_SECPATH_EAR, OnButtonSecpathEar) | |
| 78 | + ON_BN_CLICKED(IDC_BUTTON_SECPATH_USB, OnButtonSecpathUsb) | |
| 79 | + //}}AFX_MSG_MAP | |
| 80 | + ON_BN_CLICKED(IDOK, &CSysConfig::OnBnClickedOk) | |
| 81 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR01, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 82 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR02, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 83 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR03, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 84 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR04, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 85 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR05, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 86 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR06, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 87 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR07, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 88 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR08, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 89 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR09, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 90 | + ON_CBN_SELCHANGE(IDC_COMPORT_EAR10, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 91 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB01, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 92 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB02, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 93 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB03, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 94 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB04, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 95 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB05, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 96 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB06, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 97 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB07, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 98 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB08, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 99 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB09, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 100 | + ON_CBN_SELCHANGE(IDC_COMPORT_USB10, &CSysConfig::OnCbnSelchangeComportEarUsb) | |
| 101 | + | |
| 102 | +END_MESSAGE_MAP() | |
| 103 | + | |
| 104 | +///////////////////////////////////////////////////////////////////////////// | |
| 105 | +// CSysConfig message handlers | |
| 106 | + | |
| 107 | +void CSysConfig::OnCheckSameSn() | |
| 108 | +{ | |
| 109 | + // TODO: Add your control notification handler code here | |
| 110 | + g_AppMainData.if_same_sn = myCheckSameSn.GetCheck(); | |
| 111 | + GetDlgItem(IDC_EDIT_SN_START)->EnableWindow(!g_AppMainData.if_same_sn); | |
| 112 | + GetDlgItem(IDC_EDIT_SN_END)->EnableWindow(!g_AppMainData.if_same_sn); | |
| 113 | + GetDlgItem(IDC_EDIT_SN_HEADER)->EnableWindow(!g_AppMainData.if_same_sn); | |
| 114 | +} | |
| 115 | + | |
| 116 | +BOOL CSysConfig::OnInitDialog() | |
| 117 | +{ | |
| 118 | + CDialog::OnInitDialog(); | |
| 119 | + //数据初始化 | |
| 120 | + mystrSNHeader.Format("%s",g_AppMainData.SN_head); | |
| 121 | + mystrSnStart.Format("%05d",g_AppMainData.SN_cur); | |
| 122 | + mystrSnEnd.Format("%05d",g_AppMainData.SN_end); | |
| 123 | + mylistCheck.SetCurSel(g_AppMainData.com_config.bcheck); | |
| 124 | + mylistDatabit.SetCurSel(3); | |
| 125 | + mylistStopbit.SetCurSel(0); | |
| 126 | + mylistStreambit.SetCurSel(0); | |
| 127 | + //UI 初始化 | |
| 128 | + myCheckSameSn.SetCheck(g_AppMainData.if_same_sn); | |
| 129 | + GetDlgItem(IDC_EDIT_SN_START)->EnableWindow(!g_AppMainData.if_same_sn); | |
| 130 | + GetDlgItem(IDC_EDIT_SN_END)->EnableWindow(!g_AppMainData.if_same_sn); | |
| 131 | + GetDlgItem(IDC_EDIT_SN_HEADER)->EnableWindow(!g_AppMainData.if_same_sn); | |
| 132 | + mylistCheck.EnableWindow(FALSE); | |
| 133 | + mylistDatabit.EnableWindow(FALSE); | |
| 134 | + mylistStopbit.EnableWindow(FALSE); | |
| 135 | + mylistStreambit.EnableWindow(FALSE); | |
| 136 | + mylistEar01.SetCurSel(g_AppMainData.ary_myComPortEar[0]); | |
| 137 | + mylistEar02.SetCurSel(g_AppMainData.ary_myComPortEar[1]); | |
| 138 | + mylistEar03.SetCurSel(g_AppMainData.ary_myComPortEar[2]); | |
| 139 | + mylistEar04.SetCurSel(g_AppMainData.ary_myComPortEar[3]); | |
| 140 | + mylistEar05.SetCurSel(g_AppMainData.ary_myComPortEar[4]); | |
| 141 | + mylistEar06.SetCurSel(g_AppMainData.ary_myComPortEar[5]); | |
| 142 | + mylistEar07.SetCurSel(g_AppMainData.ary_myComPortEar[6]); | |
| 143 | + mylistEar08.SetCurSel(g_AppMainData.ary_myComPortEar[7]); | |
| 144 | + mylistEar09.SetCurSel(g_AppMainData.ary_myComPortEar[8]); | |
| 145 | + mylistEar10.SetCurSel(g_AppMainData.ary_myComPortEar[9]); | |
| 146 | + | |
| 147 | + mylistUsb01.SetCurSel(g_AppMainData.ary_myComPortUsb[0]); | |
| 148 | + mylistUsb02.SetCurSel(g_AppMainData.ary_myComPortUsb[1]); | |
| 149 | + mylistUsb03.SetCurSel(g_AppMainData.ary_myComPortUsb[2]); | |
| 150 | + mylistUsb04.SetCurSel(g_AppMainData.ary_myComPortUsb[3]); | |
| 151 | + mylistUsb05.SetCurSel(g_AppMainData.ary_myComPortUsb[4]); | |
| 152 | + mylistUsb06.SetCurSel(g_AppMainData.ary_myComPortUsb[5]); | |
| 153 | + mylistUsb07.SetCurSel(g_AppMainData.ary_myComPortUsb[6]); | |
| 154 | + mylistUsb08.SetCurSel(g_AppMainData.ary_myComPortUsb[7]); | |
| 155 | + mylistUsb09.SetCurSel(g_AppMainData.ary_myComPortUsb[8]); | |
| 156 | + mylistUsb10.SetCurSel(g_AppMainData.ary_myComPortUsb[9]); | |
| 157 | + | |
| 158 | + mystrFilePathEar = g_AppMainData.FilePathEar; | |
| 159 | + mystrFilePathUsb = g_AppMainData.FilePathUsb; | |
| 160 | + | |
| 161 | + UpdateData(FALSE); | |
| 162 | + | |
| 163 | + return TRUE; // return TRUE unless you set the focus to a control | |
| 164 | + // EXCEPTION: OCX Property Pages should return FALSE | |
| 165 | +} | |
| 166 | + | |
| 167 | +void CSysConfig::OnButtonSecpathEar() | |
| 168 | +{ | |
| 169 | + // TODO: Add your control notification handler code here | |
| 170 | + char szFilter[]="bin files(*.*)|*.*"; | |
| 171 | + CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST|OFN_EXPLORER|OFN_ENABLESIZING|0x10000000, szFilter, this); | |
| 172 | + dlg.m_ofn.lpstrTitle = _T("选择耳机软件..."); | |
| 173 | + if(dlg.DoModal() == IDOK) | |
| 174 | + mystrFilePathEar = dlg.GetPathName(); | |
| 175 | + CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT_EAR_PATH); | |
| 176 | + pEdit->SetWindowText(mystrFilePathEar); | |
| 177 | + | |
| 178 | +} | |
| 179 | + | |
| 180 | +void CSysConfig::OnButtonSecpathUsb() | |
| 181 | +{ | |
| 182 | + // TODO: Add your control notification handler code here | |
| 183 | + char szFilter[]="bin files(*.*)|*.*"; | |
| 184 | + CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST|OFN_EXPLORER|OFN_ENABLESIZING|0x10000000, szFilter, this); | |
| 185 | + dlg.m_ofn.lpstrTitle = _T("选择发射器软件..."); | |
| 186 | + if(dlg.DoModal() == IDOK) | |
| 187 | + mystrFilePathUsb = dlg.GetPathName(); | |
| 188 | + CEdit* pEdit = (CEdit*)GetDlgItem(IDC_EDIT_USB_PATH); | |
| 189 | + pEdit->SetWindowText(mystrFilePathUsb); | |
| 190 | + | |
| 191 | +} | |
| 192 | + | |
| 193 | +void CSysConfig::OnBnClickedOk() | |
| 194 | +{ | |
| 195 | + int loop = 0; | |
| 196 | + UpdateData(TRUE); | |
| 197 | + if (myAllowSave == false) | |
| 198 | + { | |
| 199 | + MessageBox("请核对端口配置参数是否有误", "Warning"); | |
| 200 | + return; | |
| 201 | + } | |
| 202 | + if (!myCheckSameSn.GetCheck()) | |
| 203 | + { | |
| 204 | + if (mystrSnStart.GetLength()<5 ||mystrSnEnd.GetLength()<5 ) | |
| 205 | + { | |
| 206 | + MessageBox("序号太短", "Warning"); | |
| 207 | + return; | |
| 208 | + } | |
| 209 | + if (mystrSnStart == mystrSnEnd) | |
| 210 | + { | |
| 211 | + MessageBox("结束序号与起始序号不能相同", "Warning"); | |
| 212 | + return; | |
| 213 | + } | |
| 214 | + char *p_SnStart = mystrSnStart.GetBuffer(5); | |
| 215 | + char *p_SnEnd = mystrSnEnd.GetBuffer(5); | |
| 216 | + g_AppMainData.SN_start = atoi(p_SnStart); | |
| 217 | + g_AppMainData.SN_end = atoi(p_SnEnd); | |
| 218 | + g_AppMainData.SN_cur = g_AppMainData.SN_start; | |
| 219 | + g_AppMainData.if_same_sn = TRUE; | |
| 220 | + } | |
| 221 | + else | |
| 222 | + { | |
| 223 | + g_AppMainData.if_same_sn = FALSE; | |
| 224 | + } | |
| 225 | + | |
| 226 | + | |
| 227 | + g_AppMainData.ary_myComPortEar[0] = mylistEar01.GetCurSel(); | |
| 228 | + g_AppMainData.ary_myComPortEar[1] = mylistEar02.GetCurSel(); | |
| 229 | + g_AppMainData.ary_myComPortEar[2] = mylistEar03.GetCurSel(); | |
| 230 | + g_AppMainData.ary_myComPortEar[3] = mylistEar04.GetCurSel(); | |
| 231 | + g_AppMainData.ary_myComPortEar[4] = mylistEar05.GetCurSel(); | |
| 232 | + g_AppMainData.ary_myComPortEar[5] = mylistEar06.GetCurSel(); | |
| 233 | + g_AppMainData.ary_myComPortEar[6] = mylistEar07.GetCurSel(); | |
| 234 | + g_AppMainData.ary_myComPortEar[7] = mylistEar08.GetCurSel(); | |
| 235 | + g_AppMainData.ary_myComPortEar[8] = mylistEar09.GetCurSel(); | |
| 236 | + g_AppMainData.ary_myComPortEar[9] = mylistEar10.GetCurSel(); | |
| 237 | + | |
| 238 | + g_AppMainData.ary_myComPortUsb[0] = mylistUsb01.GetCurSel(); | |
| 239 | + g_AppMainData.ary_myComPortUsb[1] = mylistUsb02.GetCurSel(); | |
| 240 | + g_AppMainData.ary_myComPortUsb[2] = mylistUsb03.GetCurSel(); | |
| 241 | + g_AppMainData.ary_myComPortUsb[3] = mylistUsb04.GetCurSel(); | |
| 242 | + g_AppMainData.ary_myComPortUsb[4] = mylistUsb05.GetCurSel(); | |
| 243 | + g_AppMainData.ary_myComPortUsb[5] = mylistUsb06.GetCurSel(); | |
| 244 | + g_AppMainData.ary_myComPortUsb[6] = mylistUsb07.GetCurSel(); | |
| 245 | + g_AppMainData.ary_myComPortUsb[7] = mylistUsb08.GetCurSel(); | |
| 246 | + g_AppMainData.ary_myComPortUsb[8] = mylistUsb09.GetCurSel(); | |
| 247 | + g_AppMainData.ary_myComPortUsb[9] = mylistUsb10.GetCurSel(); | |
| 248 | + g_AppMainData.if_same_sn = myCheckSameSn.GetCheck(); | |
| 249 | + g_AppMainData.com_config.aBandrate=atoi(myintBandrate.GetBuffer(0)); | |
| 250 | + g_AppMainData.com_config.bcheck = mylistCheck.GetCurSel(); | |
| 251 | + g_AppMainData.com_config.cdatabit = mylistDatabit.GetCurSel(); | |
| 252 | + g_AppMainData.com_config.dstopbit = mylistStopbit.GetCurSel(); | |
| 253 | + g_AppMainData.com_config.estreambit = mylistStreambit.GetCurSel(); | |
| 254 | + if (mystrFilePathEar == "") | |
| 255 | + { | |
| 256 | + MessageBox("未选择耳机软件", "Warning"); | |
| 257 | + return; | |
| 258 | + } | |
| 259 | + if (mystrFilePathUsb == "") | |
| 260 | + { | |
| 261 | + MessageBox("未选择发射器软件", "Warning"); | |
| 262 | + return; | |
| 263 | + } | |
| 264 | + g_AppMainData.FilePathEar = mystrFilePathEar; | |
| 265 | + g_AppMainData.FilePathUsb = mystrFilePathUsb; | |
| 266 | + | |
| 267 | + g_pmainapp->SaveConfigs(); | |
| 268 | + | |
| 269 | + | |
| 270 | + CDialog::OnOK(); | |
| 271 | +} | |
| 272 | + | |
| 273 | +void CSysConfig::OnCbnSelchangeComportEarUsb() | |
| 274 | +{ | |
| 275 | + int currentID,loop,cursel; | |
| 276 | + CComboBox *plist; | |
| 277 | + currentID = GetFocus()->GetDlgCtrlID(); | |
| 278 | + plist =(CComboBox *)GetDlgItem(currentID); | |
| 279 | + cursel = plist->GetCurSel(); | |
| 280 | + if ( cursel== 1) | |
| 281 | + { | |
| 282 | + MessageBox("无效COM口", "Warning"); | |
| 283 | + myAllowSave = false; | |
| 284 | + return; | |
| 285 | + } | |
| 286 | + for (loop = 0;loop<10;loop++) | |
| 287 | + { | |
| 288 | + if (cursel == g_AppMainData.ary_myComPortEar[loop] && loop != currentID-IDC_COMPORT_EAR01 && g_AppMainData.ary_myComPortEar[loop]!=0) | |
| 289 | + { | |
| 290 | + MessageBox("端口重复", "Warning"); | |
| 291 | + myAllowSave = false; | |
| 292 | + return; | |
| 293 | + } | |
| 294 | + } | |
| 295 | + for (loop = 10;loop<20;loop++) | |
| 296 | + { | |
| 297 | + if (cursel == g_AppMainData.ary_myComPortUsb[loop] && loop != currentID-IDC_COMPORT_EAR01 && g_AppMainData.ary_myComPortUsb[loop] != 0) | |
| 298 | + { | |
| 299 | + MessageBox("端口重复", "Warning"); | |
| 300 | + myAllowSave = false; | |
| 301 | + return; | |
| 302 | + } | |
| 303 | + } | |
| 304 | + myAllowSave = true; | |
| 305 | +} | ... | ... |
SysConfig.h
0 → 100644
| 1 | +#if !defined(AFX_SYSCONFIG_H__80AB7013_3975_451D_83C3_A137DEB231FB__INCLUDED_) | |
| 2 | +#define AFX_SYSCONFIG_H__80AB7013_3975_451D_83C3_A137DEB231FB__INCLUDED_ | |
| 3 | + | |
| 4 | +#if _MSC_VER > 1000 | |
| 5 | +#pragma once | |
| 6 | +#endif // _MSC_VER > 1000 | |
| 7 | +// SysConfig.h : header file | |
| 8 | +// | |
| 9 | + | |
| 10 | +///////////////////////////////////////////////////////////////////////////// | |
| 11 | +// CSysConfig dialog | |
| 12 | + | |
| 13 | +class CSysConfig : public CDialog | |
| 14 | +{ | |
| 15 | +// Construction | |
| 16 | +public: | |
| 17 | + CSysConfig(CWnd* pParent = NULL); // standard constructor | |
| 18 | + | |
| 19 | +// Dialog Data | |
| 20 | + //{{AFX_DATA(CSysConfig) | |
| 21 | + enum { IDD = IDD_SYSTEM_CONFIG }; | |
| 22 | + CComboBox mylistEar01; | |
| 23 | + CComboBox mylistEar02; | |
| 24 | + CComboBox mylistEar03; | |
| 25 | + CComboBox mylistEar04; | |
| 26 | + CComboBox mylistEar05; | |
| 27 | + CComboBox mylistEar06; | |
| 28 | + CComboBox mylistEar07; | |
| 29 | + CComboBox mylistEar08; | |
| 30 | + CComboBox mylistEar09; | |
| 31 | + CComboBox mylistEar10; | |
| 32 | + CComboBox mylistUsb01; | |
| 33 | + CComboBox mylistUsb02; | |
| 34 | + CComboBox mylistUsb03; | |
| 35 | + CComboBox mylistUsb04; | |
| 36 | + CComboBox mylistUsb05; | |
| 37 | + CComboBox mylistUsb06; | |
| 38 | + CComboBox mylistUsb07; | |
| 39 | + CComboBox mylistUsb08; | |
| 40 | + CComboBox mylistUsb09; | |
| 41 | + CComboBox mylistUsb10; | |
| 42 | + CComboBox mylistStreambit; | |
| 43 | + CComboBox mylistStopbit; | |
| 44 | + CComboBox mylistDatabit; | |
| 45 | + CComboBox mylistCheck; | |
| 46 | + CButton myCheckSameSn; | |
| 47 | + CString mystrFilePathUsb; | |
| 48 | + CString mystrFilePathEar; | |
| 49 | + CString mystrSnEnd; | |
| 50 | + CString mystrSnStart; | |
| 51 | + //}}AFX_DATA | |
| 52 | + | |
| 53 | + | |
| 54 | +// Overrides | |
| 55 | + // ClassWizard generated virtual function overrides | |
| 56 | + //{{AFX_VIRTUAL(CSysConfig) | |
| 57 | + protected: | |
| 58 | + virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support | |
| 59 | + //}}AFX_VIRTUAL | |
| 60 | + | |
| 61 | +// Implementation | |
| 62 | +protected: | |
| 63 | + | |
| 64 | + // Generated message map functions | |
| 65 | + //{{AFX_MSG(CSysConfig) | |
| 66 | + afx_msg void OnCheckSameSn(); | |
| 67 | + virtual BOOL OnInitDialog(); | |
| 68 | + afx_msg void OnButtonSecpathEar(); | |
| 69 | + afx_msg void OnButtonSecpathUsb(); | |
| 70 | + //}}AFX_MSG | |
| 71 | + DECLARE_MESSAGE_MAP() | |
| 72 | +public: | |
| 73 | + afx_msg void OnBnClickedOk(); | |
| 74 | + CString mystrSNHeader; | |
| 75 | + // 波特率 | |
| 76 | + CString myintBandrate; | |
| 77 | + afx_msg void OnCbnSelchangeComportEarUsb(); | |
| 78 | + // 有效数据才允许保存 | |
| 79 | + bool myAllowSave; | |
| 80 | +}; | |
| 81 | + | |
| 82 | +//{{AFX_INSERT_LOCATION}} | |
| 83 | +// Microsoft Visual C++ will insert additional declarations immediately before the previous line. | |
| 84 | + | |
| 85 | +#endif // !defined(AFX_SYSCONFIG_H__80AB7013_3975_451D_83C3_A137DEB231FB__INCLUDED_) | ... | ... |
| 1 | 1 | //{{NO_DEPENDENCIES}} |
| 2 | -// Microsoft Developer Studio generated include file. | |
| 2 | +// Microsoft Visual C++ generated include file. | |
| 3 | 3 | // Used by BlueFlashTool.rc |
| 4 | 4 | // |
| 5 | 5 | #define IDD_BLUEFLASHTOOL_DIALOG 102 |
| 6 | 6 | #define IDR_MAINFRAME 128 |
| 7 | 7 | #define IDD_SYSTEM_CONFIG 131 |
| 8 | 8 | #define IDC_STATIC_GROUP01 1000 |
| 9 | -#define IDC_CHECK_EAR01 1001 | |
| 10 | -#define IDC_CHECK_USB01 1002 | |
| 9 | +#define IDC_CHECK_EAR1 1001 | |
| 10 | +#define IDC_CHECK_USB1 1002 | |
| 11 | 11 | #define IDC_PROGRESS_EAR01 1003 |
| 12 | 12 | #define IDC_PROGRESS_USB01 1004 |
| 13 | 13 | #define IDC_BUTTON_START_EAR01 1005 |
| ... | ... | @@ -100,7 +100,7 @@ |
| 100 | 100 | #define IDC_MSCOMM19 1093 |
| 101 | 101 | #define IDC_MSCOMM20 1094 |
| 102 | 102 | #define IDC_DEBUG_MESSAGE 1095 |
| 103 | -#define IDC_CHECK1 1096 | |
| 103 | +#define IDC_CHECK_SAME_SN 1096 | |
| 104 | 104 | #define IDC_EDIT_SN_START 1097 |
| 105 | 105 | #define IDC_EDIT_SN_END 1098 |
| 106 | 106 | #define IDC_COMBO_BAND 1099 |
| ... | ... | @@ -108,39 +108,42 @@ |
| 108 | 108 | #define IDC_COMBO_DATABIT 1101 |
| 109 | 109 | #define IDC_COMBO_STOPBIT 1102 |
| 110 | 110 | #define IDC_COMBO_STEAM 1103 |
| 111 | -#define IDC_COMBO6 1104 | |
| 112 | -#define IDC_COMBO7 1105 | |
| 113 | -#define IDC_COMBO8 1106 | |
| 114 | -#define IDC_COMBO9 1107 | |
| 115 | -#define IDC_COMBO10 1108 | |
| 116 | -#define IDC_COMBO11 1109 | |
| 117 | -#define IDC_COMBO12 1110 | |
| 118 | -#define IDC_COMBO13 1111 | |
| 119 | -#define IDC_COMBO14 1112 | |
| 120 | -#define IDC_COMBO15 1113 | |
| 121 | -#define IDC_COMBO16 1114 | |
| 122 | -#define IDC_COMBO17 1115 | |
| 123 | -#define IDC_COMBO18 1116 | |
| 124 | -#define IDC_COMBO19 1117 | |
| 125 | -#define IDC_COMBO20 1118 | |
| 126 | -#define IDC_COMBO21 1119 | |
| 127 | -#define IDC_COMBO22 1120 | |
| 128 | -#define IDC_COMBO23 1121 | |
| 129 | -#define IDC_COMBO24 1122 | |
| 130 | -#define IDC_COMBO25 1123 | |
| 111 | +#define IDC_COMPORT_EAR01 1104 | |
| 112 | +#define IDC_COMPORT_EAR02 1105 | |
| 113 | +#define IDC_COMPORT_EAR03 1106 | |
| 114 | +#define IDC_COMPORT_EAR04 1107 | |
| 115 | +#define IDC_COMPORT_EAR05 1108 | |
| 116 | +#define IDC_COMPORT_EAR06 1109 | |
| 117 | +#define IDC_COMPORT_EAR07 1110 | |
| 118 | +#define IDC_COMPORT_EAR08 1111 | |
| 119 | +#define IDC_COMPORT_EAR09 1112 | |
| 120 | +#define IDC_COMPORT_EAR10 1113 | |
| 121 | +#define IDC_COMPORT_USB01 1114 | |
| 122 | +#define IDC_COMPORT_USB02 1115 | |
| 123 | +#define IDC_COMPORT_USB03 1116 | |
| 124 | +#define IDC_COMPORT_USB04 1117 | |
| 125 | +#define IDC_COMPORT_USB05 1118 | |
| 126 | +#define IDC_COMPORT_USB06 1119 | |
| 127 | +#define IDC_COMPORT_USB07 1120 | |
| 128 | +#define IDC_COMPORT_USB08 1121 | |
| 129 | +#define IDC_COMPORT_USB09 1122 | |
| 130 | +#define IDC_COMPORT_USB10 1123 | |
| 131 | 131 | #define IDC_EDIT_EAR_PATH 1124 |
| 132 | 132 | #define IDC_EDIT_USB_PATH 1125 |
| 133 | 133 | #define IDC_BUTTON_SECPATH_EAR 1126 |
| 134 | 134 | #define IDC_BUTTON_SECPATH_USB 1127 |
| 135 | 135 | #define IDC_BUTTON_SAVE 1128 |
| 136 | +#define IDC_BUTTON_INIT_COMPORT 1129 | |
| 137 | +#define IDC_EDIT1 1130 | |
| 138 | +#define IDC_EDIT_SN_HEADER 1130 | |
| 136 | 139 | |
| 137 | 140 | // Next default values for new objects |
| 138 | 141 | // |
| 139 | 142 | #ifdef APSTUDIO_INVOKED |
| 140 | 143 | #ifndef APSTUDIO_READONLY_SYMBOLS |
| 141 | -#define _APS_NEXT_RESOURCE_VALUE 132 | |
| 144 | +#define _APS_NEXT_RESOURCE_VALUE 134 | |
| 142 | 145 | #define _APS_NEXT_COMMAND_VALUE 32771 |
| 143 | -#define _APS_NEXT_CONTROL_VALUE 1129 | |
| 146 | +#define _APS_NEXT_CONTROL_VALUE 1131 | |
| 144 | 147 | #define _APS_NEXT_SYMED_VALUE 101 |
| 145 | 148 | #endif |
| 146 | 149 | #endif | ... | ... |
Please
register
or
login
to post a comment