From 9635835961fd9ab52e5ad575f13c7c373dbf8124 Mon Sep 17 00:00:00 2001 From: PhrotonX Date: Sat, 19 Jun 2021 14:38:04 +0800 Subject: [PATCH 1/4] Build 140 Generate button generates time_low to time_hi_and_version with bugs, Improved UI with default radio buttons, Improved resource files & removed uuidGen.depend on github repo --- uuidGen.depend | 17 ----------------- 1 file changed, 17 deletions(-) delete mode 100644 uuidGen.depend diff --git a/uuidGen.depend b/uuidGen.depend deleted file mode 100644 index 61e49ed..0000000 --- a/uuidGen.depend +++ /dev/null @@ -1,17 +0,0 @@ -# depslib dependency file v1.0 -1623560598 source:c:\users\cpasc\documents\c++\projects\uuid generator\main.cpp - - "resource.h" - - - - - -1624006045 c:\users\cpasc\documents\c++\projects\uuid generator\resource.h - -1624006881 source:c:\users\cpasc\documents\c++\projects\uuid generator\main.rc - - - - "resource.h" - From 0ebc22fd75f6d99832b26defe9edee9035f7ffba Mon Sep 17 00:00:00 2001 From: PhrotonX Date: Sat, 19 Jun 2021 14:51:00 +0800 Subject: [PATCH 2/4] Build 140 - Reupload Generate button generates time_low to time_hi_and_version with bugs, Improved UI with default radio buttons, Improved resource files & removed uuidGen.depend on github repo --- main.cpp | 103 +++++++++++++++++++++++++++++++++++++---------------- main.rc | 26 +++++++------- resource.h | 16 ++++----- 3 files changed, 95 insertions(+), 50 deletions(-) diff --git a/main.cpp b/main.cpp index 4fae4f5..ef51343 100644 --- a/main.cpp +++ b/main.cpp @@ -4,49 +4,52 @@ #include #include #include - -#ifdef UNICODE -typedef std::wostringstream tstringstream; -#else -typedef std::ostringstream tstringstream; -#endif +#include const char g_szClassName[] = "windowClass"; -int build = 75; -template std::string hexstr(I w, size_t hex_len = sizeof(I)<<1) { - static const char* digits = "0123456789abcdef"; - std::string rc(hex_len,'0'); - for (size_t i=0, j=(hex_len-1)*4 ; i>j) & 0x0f]; - return rc; -} +char time_mid[3]; //4 -char time_low[7]; //8 -int time_mid[3]; //4 -int time_hi_and_version[3]; //4 int clock_seq_hi_and_res_clock_seq_low[3]; //4 int node[11]; //12 -namespace converted{ - tstringstream time_low; +char uuidVersion; + +namespace uuid{ + char time_low[8]; //8 } + +char time_hi_and_version[3]; //4 + + void intToHex(){ char hex[] = "0123456789abcdef"; - time_low[0] = hex[rand()%16]; - time_low[1] = hex[rand()%16]; - time_low[2] = hex[rand()%16]; - time_low[3] = hex[rand()%16]; - time_low[4] = hex[rand()%16]; - time_low[5] = hex[rand()%16]; - time_low[6] = hex[rand()%16]; - time_low[7] = hex[rand()%16]; + uuid::time_low[0] = hex[rand()%16]; + uuid::time_low[1] = hex[rand()%16]; + uuid::time_low[2] = hex[rand()%16]; + uuid::time_low[3] = hex[rand()%16]; + uuid::time_low[4] = hex[rand()%16]; + uuid::time_low[5] = hex[rand()%16]; + uuid::time_low[6] = hex[rand()%16]; + uuid::time_low[7] = hex[rand()%16]; + + time_mid[0] = hex[rand()%16]; + time_mid[1] = hex[rand()%16]; + time_mid[2] = hex[rand()%16]; + time_mid[3] = hex[rand()%16]; + + time_hi_and_version[0] = '4'; + time_hi_and_version[1] = hex[rand()%16]; + time_hi_and_version[2] = hex[rand()%16]; + time_hi_and_version[3] = hex[rand()%16]; + uuidVersion = time_hi_and_version[0]; } INT_PTR AboutDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { + switch(msg) { case WM_CLOSE: @@ -93,6 +96,10 @@ INT_PTR DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) EndDialog(hwnd, 0); break; case WM_INITDIALOG: + CheckRadioButton(hwnd, IDC_OPT_UUID_LWL, IDC_OPT_UUID_UPL, IDC_OPT_UUID_LWL); + CheckRadioButton(hwnd, IDC_ADV_RS_UCV, IDC_ADV_RS_NCS, IDC_ADV_RS_UCV); + CheckRadioButton(hwnd, IDC_ADV_VS_DV, IDC_ADV_VS_UD, IDC_ADV_VS_DV); + CheckDlgButton(hwnd, IDC_OPT_UUID_USE_HYPENS, BST_CHECKED); return TRUE; break; case WM_COMMAND: @@ -101,9 +108,45 @@ INT_PTR DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) case ID_GENERATE: { intToHex(); - SetDlgItemText(hwnd, IDC_UUID_EDIT, time_low); - SetDlgItemText(hwnd, IDS_TIMESTAMP_TIME_LOW, time_low); - SetDlgItemText(hwnd, IDS_TIME_LOW, time_low); + + std::__cxx11::string hypen = "-"; + HWND hEdit = GetDlgItem(hwnd, IDC_UUID_EDIT); + + SetDlgItemText(hwnd, IDC_UUID_EDIT, ""); + + TCHAR*pszStringTimeLow = uuid::time_low; + int index0 = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index0, (LPARAM)index0); + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringTimeLow); + SetDlgItemText(hwnd, IDS_TIMESTAMP_TIME_LOW, uuid::time_low); + SetDlgItemText(hwnd, IDS_TIME_LOW, uuid::time_low); + + SetFocus(hEdit); + int index = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index, (LPARAM)index); + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)hypen.c_str()); + + TCHAR*pszStringTimeMid = time_mid; + int index2 = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index2, (LPARAM)index2); + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringTimeMid); + SetDlgItemText(hwnd, IDS_TIMESTAMP_TIME_MID, time_mid); + SetDlgItemText(hwnd, IDS_TIME_MID, time_mid); + + SetFocus(hEdit); + int index3 = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index3, (LPARAM)index3); + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)hypen.c_str()); + + TCHAR*pszStringTimeHiAndVer = time_hi_and_version; + int index4 = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index4, (LPARAM)index4); + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringTimeHiAndVer); + SetDlgItemText(hwnd, IDS_TIMESTAMP_TIME_HIGH_AND_VERSION, time_hi_and_version); + SetDlgItemText(hwnd, IDS_TIME_HI_AND_VERSION, time_hi_and_version); + //TCHAR*pszStringUUIDVer = uuidVersion; + //SetDlgItemText(hwnd, IDS_VERSION, (LPCSTR)time_hi_and_version[0]); + break; } case ID_ABOUT: diff --git a/main.rc b/main.rc index e982b8b..b51d0c3 100644 --- a/main.rc +++ b/main.rc @@ -25,7 +25,8 @@ FONT 8, "Ms Shell Dlg" DEFPUSHBUTTON "Generate", ID_GENERATE, 22, 47, 50, 14, 0, WS_EX_LEFT EDITTEXT IDC_UUID_EDIT, 47, 27, 150, 12, ES_AUTOHSCROLL, WS_EX_LEFT GROUPBOX "UUID Info", 0, 207, 7, 150, 110, WS_GROUP, WS_EX_LEFT - LTEXT "0", IDS_CLOCK_SEQ_HI_AND_RES_CLOCK_SEQ_LOW, 212, 87, 20, 9, SS_LEFT, WS_EX_LEFT + LTEXT "-", 0, 277, 17, 8, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_CLOCK_SEQ_HI_AND_RES_CLOCK_SEQ_LOW, 212, 87, 120, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_TIME_HI_AND_VERSION, 282, 47, 70, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_TIME_MID, 247, 37, 105, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_TIME_LOW, 247, 27, 105, 9, SS_LEFT, WS_EX_LEFT @@ -38,8 +39,9 @@ FONT 8, "Ms Shell Dlg" LTEXT "time_mid:", 0, 212, 37, 30, 9, SS_LEFT, WS_EX_LEFT LTEXT "Timestamp:", 0, 212, 17, 37, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_TIMESTAMP_TIME_HIGH_AND_VERSION, 252, 17, 25, 9, SS_LEFT, WS_EX_LEFT - LTEXT "0", IDS_TIMESTAMP_TIME_MID, 277, 17, 25, 9, SS_LEFT, WS_EX_LEFT - LTEXT "0", IDS_TIMESTAMP_TIME_LOW, 310, 17, 45, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_TIMESTAMP_TIME_MID, 282, 17, 29, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_TIMESTAMP_TIME_LOW, 320, 17, 35, 9, SS_LEFT, WS_EX_LEFT + LTEXT "-", 0, 312, 17, 8, 9, SS_LEFT, WS_EX_LEFT LTEXT "clock_seq_hi_and_res clock_seq_low:", 0, 212, 77, 124, 9, SS_LEFT, WS_EX_LEFT LTEXT "time_low:", 0, 212, 27, 30, 9, SS_LEFT, WS_EX_LEFT LTEXT "time_hi_and_version:", 0, 212, 47, 68, 9, SS_LEFT, WS_EX_LEFT @@ -48,19 +50,19 @@ FONT 8, "Ms Shell Dlg" GROUPBOX "UUID Settings", 0, 212, 132, 140, 70, WS_GROUP, WS_EX_LEFT AUTOCHECKBOX "Use Braces", IDC_OPT_UUID_USE_BRACES, 217, 172, 53, 8, 0, WS_EX_LEFT AUTOCHECKBOX "Use Hypens", IDC_OPT_UUID_USE_HYPENS, 217, 162, 55, 8, 0, WS_EX_LEFT - AUTORADIOBUTTON "Uppercase Letters", IDC_OPT_UUID_UPL, 217, 142, 74, 8, 0, WS_EX_LEFT - AUTORADIOBUTTON "Lowercase Letters", IDC_OPT_UUID_LWL, 217, 152, 74, 8, 0, WS_EX_LEFT + AUTORADIOBUTTON "Uppercase Letters", IDC_OPT_UUID_UPL, 217, 152, 74, 8, 0, WS_EX_LEFT + AUTORADIOBUTTON "Lowercase Letters", IDC_OPT_UUID_LWL, 217, 142, 74, 8, 0, WS_EX_LEFT GROUPBOX "Advanced Options", 0, 12, 77, 190, 150, 0, WS_EX_LEFT GROUPBOX "Version Settings", 0, 17, 137, 180, 85, WS_GROUP, WS_EX_LEFT - AUTORADIOBUTTON "Default value", IDC_ADV_VS_DV, 22, 182, 58, 8, 0, WS_EX_LEFT - LTEXT "Version (HEX)", 0, 27, 157, 45, 9, SS_LEFT, WS_EX_LEFT - EDITTEXT IDC_ADV_VS_UD_HEX, 32, 167, 115, 14, ES_AUTOHSCROLL, WS_EX_LEFT + AUTORADIOBUTTON "Default value", IDC_ADV_VS_DV, 22, 147, 58, 8, 0, WS_EX_LEFT AUTORADIOBUTTON "Random", IDC_ADV_VS_RAND, 22, 192, 43, 8, 0, WS_EX_LEFT - AUTORADIOBUTTON "User-defined", IDC_ADV_VS_UD, 22, 147, 56, 8, 0, WS_EX_LEFT + AUTORADIOBUTTON "User-defined", IDC_ADV_VS_UD, 22, 157, 56, 8, 0, WS_EX_LEFT + LTEXT "Version (HEX)", 0, 27, 167, 45, 9, SS_LEFT, WS_EX_LEFT + EDITTEXT IDC_ADV_VS_UD_HEX, 32, 177, 115, 14, ES_AUTOHSCROLL, WS_EX_LEFT GROUPBOX "Variant Settings", 0, 17, 87, 180, 45, WS_GROUP, WS_EX_LEFT AUTORADIOBUTTON "Microsoft Backward Compability (110)", IDC_ADV_RS_MS, 22, 107, 134, 8, 0, WS_EX_LEFT - AUTORADIOBUTTON "Use Current Variant (10)", IDC_ADV_RS_UCV, 22, 117, 91, 8, 0, WS_EX_LEFT - AUTORADIOBUTTON "NCS Backward Compability (0)", IDC_ADV_RS_NCS, 22, 97, 112, 8, WS_TABSTOP, WS_EX_LEFT + AUTORADIOBUTTON "Use Current Variant (10)", IDC_ADV_RS_UCV, 22, 97, 91, 8, 0, WS_EX_LEFT + AUTORADIOBUTTON "NCS Backward Compability (0)", IDC_ADV_RS_NCS, 22, 117, 112, 8, WS_TABSTOP, WS_EX_LEFT } @@ -74,7 +76,7 @@ FONT 8, "Ms Shell Dlg" { GROUPBOX "About", 0, 12, 12, 111, 66, 0, WS_EX_LEFT LTEXT "Developed by: Phroton", 0, 17, 62, 74, 9, SS_LEFT, WS_EX_LEFT - LTEXT "Version 0.1.0.2 alpha build 75", 0, 17, 32, 94, 9, SS_LEFT, WS_EX_LEFT + LTEXT "Version 0.1.0.2 alpha build 140", 0, 17, 32, 105, 30, SS_LEFT, WS_EX_LEFT PUSHBUTTON "Update", ID_ABOUT_UPDATE, 129, 24, 50, 14, 0, WS_EX_LEFT PUSHBUTTON "View Repo", ID_ABOUT_VIEW_REPO, 130, 42, 49, 14, 0, WS_EX_LEFT LTEXT "UUID Generator", 0, 17, 22, 52, 9, SS_LEFT, WS_EX_LEFT diff --git a/resource.h b/resource.h index 6e69cd2..7ccaf8e 100644 --- a/resource.h +++ b/resource.h @@ -4,8 +4,6 @@ #define IDD_DIALOG1 100 #define IDD_DIALOG2 101 -#define IDS_TIME_LOW 40039 -#define ID_ABOUT_VIEW_REPO 40038 #define ID_COPY 40000 #define ID_ABOUT_UPDATE 40001 #define ID_ABOUT_OK 40002 @@ -24,11 +22,13 @@ #define IDC_ADV_RS_UCV 40027 #define IDC_ADV_RS_MS 40028 #define IDC_ADV_RS_NCS 40029 -#define IDC_ADV_VS_UD 40030 -#define IDC_ADV_VS_UD_HEX 40031 -#define IDC_ADV_VS_DV 40032 -#define IDC_ADV_VS_RAND 40033 -#define IDC_OPT_UUID_UPL 40034 -#define IDC_OPT_UUID_LWL 40035 +#define IDC_ADV_VS_DV 40030 +#define IDC_ADV_VS_RAND 40031 +#define IDC_ADV_VS_UD 40032 +#define IDC_ADV_VS_UD_HEX 40033 +#define IDC_OPT_UUID_LWL 40034 +#define IDC_OPT_UUID_UPL 40035 #define IDC_OPT_UUID_USE_HYPENS 40036 #define IDC_OPT_UUID_USE_BRACES 40037 +#define ID_ABOUT_VIEW_REPO 40038 +#define IDS_TIME_LOW 40039 From 059d91b9f1b41395b8a4a47db03eeced23208c4b Mon Sep 17 00:00:00 2001 From: PhrotonX Date: Sun, 20 Jun 2021 15:05:10 +0800 Subject: [PATCH 3/4] Build 170 Generate clock_seq, variant & node. Fix bug that multiplies values in UUID Edit Control. Remove unnecessary code in main.cpp --- main.cpp | 220 +++++++++++++++++------------------------------------ main.rc | 2 +- resource.h | 4 +- 3 files changed, 72 insertions(+), 154 deletions(-) diff --git a/main.cpp b/main.cpp index ef51343..36fc37a 100644 --- a/main.cpp +++ b/main.cpp @@ -8,32 +8,25 @@ const char g_szClassName[] = "windowClass"; - -char time_mid[3]; //4 - -int clock_seq_hi_and_res_clock_seq_low[3]; //4 -int node[11]; //12 - -char uuidVersion; - -namespace uuid{ - char time_low[8]; //8 -} - - -char time_hi_and_version[3]; //4 - - -void intToHex(){ +char time_low[9] = "00000000"; //8 +char time_mid[5] = "0000"; //4 +char time_hi_and_version[5] = "0000"; //4 +char clock_seq_hi_and_res_clock_seq_low[5] = "0000"; //4 +char node[13]; //12 + +char version[2] = "0"; +char variant[2] = "0"; +void charToHex(){ char hex[] = "0123456789abcdef"; - uuid::time_low[0] = hex[rand()%16]; - uuid::time_low[1] = hex[rand()%16]; - uuid::time_low[2] = hex[rand()%16]; - uuid::time_low[3] = hex[rand()%16]; - uuid::time_low[4] = hex[rand()%16]; - uuid::time_low[5] = hex[rand()%16]; - uuid::time_low[6] = hex[rand()%16]; - uuid::time_low[7] = hex[rand()%16]; + + time_low[0] = hex[rand()%16]; + time_low[1] = hex[rand()%16]; + time_low[2] = hex[rand()%16]; + time_low[3] = hex[rand()%16]; + time_low[4] = hex[rand()%16]; + time_low[5] = hex[rand()%16]; + time_low[6] = hex[rand()%16]; + time_low[7] = hex[rand()%16]; time_mid[0] = hex[rand()%16]; time_mid[1] = hex[rand()%16]; @@ -41,10 +34,30 @@ void intToHex(){ time_mid[3] = hex[rand()%16]; time_hi_and_version[0] = '4'; + version[0] = time_hi_and_version[0]; time_hi_and_version[1] = hex[rand()%16]; time_hi_and_version[2] = hex[rand()%16]; time_hi_and_version[3] = hex[rand()%16]; - uuidVersion = time_hi_and_version[0]; + + char variantDefault[] = "88889999aaaabbbb"; + clock_seq_hi_and_res_clock_seq_low[0] = variantDefault[rand()%16]; + variant[0] = clock_seq_hi_and_res_clock_seq_low[0]; + clock_seq_hi_and_res_clock_seq_low[1] = hex[rand()%16]; + clock_seq_hi_and_res_clock_seq_low[2] = hex[rand()%16]; + clock_seq_hi_and_res_clock_seq_low[3] = hex[rand()%16]; + + node[0] = hex[rand()%16]; + node[1] = hex[rand()%16]; + node[2] = hex[rand()%16]; + node[3] = hex[rand()%16]; + node[4] = hex[rand()%16]; + node[5] = hex[rand()%16]; + node[6] = hex[rand()%16]; + node[7] = hex[rand()%16]; + node[8] = hex[rand()%16]; + node[9] = hex[rand()%16]; + node[10] = hex[rand()%16]; + node[11] = hex[rand()%16]; } INT_PTR AboutDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) @@ -107,28 +120,29 @@ INT_PTR DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { case ID_GENERATE: { - intToHex(); + charToHex(); std::__cxx11::string hypen = "-"; - HWND hEdit = GetDlgItem(hwnd, IDC_UUID_EDIT); + HWND hEdit = GetDlgItem(hwnd, IDC_UUID_EDIT); SetDlgItemText(hwnd, IDC_UUID_EDIT, ""); - TCHAR*pszStringTimeLow = uuid::time_low; - int index0 = GetWindowTextLength(hEdit); - SendMessage(hEdit, EM_SETSEL, (WPARAM)index0, (LPARAM)index0); + TCHAR*pszStringTimeLow = time_low; + //int index0 = GetWindowTextLength(hEdit); + //SendMessage(hEdit, EM_SETSEL, (WPARAM)index0, (LPARAM)index0); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringTimeLow); - SetDlgItemText(hwnd, IDS_TIMESTAMP_TIME_LOW, uuid::time_low); - SetDlgItemText(hwnd, IDS_TIME_LOW, uuid::time_low); - - SetFocus(hEdit); + SetDlgItemText(hwnd, IDS_TIMESTAMP_TIME_LOW, time_low); + SetDlgItemText(hwnd, IDS_TIME_LOW, time_low); + //SetFocus(hEdit); int index = GetWindowTextLength(hEdit); SendMessage(hEdit, EM_SETSEL, (WPARAM)index, (LPARAM)index); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)hypen.c_str()); + //charToHexTimeMid(); + TCHAR*pszStringTimeMid = time_mid; - int index2 = GetWindowTextLength(hEdit); - SendMessage(hEdit, EM_SETSEL, (WPARAM)index2, (LPARAM)index2); + //int index2 = GetWindowTextLength(hEdit); + //SendMessage(hEdit, EM_SETSEL, (WPARAM)index2, (LPARAM)index2); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringTimeMid); SetDlgItemText(hwnd, IDS_TIMESTAMP_TIME_MID, time_mid); SetDlgItemText(hwnd, IDS_TIME_MID, time_mid); @@ -139,14 +153,28 @@ INT_PTR DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)hypen.c_str()); TCHAR*pszStringTimeHiAndVer = time_hi_and_version; - int index4 = GetWindowTextLength(hEdit); - SendMessage(hEdit, EM_SETSEL, (WPARAM)index4, (LPARAM)index4); + //int index4 = GetWindowTextLength(hEdit); + //SendMessage(hEdit, EM_SETSEL, (WPARAM)index4, (LPARAM)index4); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringTimeHiAndVer); SetDlgItemText(hwnd, IDS_TIMESTAMP_TIME_HIGH_AND_VERSION, time_hi_and_version); SetDlgItemText(hwnd, IDS_TIME_HI_AND_VERSION, time_hi_and_version); - //TCHAR*pszStringUUIDVer = uuidVersion; - //SetDlgItemText(hwnd, IDS_VERSION, (LPCSTR)time_hi_and_version[0]); + SetDlgItemText(hwnd, IDS_VERSION, version); + SetFocus(hEdit); + int index5 = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index5, (LPARAM)index5); + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)hypen.c_str()); + + TCHAR*pszStringClockSeq = clock_seq_hi_and_res_clock_seq_low; + //int index6 = GetWindowTextLength(hEdit); + //SendMessage(hEdit, EM_SETSEL, (WPARAM)index6, (LPARAM)index6); + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringClockSeq); + SetDlgItemText(hwnd, IDS_CLOCK_SEQ_HI_AND_RES_CLOCK_SEQ_LOW, clock_seq_hi_and_res_clock_seq_low); + SetDlgItemText(hwnd, IDS_VARIANT, variant); + + TCHAR*pszStringNode = node; + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringNode); + SetDlgItemText(hwnd, IDS_NODE, node); break; } case ID_ABOUT: @@ -162,117 +190,7 @@ INT_PTR DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) return TRUE; } -/* -LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ - switch(msg){ - case WM_CLOSE: { - DestroyWindow(hwnd); - break; - }/* - case WM_CREATE: { - HMENU hMenubar = CreateMenu(); - - HMENU hMenuFile = CreateMenu(); - HMENU hMenuEdit = CreateMenu(); - HMENU hMenuHelp = CreateMenu(); - - HWND buttonGenerate; - HWND hEdit; - - AppendMenu(hMenubar, MF_POPUP, (UINT_PTR)hMenuFile, "&File"); - AppendMenu(hMenuFile, MF_STRING, ID_FILE_EXIT, "E&xit"); - AppendMenu(hMenubar, MF_POPUP, (UINT_PTR)hMenuEdit, "&Edit"); - AppendMenu(hMenuEdit, MF_STRING, ID_EDIT_COPYCONTENTS, "&Copy contents"); - AppendMenu(hMenubar, MF_POPUP, (UINT_PTR)hMenuHelp, "&Help"); - AppendMenu(hMenuHelp, MF_STRING, ID_HELP_ABOUT, "&About"); - - buttonGenerate = CreateWindow(TEXT("button"), TEXT("Generate"), WS_VISIBLE | WS_CHILD, 30, 30, 70, 30, hwnd, (HMENU)IDC_BUTTON_GENERATE, NULL, NULL); - //SetWindowText(hwnd, converted::time_low.str().c_str()); - CreateWindow("STATIC", "UUID:", WS_VISIBLE | WS_CHILD | SS_LEFT, 10, 10, 70, 20, hwnd, (HMENU)IDC_STATIC_TEXT, NULL, NULL); - hEdit = CreateWindow("EDIT", converted::time_low.str().c_str(), WS_VISIBLE | WS_CHILD | SS_LEFT, 10, 100, 140, 20, hwnd, (HMENU)IDC_TIME_LOW, NULL, NULL); - SetMenu(hwnd, hMenubar); - break; - } - case WM_COMMAND: { - switch(LOWORD(wParam)) - { - case IDC_BUTTON_GENERATE: { - intToHex(); - InvalidateRect(hwnd, NULL, TRUE); - UpdateWindow(hwnd); - break; - } - case ID_FILE_EXIT: { - ShowWindow(GetConsoleWindow(), SW_SHOW); - PostQuitMessage(0); - break; - } - case ID_HELP_ABOUT: { - char buf[10]; - _ultoa(build,buf,10); - MessageBox(hwnd, buf, "v0.1.0.1 alpha", MB_OK); - break; - } - } - break; - } - case WM_DESTROY: { - ShowWindow(GetConsoleWindow(), SW_SHOW); - PostQuitMessage(0); - break; - } - default: - return DefWindowProc(hwnd, msg, wParam, lParam); - } -} -*/ -/* -int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) -{ - WNDCLASSEX wc; - HWND hwnd; - MSG Msg; - wc.cbSize = sizeof(WNDCLASSEX); - wc.style = 0; - //wc.lpfnWndProc = WndProc; - wc.cbClsExtra = 0; - wc.cbWndExtra = 0; - wc.hInstance = hInstance; - wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); - wc.hCursor = LoadCursor(NULL, IDC_ARROW); - wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); - wc.lpszMenuName = NULL; - wc.lpszClassName = g_szClassName; - wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION); - - if(!RegisterClassEx(&wc)) - { - MessageBox(NULL, "Window Registration Failed!", "Error!", - MB_ICONEXCLAMATION | MB_OK); - return 0; - } - - //hwnd = CreateWindowEx(WS_EX_APPWINDOW, g_szClassName, "UUID Generator", WS_OVERLAPPEDWINDOW, - // CW_USEDEFAULT, CW_USEDEFAULT, 600, 400, NULL, NULL, hInstance, NULL); - hwnd = CreateDialog(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), 0, (DLGPROC)WndProc); - - if(hwnd == NULL){ - MessageBox(NULL, "Error", "Window Creation Failed", MB_ICONHAND | MB_OK); - return 0; - } - - ShowWindow(hwnd, nCmdShow); - ShowWindow(GetConsoleWindow(), SW_HIDE); - UpdateWindow(hwnd); - - while(GetMessage(&Msg, NULL, 0, 0) > 0){ - TranslateMessage(&Msg); - DispatchMessage(&Msg); - } - return Msg.wParam; -} -*/ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int CmdShow) { ShowWindow(GetConsoleWindow(), SW_HIDE); diff --git a/main.rc b/main.rc index b51d0c3..a498f7c 100644 --- a/main.rc +++ b/main.rc @@ -76,7 +76,7 @@ FONT 8, "Ms Shell Dlg" { GROUPBOX "About", 0, 12, 12, 111, 66, 0, WS_EX_LEFT LTEXT "Developed by: Phroton", 0, 17, 62, 74, 9, SS_LEFT, WS_EX_LEFT - LTEXT "Version 0.1.0.2 alpha build 140", 0, 17, 32, 105, 30, SS_LEFT, WS_EX_LEFT + LTEXT "Version 0.1.0.2 alpha build 170", 0, 17, 32, 105, 30, SS_LEFT, WS_EX_LEFT PUSHBUTTON "Update", ID_ABOUT_UPDATE, 129, 24, 50, 14, 0, WS_EX_LEFT PUSHBUTTON "View Repo", ID_ABOUT_VIEW_REPO, 130, 42, 49, 14, 0, WS_EX_LEFT LTEXT "UUID Generator", 0, 17, 22, 52, 9, SS_LEFT, WS_EX_LEFT diff --git a/resource.h b/resource.h index 7ccaf8e..9dee370 100644 --- a/resource.h +++ b/resource.h @@ -9,7 +9,7 @@ #define ID_ABOUT_OK 40002 #define IDC_UUID_EDIT 40013 #define ID_GENERATE 40016 -#define IDS_TIME_MID 40017 +#define IDS_TIME_LOW 40017 #define ID_ABOUT 40018 #define IDS_TIME_HI_AND_VERSION 40019 #define IDS_VERSION 40020 @@ -31,4 +31,4 @@ #define IDC_OPT_UUID_USE_HYPENS 40036 #define IDC_OPT_UUID_USE_BRACES 40037 #define ID_ABOUT_VIEW_REPO 40038 -#define IDS_TIME_LOW 40039 +#define IDS_TIME_MID 40039 From 4667515b83e6f2e887ea8a4c1d01c3f63bf21eed Mon Sep 17 00:00:00 2001 From: PhrotonX Date: Mon, 21 Jun 2021 17:12:34 +0800 Subject: [PATCH 4/4] Build 179 - v0.1.0.3 alpha Add Save Info button (unused), Add MAC Address, Add Use Quotation Marks checkmark (unused) & Fix 2 Issues (Issue #3 & #4) --- main.cpp | 37 +++++++++++++++++++++++++++------ main.rc | 60 +++++++++++++++++++++++++++++------------------------- resource.h | 7 +++++-- 3 files changed, 68 insertions(+), 36 deletions(-) diff --git a/main.cpp b/main.cpp index 36fc37a..51991e1 100644 --- a/main.cpp +++ b/main.cpp @@ -16,6 +16,7 @@ char node[13]; //12 char version[2] = "0"; char variant[2] = "0"; +char macAddress[18] = "00:00:00:00:00:00"; void charToHex(){ char hex[] = "0123456789abcdef"; @@ -39,8 +40,8 @@ void charToHex(){ time_hi_and_version[2] = hex[rand()%16]; time_hi_and_version[3] = hex[rand()%16]; - char variantDefault[] = "88889999aaaabbbb"; - clock_seq_hi_and_res_clock_seq_low[0] = variantDefault[rand()%16]; + char variantDefault[] = "89ab"; + clock_seq_hi_and_res_clock_seq_low[0] = variantDefault[rand()%4]; variant[0] = clock_seq_hi_and_res_clock_seq_low[0]; clock_seq_hi_and_res_clock_seq_low[1] = hex[rand()%16]; clock_seq_hi_and_res_clock_seq_low[2] = hex[rand()%16]; @@ -58,6 +59,19 @@ void charToHex(){ node[9] = hex[rand()%16]; node[10] = hex[rand()%16]; node[11] = hex[rand()%16]; + + macAddress[0] = node[0]; + macAddress[1] = node[1]; + macAddress[3] = node[2]; + macAddress[4] = node[3]; + macAddress[6] = node[4]; + macAddress[7] = node[5]; + macAddress[9] = node[6]; + macAddress[10] = node[7]; + macAddress[12] = node[8]; + macAddress[13] = node[9]; + macAddress[15] = node[10]; + macAddress[16] = node[11]; } INT_PTR AboutDlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) @@ -148,8 +162,8 @@ INT_PTR DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) SetDlgItemText(hwnd, IDS_TIME_MID, time_mid); SetFocus(hEdit); - int index3 = GetWindowTextLength(hEdit); - SendMessage(hEdit, EM_SETSEL, (WPARAM)index3, (LPARAM)index3); + int index2 = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index2, (LPARAM)index2); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)hypen.c_str()); TCHAR*pszStringTimeHiAndVer = time_hi_and_version; @@ -161,8 +175,8 @@ INT_PTR DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) SetDlgItemText(hwnd, IDS_VERSION, version); SetFocus(hEdit); - int index5 = GetWindowTextLength(hEdit); - SendMessage(hEdit, EM_SETSEL, (WPARAM)index5, (LPARAM)index5); + int index3 = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index3, (LPARAM)index3); SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)hypen.c_str()); TCHAR*pszStringClockSeq = clock_seq_hi_and_res_clock_seq_low; @@ -172,11 +186,22 @@ INT_PTR DlgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) SetDlgItemText(hwnd, IDS_CLOCK_SEQ_HI_AND_RES_CLOCK_SEQ_LOW, clock_seq_hi_and_res_clock_seq_low); SetDlgItemText(hwnd, IDS_VARIANT, variant); + SetFocus(hEdit); + int index4 = GetWindowTextLength(hEdit); + SendMessage(hEdit, EM_SETSEL, (WPARAM)index4, (LPARAM)index4); + SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)hypen.c_str()); + TCHAR*pszStringNode = node; SendMessage(hEdit, EM_REPLACESEL, 0, (LPARAM)pszStringNode); SetDlgItemText(hwnd, IDS_NODE, node); + + SetDlgItemText(hwnd, IDS_MAC_ADDRESS, macAddress); break; } + case ID_COPY: + { + break; + } case ID_ABOUT: { DialogBox(GetModuleHandle(NULL), MAKEINTRESOURCE(IDD_DIALOG2), NULL, AboutDlgProc); diff --git a/main.rc b/main.rc index a498f7c..1a5b089 100644 --- a/main.rc +++ b/main.rc @@ -14,46 +14,49 @@ // Dialog resources // LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -IDD_DIALOG1 DIALOG 0, 0, 371, 239 +IDD_DIALOG1 DIALOG 0, 0, 371, 244 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU CAPTION "UUID Generator" FONT 8, "Ms Shell Dlg" { - GROUPBOX "Generator", 0, 12, 7, 190, 60, WS_GROUP, WS_EX_LEFT + GROUPBOX "Generator", 0, 12, 7, 190, 65, WS_GROUP, WS_EX_LEFT PUSHBUTTON "Copy", ID_COPY, 77, 47, 50, 14, 0, WS_EX_LEFT LTEXT "UUID", 0, 22, 27, 19, 9, SS_LEFT, WS_EX_LEFT DEFPUSHBUTTON "Generate", ID_GENERATE, 22, 47, 50, 14, 0, WS_EX_LEFT EDITTEXT IDC_UUID_EDIT, 47, 27, 150, 12, ES_AUTOHSCROLL, WS_EX_LEFT - GROUPBOX "UUID Info", 0, 207, 7, 150, 110, WS_GROUP, WS_EX_LEFT - LTEXT "-", 0, 277, 17, 8, 9, SS_LEFT, WS_EX_LEFT - LTEXT "0", IDS_CLOCK_SEQ_HI_AND_RES_CLOCK_SEQ_LOW, 212, 87, 120, 9, SS_LEFT, WS_EX_LEFT + GROUPBOX "UUID Info", 0, 207, 7, 150, 120, WS_GROUP, WS_EX_LEFT + LTEXT "MAC Address:", 0, 212, 107, 46, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_MAC_ADDRESS, 262, 107, 90, 9, SS_LEFT, WS_EX_LEFT + LTEXT "-", 0, 272, 17, 8, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_CLOCK_SEQ_HI_AND_RES_CLOCK_SEQ_LOW, 212, 77, 120, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_TIME_HI_AND_VERSION, 282, 47, 70, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_TIME_MID, 247, 37, 105, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_TIME_LOW, 247, 27, 105, 9, SS_LEFT, WS_EX_LEFT LTEXT "node:", 0, 212, 97, 19, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_NODE, 237, 97, 115, 9, SS_LEFT, WS_EX_LEFT - LTEXT "Variant:", 0, 212, 67, 25, 9, SS_LEFT, WS_EX_LEFT + LTEXT "Variant:", 0, 212, 87, 25, 9, SS_LEFT, WS_EX_LEFT LTEXT "Version:", 0, 212, 57, 26, 9, SS_LEFT, WS_EX_LEFT LTEXT "0", IDS_VERSION, 237, 57, 115, 9, SS_LEFT, WS_EX_LEFT - LTEXT "0", IDS_VARIANT, 237, 67, 115, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_VARIANT, 237, 87, 115, 9, SS_LEFT, WS_EX_LEFT LTEXT "time_mid:", 0, 212, 37, 30, 9, SS_LEFT, WS_EX_LEFT LTEXT "Timestamp:", 0, 212, 17, 37, 9, SS_LEFT, WS_EX_LEFT - LTEXT "0", IDS_TIMESTAMP_TIME_HIGH_AND_VERSION, 252, 17, 25, 9, SS_LEFT, WS_EX_LEFT - LTEXT "0", IDS_TIMESTAMP_TIME_MID, 282, 17, 29, 9, SS_LEFT, WS_EX_LEFT - LTEXT "0", IDS_TIMESTAMP_TIME_LOW, 320, 17, 35, 9, SS_LEFT, WS_EX_LEFT - LTEXT "-", 0, 312, 17, 8, 9, SS_LEFT, WS_EX_LEFT - LTEXT "clock_seq_hi_and_res clock_seq_low:", 0, 212, 77, 124, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_TIMESTAMP_TIME_HIGH_AND_VERSION, 252, 17, 20, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_TIMESTAMP_TIME_MID, 277, 17, 25, 9, SS_LEFT, WS_EX_LEFT + LTEXT "0", IDS_TIMESTAMP_TIME_LOW, 315, 17, 40, 9, SS_LEFT, WS_EX_LEFT + LTEXT "-", 0, 302, 17, 8, 9, SS_LEFT, WS_EX_LEFT + LTEXT "clock_seq_hi_and_res clock_seq_low:", 0, 212, 67, 124, 9, SS_LEFT, WS_EX_LEFT LTEXT "time_low:", 0, 212, 27, 30, 9, SS_LEFT, WS_EX_LEFT LTEXT "time_hi_and_version:", 0, 212, 47, 68, 9, SS_LEFT, WS_EX_LEFT - GROUPBOX "Options", 0, 207, 122, 152, 106, 0, WS_EX_LEFT - PUSHBUTTON "About", ID_ABOUT, 302, 207, 50, 14, 0, WS_EX_LEFT - GROUPBOX "UUID Settings", 0, 212, 132, 140, 70, WS_GROUP, WS_EX_LEFT - AUTOCHECKBOX "Use Braces", IDC_OPT_UUID_USE_BRACES, 217, 172, 53, 8, 0, WS_EX_LEFT - AUTOCHECKBOX "Use Hypens", IDC_OPT_UUID_USE_HYPENS, 217, 162, 55, 8, 0, WS_EX_LEFT - AUTORADIOBUTTON "Uppercase Letters", IDC_OPT_UUID_UPL, 217, 152, 74, 8, 0, WS_EX_LEFT - AUTORADIOBUTTON "Lowercase Letters", IDC_OPT_UUID_LWL, 217, 142, 74, 8, 0, WS_EX_LEFT - GROUPBOX "Advanced Options", 0, 12, 77, 190, 150, 0, WS_EX_LEFT - GROUPBOX "Version Settings", 0, 17, 137, 180, 85, WS_GROUP, WS_EX_LEFT + GROUPBOX "Options", 0, 207, 130, 152, 103, 0, WS_EX_LEFT + PUSHBUTTON "About", ID_ABOUT, 302, 212, 50, 14, 0, WS_EX_LEFT + GROUPBOX "UUID Settings", 0, 212, 142, 140, 65, WS_GROUP, WS_EX_LEFT + AUTOCHECKBOX "Use Quotation Marks", IDC_OPT_UUID_UQM, 217, 192, 83, 8, 0, WS_EX_LEFT + AUTOCHECKBOX "Use Braces", IDC_OPT_UUID_USE_BRACES, 217, 182, 53, 8, 0, WS_EX_LEFT + AUTOCHECKBOX "Use Hypens", IDC_OPT_UUID_USE_HYPENS, 217, 172, 55, 8, 0, WS_EX_LEFT + AUTORADIOBUTTON "Uppercase Letters", IDC_OPT_UUID_UPL, 217, 162, 74, 8, 0, WS_EX_LEFT + AUTORADIOBUTTON "Lowercase Letters", IDC_OPT_UUID_LWL, 217, 152, 74, 8, 0, WS_EX_LEFT + GROUPBOX "Advanced Options", 0, 12, 77, 190, 155, 0, WS_EX_LEFT + GROUPBOX "Version Settings", 0, 17, 137, 180, 90, WS_GROUP, WS_EX_LEFT AUTORADIOBUTTON "Default value", IDC_ADV_VS_DV, 22, 147, 58, 8, 0, WS_EX_LEFT AUTORADIOBUTTON "Random", IDC_ADV_VS_RAND, 22, 192, 43, 8, 0, WS_EX_LEFT AUTORADIOBUTTON "User-defined", IDC_ADV_VS_UD, 22, 157, 56, 8, 0, WS_EX_LEFT @@ -63,23 +66,24 @@ FONT 8, "Ms Shell Dlg" AUTORADIOBUTTON "Microsoft Backward Compability (110)", IDC_ADV_RS_MS, 22, 107, 134, 8, 0, WS_EX_LEFT AUTORADIOBUTTON "Use Current Variant (10)", IDC_ADV_RS_UCV, 22, 97, 91, 8, 0, WS_EX_LEFT AUTORADIOBUTTON "NCS Backward Compability (0)", IDC_ADV_RS_NCS, 22, 117, 112, 8, WS_TABSTOP, WS_EX_LEFT + PUSHBUTTON "Save Info", ID_SAVE_INFO, 247, 212, 50, 14, 0, WS_EX_LEFT } LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -IDD_DIALOG2 DIALOG 0, 0, 186, 95 +IDD_DIALOG2 DIALOG 0, 0, 186, 80 STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SYSMODAL | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_POPUP | WS_SYSMENU EXSTYLE WS_EX_TOPMOST CAPTION "About UUID Generator" FONT 8, "Ms Shell Dlg" { - GROUPBOX "About", 0, 12, 12, 111, 66, 0, WS_EX_LEFT - LTEXT "Developed by: Phroton", 0, 17, 62, 74, 9, SS_LEFT, WS_EX_LEFT - LTEXT "Version 0.1.0.2 alpha build 170", 0, 17, 32, 105, 30, SS_LEFT, WS_EX_LEFT + GROUPBOX "About", 0, 7, 7, 115, 66, 0, WS_EX_LEFT + LTEXT "Developed by: Phroton", 0, 12, 57, 74, 9, SS_LEFT, WS_EX_LEFT + LTEXT "Version 0.1.0.3 alpha build 179", 0, 12, 27, 105, 30, SS_LEFT, WS_EX_LEFT PUSHBUTTON "Update", ID_ABOUT_UPDATE, 129, 24, 50, 14, 0, WS_EX_LEFT PUSHBUTTON "View Repo", ID_ABOUT_VIEW_REPO, 130, 42, 49, 14, 0, WS_EX_LEFT - LTEXT "UUID Generator", 0, 17, 22, 52, 9, SS_LEFT, WS_EX_LEFT + LTEXT "UUID Generator", 0, 12, 17, 52, 9, SS_LEFT, WS_EX_LEFT DEFPUSHBUTTON "OK", ID_ABOUT_OK, 129, 7, 50, 14, 0, WS_EX_LEFT } @@ -90,8 +94,8 @@ FONT 8, "Ms Shell Dlg" // LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL 50000 VERSIONINFO - FILEVERSION 0,1,0,2 - PRODUCTVERSION 0,1,0,2 + FILEVERSION 0,1,0,3 + PRODUCTVERSION 0,1,0,3 FILEOS VOS_NT_WINDOWS32 FILETYPE VFT_APP FILESUBTYPE VFT2_UNKNOWN diff --git a/resource.h b/resource.h index 9dee370..ebb2d7a 100644 --- a/resource.h +++ b/resource.h @@ -30,5 +30,8 @@ #define IDC_OPT_UUID_UPL 40035 #define IDC_OPT_UUID_USE_HYPENS 40036 #define IDC_OPT_UUID_USE_BRACES 40037 -#define ID_ABOUT_VIEW_REPO 40038 -#define IDS_TIME_MID 40039 +#define IDC_OPT_UUID_UQM 40038 +#define ID_ABOUT_VIEW_REPO 40039 +#define IDS_TIME_MID 40040 +#define IDS_MAC_ADDRESS 40041 +#define ID_SAVE_INFO 40042