Commit 5011b628ea62c6e3a3a420ef7d5ee0085caf2d24

Authored by xiemeng
1 parent d7d2cf55

update 20210126

1 /*.ncb 1 /*.ncb
2 /*.aps 2 /*.aps
  3 +/BlueFlashTool.si4project
@@ -33,14 +33,26 @@ CBlueFlashToolApp::CBlueFlashToolApp() @@ -33,14 +33,26 @@ CBlueFlashToolApp::CBlueFlashToolApp()
33 33
34 ///////////////////////////////////////////////////////////////////////////// 34 /////////////////////////////////////////////////////////////////////////////
35 // The one and only CBlueFlashToolApp object 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 // CBlueFlashToolApp initialization 51 // CBlueFlashToolApp initialization
41 52
42 BOOL CBlueFlashToolApp::InitInstance() 53 BOOL CBlueFlashToolApp::InitInstance()
43 { 54 {
  55 + CString strglobalpath;
44 AfxEnableControlContainer(); 56 AfxEnableControlContainer();
45 57
46 // Standard initialization 58 // Standard initialization
@@ -49,26 +61,18 @@ BOOL CBlueFlashToolApp::InitInstance() @@ -49,26 +61,18 @@ BOOL CBlueFlashToolApp::InitInstance()
49 // the specific initialization routines you do not need. 61 // the specific initialization routines you do not need.
50 62
51 #ifdef _AFXDLL 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 #else 65 #else
54 Enable3dControlsStatic(); // Call this when linking to MFC statically 66 Enable3dControlsStatic(); // Call this when linking to MFC statically
55 #endif 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 CBlueFlashToolDlg dlg; 78 CBlueFlashToolDlg dlg;
@@ -89,3 +93,138 @@ BOOL CBlueFlashToolApp::InitInstance() @@ -89,3 +93,138 @@ BOOL CBlueFlashToolApp::InitInstance()
89 // application, rather than start the application's message pump. 93 // application, rather than start the application's message pump.
90 return FALSE; 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,16 +13,58 @@
13 #endif 13 #endif
14 14
15 #include "resource.h" // main symbols 15 #include "resource.h" // main symbols
  16 +#include "IniFile.h"
  17 +
  18 +
16 19
17 ///////////////////////////////////////////////////////////////////////////// 20 /////////////////////////////////////////////////////////////////////////////
18 // CBlueFlashToolApp: 21 // CBlueFlashToolApp:
19 // See BlueFlashTool.cpp for the implementation of this class 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 class CBlueFlashToolApp : public CWinApp 62 class CBlueFlashToolApp : public CWinApp
23 { 63 {
24 public: 64 public:
25 CBlueFlashToolApp(); 65 CBlueFlashToolApp();
  66 + bool LoadConfigs(void);
  67 + bool SaveConfigs(void);
26 68
27 // Overrides 69 // Overrides
28 // ClassWizard generated virtual function overrides 70 // ClassWizard generated virtual function overrides
@@ -38,9 +80,10 @@ public: @@ -38,9 +80,10 @@ public:
38 // DO NOT EDIT what you see in these blocks of generated code ! 80 // DO NOT EDIT what you see in these blocks of generated code !
39 //}}AFX_MSG 81 //}}AFX_MSG
40 DECLARE_MESSAGE_MAP() 82 DECLARE_MESSAGE_MAP()
  83 + // ¼ÓÔØ³ÌÐòĬÈÏÅäÖÃ
41 }; 84 };
42 85
43 - 86 +extern CBlueFlashToolApp *g_pmainapp;
44 ///////////////////////////////////////////////////////////////////////////// 87 /////////////////////////////////////////////////////////////////////////////
45 88
46 //{{AFX_INSERT_LOCATION}} 89 //{{AFX_INSERT_LOCATION}}
1 -//Microsoft Developer Studio generated resource script. 1 +// Microsoft Visual C++ generated resource script.
2 // 2 //
3 #include "resource.h" 3 #include "resource.h"
4 4
@@ -27,18 +27,18 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED @@ -27,18 +27,18 @@ LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
27 // TEXTINCLUDE 27 // TEXTINCLUDE
28 // 28 //
29 29
30 -1 TEXTINCLUDE DISCARDABLE 30 +1 TEXTINCLUDE
31 BEGIN 31 BEGIN
32 "resource.h\0" 32 "resource.h\0"
33 END 33 END
34 34
35 -2 TEXTINCLUDE DISCARDABLE 35 +2 TEXTINCLUDE
36 BEGIN 36 BEGIN
37 "#include ""afxres.h""\r\n" 37 "#include ""afxres.h""\r\n"
38 "\0" 38 "\0"
39 END 39 END
40 40
41 -3 TEXTINCLUDE DISCARDABLE 41 +3 TEXTINCLUDE
42 BEGIN 42 BEGIN
43 "#define _AFX_NO_SPLITTER_RESOURCES\r\n" 43 "#define _AFX_NO_SPLITTER_RESOURCES\r\n"
44 "#define _AFX_NO_OLE_RESOURCES\r\n" 44 "#define _AFX_NO_OLE_RESOURCES\r\n"
@@ -66,7 +66,7 @@ END @@ -66,7 +66,7 @@ END
66 66
67 // Icon with lowest ID value placed first to ensure application icon 67 // Icon with lowest ID value placed first to ensure application icon
68 // remains consistent on all systems. 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,273 +74,185 @@ IDR_MAINFRAME ICON DISCARDABLE "res\\BlueFlashTool.ico"
74 // 74 //
75 75
76 IDD_BLUEFLASHTOOL_DIALOG DIALOGEX 0, 0, 552, 367 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 EXSTYLE WS_EX_APPWINDOW 78 EXSTYLE WS_EX_APPWINDOW
79 CAPTION "BlueFlashTool" 79 CAPTION "BlueFlashTool"
80 FONT 9, "宋体", 0, 0, 0x1 80 FONT 9, "宋体", 0, 0, 0x1
81 BEGIN 81 BEGIN
82 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP01,0,1,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR01,132,15,50,14 87 PUSHBUTTON "开始",IDC_BUTTON_START_EAR01,132,15,50,14
92 PUSHBUTTON "开始",IDC_BUTTON_START_USB01,132,34,50,14 88 PUSHBUTTON "开始",IDC_BUTTON_START_USB01,132,34,50,14
93 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP2,0,60,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR2,132,74,50,14 94 PUSHBUTTON "开始",IDC_BUTTON_START_EAR2,132,74,50,14
103 PUSHBUTTON "开始",IDC_BUTTON_START_USB2,132,93,50,14 95 PUSHBUTTON "开始",IDC_BUTTON_START_USB2,132,93,50,14
104 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP3,0,120,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR3,132,134,50,14 101 PUSHBUTTON "开始",IDC_BUTTON_START_EAR3,132,134,50,14
114 PUSHBUTTON "开始",IDC_BUTTON_START_USB3,132,153,50,14 102 PUSHBUTTON "开始",IDC_BUTTON_START_USB3,132,153,50,14
115 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP4,0,180,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR4,132,194,50,14 108 PUSHBUTTON "开始",IDC_BUTTON_START_EAR4,132,194,50,14
125 PUSHBUTTON "开始",IDC_BUTTON_START_USB4,132,213,50,14 109 PUSHBUTTON "开始",IDC_BUTTON_START_USB4,132,213,50,14
126 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP5,0,240,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR5,132,254,50,14 115 PUSHBUTTON "开始",IDC_BUTTON_START_EAR5,132,254,50,14
136 PUSHBUTTON "开始",IDC_BUTTON_START_USB5,132,273,50,14 116 PUSHBUTTON "开始",IDC_BUTTON_START_USB5,132,273,50,14
137 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP6,195,0,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR6,329,14,50,14 122 PUSHBUTTON "开始",IDC_BUTTON_START_EAR6,329,14,50,14
147 PUSHBUTTON "开始",IDC_BUTTON_START_USB6,329,33,50,14 123 PUSHBUTTON "开始",IDC_BUTTON_START_USB6,329,33,50,14
148 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP7,195,60,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR7,329,74,50,14 129 PUSHBUTTON "开始",IDC_BUTTON_START_EAR7,329,74,50,14
158 PUSHBUTTON "开始",IDC_BUTTON_START_USB7,329,93,50,14 130 PUSHBUTTON "开始",IDC_BUTTON_START_USB7,329,93,50,14
159 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP8,195,120,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR8,329,134,50,14 136 PUSHBUTTON "开始",IDC_BUTTON_START_EAR8,329,134,50,14
169 PUSHBUTTON "开始",IDC_BUTTON_START_USB8,329,153,50,14 137 PUSHBUTTON "开始",IDC_BUTTON_START_USB8,329,153,50,14
170 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP9,195,180,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR9,329,194,50,14 143 PUSHBUTTON "开始",IDC_BUTTON_START_EAR9,329,194,50,14
180 PUSHBUTTON "开始",IDC_BUTTON_START_USB9,329,213,50,14 144 PUSHBUTTON "开始",IDC_BUTTON_START_USB9,329,213,50,14
181 GROUPBOX "SN:000000000000",IDC_STATIC_GROUP10,195,240,190,51 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 PUSHBUTTON "开始",IDC_BUTTON_START_EAR10,329,254,50,14 150 PUSHBUTTON "开始",IDC_BUTTON_START_EAR10,329,254,50,14
191 PUSHBUTTON "开始",IDC_BUTTON_START_USB10,329,273,50,14 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 PUSHBUTTON "参数设置",IDC_BUTTON_SETTING,326,300,50,14 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 END 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 CAPTION "Dialog" 182 CAPTION "Dialog"
244 -FONT 10, "System" 183 +FONT 10, "System", 0, 0, 0x0
245 BEGIN 184 BEGIN
246 GROUPBOX "SN号设置",IDC_STATIC,0,0,120,60 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 GROUPBOX "COM口配置",IDC_STATIC,0,65,120,100 190 GROUPBOX "COM口配置",IDC_STATIC,0,65,120,100
254 LTEXT "波特率",IDC_STATIC,5,80,35,8,SS_CENTERIMAGE 191 LTEXT "波特率",IDC_STATIC,5,80,35,8,SS_CENTERIMAGE
255 LTEXT "校验位",IDC_STATIC,5,97,35,8,SS_CENTERIMAGE 192 LTEXT "校验位",IDC_STATIC,5,97,35,8,SS_CENTERIMAGE
256 LTEXT "数据位",IDC_STATIC,5,114,35,8,SS_CENTERIMAGE 193 LTEXT "数据位",IDC_STATIC,5,114,35,8,SS_CENTERIMAGE
257 LTEXT "停止位",IDC_STATIC,5,131,35,8,SS_CENTERIMAGE 194 LTEXT "停止位",IDC_STATIC,5,131,35,8,SS_CENTERIMAGE
258 LTEXT "流控制",IDC_STATIC,5,148,35,8,SS_CENTERIMAGE 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 GROUPBOX "Static",IDC_STATIC,130,0,155,165 202 GROUPBOX "Static",IDC_STATIC,130,0,155,165
271 LTEXT "1: 耳机",IDC_STATIC,135,10,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,10,17,12,SS_CENTERIMAGE 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 LTEXT "2: 耳机",IDC_STATIC,135,25,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,25,17,12,SS_CENTERIMAGE 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 LTEXT "3: 耳机",IDC_STATIC,135,40,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,40,17,12,SS_CENTERIMAGE 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 LTEXT "4: 耳机",IDC_STATIC,135,55,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,55,17,12,SS_CENTERIMAGE 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 LTEXT "5: 耳机",IDC_STATIC,135,70,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,70,17,12,SS_CENTERIMAGE 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 LTEXT "6: 耳机",IDC_STATIC,135,85,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,85,17,12,SS_CENTERIMAGE 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 LTEXT "7: 耳机",IDC_STATIC,135,100,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,100,17,12,SS_CENTERIMAGE 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 LTEXT "8: 耳机",IDC_STATIC,135,115,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,115,17,12,SS_CENTERIMAGE 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 LTEXT "9: 耳机",IDC_STATIC,135,130,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,130,17,12,SS_CENTERIMAGE 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 LTEXT "10: 耳机",IDC_STATIC,135,145,29,12,SS_CENTERIMAGE 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 LTEXT "发射器",IDC_STATIC,207,145,17,12,SS_CENTERIMAGE 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 GROUPBOX "软件路径",IDC_STATIC,0,170,250,50 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 PUSHBUTTON "耳机软件",IDC_BUTTON_SECPATH_EAR,192,185,50,14 246 PUSHBUTTON "耳机软件",IDC_BUTTON_SECPATH_EAR,192,185,50,14
337 PUSHBUTTON "发射器软件",IDC_BUTTON_SECPATH_USB,192,204,50,14 247 PUSHBUTTON "发射器软件",IDC_BUTTON_SECPATH_USB,192,204,50,14
338 PUSHBUTTON "保存",IDOK,255,185,34,14 248 PUSHBUTTON "保存",IDOK,255,185,34,14
339 PUSHBUTTON "取消",IDCANCEL,255,204,34,14 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 END 253 END
341 254
342 255
343 -#ifndef _MAC  
344 ///////////////////////////////////////////////////////////////////////////// 256 /////////////////////////////////////////////////////////////////////////////
345 // 257 //
346 // Version 258 // Version
@@ -363,15 +275,13 @@ BEGIN @@ -363,15 +275,13 @@ BEGIN
363 BEGIN 275 BEGIN
364 BLOCK "080404B0" 276 BLOCK "080404B0"
365 BEGIN 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 END 285 END
376 END 286 END
377 BLOCK "VarFileInfo" 287 BLOCK "VarFileInfo"
@@ -380,8 +290,6 @@ BEGIN @@ -380,8 +290,6 @@ BEGIN
380 END 290 END
381 END 291 END
382 292
383 -#endif // !_MAC  
384 -  
385 293
386 ///////////////////////////////////////////////////////////////////////////// 294 /////////////////////////////////////////////////////////////////////////////
387 // 295 //
@@ -389,7 +297,7 @@ END @@ -389,7 +297,7 @@ END
389 // 297 //
390 298
391 #ifdef APSTUDIO_INVOKED 299 #ifdef APSTUDIO_INVOKED
392 -GUIDELINES DESIGNINFO DISCARDABLE 300 +GUIDELINES DESIGNINFO
393 BEGIN 301 BEGIN
394 IDD_BLUEFLASHTOOL_DIALOG, DIALOG 302 IDD_BLUEFLASHTOOL_DIALOG, DIALOG
395 BEGIN 303 BEGIN
  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
  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,7 +29,28 @@ void CBlueFlashToolDlg::DoDataExchange(CDataExchange* pDX)
29 { 29 {
30 CDialog::DoDataExchange(pDX); 30 CDialog::DoDataExchange(pDX);
31 //{{AFX_DATA_MAP(CBlueFlashToolDlg) 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 //}}AFX_DATA_MAP 54 //}}AFX_DATA_MAP
34 } 55 }
35 56
@@ -39,6 +60,27 @@ BEGIN_MESSAGE_MAP(CBlueFlashToolDlg, CDialog) @@ -39,6 +60,27 @@ BEGIN_MESSAGE_MAP(CBlueFlashToolDlg, CDialog)
39 ON_WM_QUERYDRAGICON() 60 ON_WM_QUERYDRAGICON()
40 ON_BN_CLICKED(IDC_BUTTON_SETTING, OnButtonSetting) 61 ON_BN_CLICKED(IDC_BUTTON_SETTING, OnButtonSetting)
41 //}}AFX_MSG_MAP 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 END_MESSAGE_MAP() 84 END_MESSAGE_MAP()
43 85
44 ///////////////////////////////////////////////////////////////////////////// 86 /////////////////////////////////////////////////////////////////////////////
@@ -54,6 +96,57 @@ BOOL CBlueFlashToolDlg::OnInitDialog() @@ -54,6 +96,57 @@ BOOL CBlueFlashToolDlg::OnInitDialog()
54 SetIcon(m_hIcon, FALSE); // Set small icon 96 SetIcon(m_hIcon, FALSE); // Set small icon
55 97
56 // TODO: Add extra initialization here 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 UpdateGroupsCaptions(); 150 UpdateGroupsCaptions();
58 151
59 return TRUE; // return TRUE unless you set the focus to a control 152 return TRUE; // return TRUE unless you set the focus to a control
@@ -106,23 +199,144 @@ void CBlueFlashToolDlg::OnButtonSetting() @@ -106,23 +199,144 @@ void CBlueFlashToolDlg::OnButtonSetting()
106 void CBlueFlashToolDlg::UpdateGroupsCaptions() 199 void CBlueFlashToolDlg::UpdateGroupsCaptions()
107 { 200 {
108 CString strCaptionStatics; 201 CString strCaptionStatics;
  202 + int loop = 0;
  203 + bool group_idle;
  204 +
109 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur); 205 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur);
110 GetDlgItem(IDC_STATIC_GROUP01)->SetWindowText(strCaptionStatics); 206 GetDlgItem(IDC_STATIC_GROUP01)->SetWindowText(strCaptionStatics);
111 - GetDlgItem(IDC_STATIC_GROUP6)->SetWindowText(strCaptionStatics);  
112 -  
113 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+1); 207 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+1);
114 GetDlgItem(IDC_STATIC_GROUP2)->SetWindowText(strCaptionStatics); 208 GetDlgItem(IDC_STATIC_GROUP2)->SetWindowText(strCaptionStatics);
115 - GetDlgItem(IDC_STATIC_GROUP7)->SetWindowText(strCaptionStatics);  
116 -  
117 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+2); 209 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+2);
118 GetDlgItem(IDC_STATIC_GROUP3)->SetWindowText(strCaptionStatics); 210 GetDlgItem(IDC_STATIC_GROUP3)->SetWindowText(strCaptionStatics);
119 - GetDlgItem(IDC_STATIC_GROUP8)->SetWindowText(strCaptionStatics);  
120 -  
121 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+3); 211 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+3);
122 GetDlgItem(IDC_STATIC_GROUP4)->SetWindowText(strCaptionStatics); 212 GetDlgItem(IDC_STATIC_GROUP4)->SetWindowText(strCaptionStatics);
123 - GetDlgItem(IDC_STATIC_GROUP9)->SetWindowText(strCaptionStatics);  
124 -  
125 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+4); 213 strCaptionStatics.Format("SN: %s%05d",g_AppMainData.SN_head,g_AppMainData.SN_cur+4);
126 GetDlgItem(IDC_STATIC_GROUP5)->SetWindowText(strCaptionStatics); 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 GetDlgItem(IDC_STATIC_GROUP10)->SetWindowText(strCaptionStatics); 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,6 +2,7 @@
2 // 2 //
3 //{{AFX_INCLUDES() 3 //{{AFX_INCLUDES()
4 #include "mscomm.h" 4 #include "mscomm.h"
  5 +#include "afxwin.h"
5 //}}AFX_INCLUDES 6 //}}AFX_INCLUDES
6 7
7 #if !defined(AFX_BLUEFLASHTOOLDLG_H__DE44DC07_CA43_417C_A12F_149A2C736BB5__INCLUDED_) 8 #if !defined(AFX_BLUEFLASHTOOLDLG_H__DE44DC07_CA43_417C_A12F_149A2C736BB5__INCLUDED_)
@@ -24,7 +25,27 @@ public: @@ -24,7 +25,27 @@ public:
24 // Dialog Data 25 // Dialog Data
25 //{{AFX_DATA(CBlueFlashToolDlg) 26 //{{AFX_DATA(CBlueFlashToolDlg)
26 enum { IDD = IDD_BLUEFLASHTOOL_DIALOG }; 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 //}}AFX_DATA 49 //}}AFX_DATA
29 50
30 // ClassWizard generated virtual function overrides 51 // ClassWizard generated virtual function overrides
@@ -45,6 +66,19 @@ protected: @@ -45,6 +66,19 @@ protected:
45 afx_msg void OnButtonSetting(); 66 afx_msg void OnButtonSetting();
46 //}}AFX_MSG 67 //}}AFX_MSG
47 DECLARE_MESSAGE_MAP() 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 //{{AFX_INSERT_LOCATION}} 84 //{{AFX_INSERT_LOCATION}}
  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
  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
  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 +}
  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_)
@@ -3,8 +3,3 @@ @@ -3,8 +3,3 @@
3 // stdafx.obj will contain the pre-compiled type information 3 // stdafx.obj will contain the pre-compiled type information
4 4
5 #include "stdafx.h" 5 #include "stdafx.h"
6 -  
7 -app_main_data_struct g_AppMainData;  
8 -CByteArray g_pBufferBinFile[20];  
9 -  
10 -  
@@ -21,39 +21,6 @@ @@ -21,39 +21,6 @@
21 #endif // _AFX_NO_AFXCMN_SUPPORT 21 #endif // _AFX_NO_AFXCMN_SUPPORT
22 #include <string> 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 //{{AFX_INSERT_LOCATION}} 24 //{{AFX_INSERT_LOCATION}}
58 // Microsoft Visual C++ will insert additional declarations immediately before the previous line. 25 // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
59 26
  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 +}
  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 //{{NO_DEPENDENCIES}} 1 //{{NO_DEPENDENCIES}}
2 -// Microsoft Developer Studio generated include file. 2 +// Microsoft Visual C++ generated include file.
3 // Used by BlueFlashTool.rc 3 // Used by BlueFlashTool.rc
4 // 4 //
5 #define IDD_BLUEFLASHTOOL_DIALOG 102 5 #define IDD_BLUEFLASHTOOL_DIALOG 102
6 #define IDR_MAINFRAME 128 6 #define IDR_MAINFRAME 128
7 #define IDD_SYSTEM_CONFIG 131 7 #define IDD_SYSTEM_CONFIG 131
8 #define IDC_STATIC_GROUP01 1000 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 #define IDC_PROGRESS_EAR01 1003 11 #define IDC_PROGRESS_EAR01 1003
12 #define IDC_PROGRESS_USB01 1004 12 #define IDC_PROGRESS_USB01 1004
13 #define IDC_BUTTON_START_EAR01 1005 13 #define IDC_BUTTON_START_EAR01 1005
@@ -100,7 +100,7 @@ @@ -100,7 +100,7 @@
100 #define IDC_MSCOMM19 1093 100 #define IDC_MSCOMM19 1093
101 #define IDC_MSCOMM20 1094 101 #define IDC_MSCOMM20 1094
102 #define IDC_DEBUG_MESSAGE 1095 102 #define IDC_DEBUG_MESSAGE 1095
103 -#define IDC_CHECK1 1096 103 +#define IDC_CHECK_SAME_SN 1096
104 #define IDC_EDIT_SN_START 1097 104 #define IDC_EDIT_SN_START 1097
105 #define IDC_EDIT_SN_END 1098 105 #define IDC_EDIT_SN_END 1098
106 #define IDC_COMBO_BAND 1099 106 #define IDC_COMBO_BAND 1099
@@ -108,39 +108,42 @@ @@ -108,39 +108,42 @@
108 #define IDC_COMBO_DATABIT 1101 108 #define IDC_COMBO_DATABIT 1101
109 #define IDC_COMBO_STOPBIT 1102 109 #define IDC_COMBO_STOPBIT 1102
110 #define IDC_COMBO_STEAM 1103 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 #define IDC_EDIT_EAR_PATH 1124 131 #define IDC_EDIT_EAR_PATH 1124
132 #define IDC_EDIT_USB_PATH 1125 132 #define IDC_EDIT_USB_PATH 1125
133 #define IDC_BUTTON_SECPATH_EAR 1126 133 #define IDC_BUTTON_SECPATH_EAR 1126
134 #define IDC_BUTTON_SECPATH_USB 1127 134 #define IDC_BUTTON_SECPATH_USB 1127
135 #define IDC_BUTTON_SAVE 1128 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 // Next default values for new objects 140 // Next default values for new objects
138 // 141 //
139 #ifdef APSTUDIO_INVOKED 142 #ifdef APSTUDIO_INVOKED
140 #ifndef APSTUDIO_READONLY_SYMBOLS 143 #ifndef APSTUDIO_READONLY_SYMBOLS
141 -#define _APS_NEXT_RESOURCE_VALUE 132 144 +#define _APS_NEXT_RESOURCE_VALUE 134
142 #define _APS_NEXT_COMMAND_VALUE 32771 145 #define _APS_NEXT_COMMAND_VALUE 32771
143 -#define _APS_NEXT_CONTROL_VALUE 1129 146 +#define _APS_NEXT_CONTROL_VALUE 1131
144 #define _APS_NEXT_SYMED_VALUE 101 147 #define _APS_NEXT_SYMED_VALUE 101
145 #endif 148 #endif
146 #endif 149 #endif
Please register or login to post a comment