📄 mobilecfg.cpp
字号:
if(dwTmp == 2)
{
ReadFile(hFile, &lpinfo->dwButStringCnt, sizeof(DWORD), &dwRead, NULL);
if(lpinfo->dwButStringCnt)
lpinfo->g_but_string = new char*[lpinfo->dwButStringCnt];
}
//pin_string
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
if(dwTmp == 3)
{
ReadFile(hFile, &lpinfo->dwPinStringCnt, sizeof(DWORD), &dwRead, NULL);
if(lpinfo->dwPinStringCnt)
lpinfo->g_pin_string = new char*[lpinfo->dwPinStringCnt];
}
//menu_string
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
if(dwTmp == 4)
{
ReadFile(hFile, &lpinfo->dwMenuStringCnt, sizeof(DWORD), &dwRead, NULL);
if(lpinfo->dwMenuStringCnt)
lpinfo->g_menu_string = new char*[lpinfo->dwMenuStringCnt];
}
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
int i = 0;
for(i =0; i < (int)lpinfo->dwMainStringCnt; i++)
{
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
if(dwTmp)
{
lpinfo->g_main_string[i] = new char[dwTmp+1];
ZeroMemory(lpinfo->g_main_string[i], dwTmp+1);
ReadFile(hFile, lpinfo->g_main_string[i], dwTmp, &dwRead, NULL);
}else
{
lpinfo->g_main_string[i] = new char[1];
lpinfo->g_main_string[i][0] = 0;
}
}
for(i =0; i < (int)lpinfo->dwButStringCnt; i++)
{
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
if(dwTmp)
{
lpinfo->g_but_string[i] = new char[dwTmp+1];
ZeroMemory(lpinfo->g_but_string[i], dwTmp+1);
ReadFile(hFile, lpinfo->g_but_string[i], dwTmp, &dwRead, NULL);
}
else
{
lpinfo->g_but_string[i] = new char[1];
lpinfo->g_but_string[i][0] = 0;
}
}
for(i =0; i < (int)lpinfo->dwPinStringCnt; i++)
{
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
if(dwTmp)
{
lpinfo->g_pin_string[i] = new char[dwTmp+1];
ZeroMemory(lpinfo->g_pin_string[i], dwTmp+1);
ReadFile(hFile, lpinfo->g_pin_string[i], dwTmp, &dwRead, NULL);
}
else
{
lpinfo->g_pin_string[i] = new char[1];
lpinfo->g_pin_string[i][0] = 0;
}
}
for(i =0; i < (int)lpinfo->dwMenuStringCnt; i++)
{
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
if(dwTmp)
{
lpinfo->g_menu_string[i] = new char[dwTmp+1];
ZeroMemory(lpinfo->g_menu_string[i], dwTmp+1);
ReadFile(hFile, lpinfo->g_menu_string[i], dwTmp, &dwRead, NULL);
}
else
{
lpinfo->g_menu_string[i] = new char[1];
lpinfo->g_menu_string[i][0] = 0;
}
}
CloseHandle(hFile);
}
}
void CMobileCfg::WriteStringRes(LPCSTR szFile,LPSTRINGRES lpinfo)
{
//write;
HANDLE hFile = CreateFile(szFile, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile && hFile != INVALID_HANDLE_VALUE)
{
DWORD dwVer = 1;
DWORD dwWrite = 0;
DWORD dwTmp = 0;
WriteFile(hFile, &dwVer, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 1; //tcmobiledlg_string
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 88;
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 2; //button_string
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 11;
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 3; //tcmobiledlg_string
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 2;
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 4; //tcmobiledlg_string
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 11;
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 0; //end
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
dwTmp = 0; //end
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
DWORD i = 0;
for( i = 0; i < lpinfo->dwMainStringCnt;i++)
{
char *psz = lpinfo->g_main_string[i];
dwTmp = strlen(psz);
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
WriteFile(hFile, psz, dwTmp, &dwWrite, NULL);
}
for( i = 0; i < lpinfo->dwButStringCnt;i++)
{
char *psz = lpinfo->g_but_string[i];
dwTmp = strlen(psz);
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
WriteFile(hFile, psz, dwTmp, &dwWrite, NULL);
}
for( i = 0; i < lpinfo->dwPinStringCnt;i++)
{
char *psz = lpinfo->g_pin_string[i];
dwTmp = strlen(psz);
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
WriteFile(hFile, psz, dwTmp, &dwWrite, NULL);
}
for( i = 0; i < lpinfo->dwMenuStringCnt;i++)
{
char *psz = lpinfo->g_menu_string[i];
dwTmp = strlen(psz);
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
WriteFile(hFile, psz, dwTmp, &dwWrite, NULL);
}
CloseHandle(hFile);
}else
{
CString str;
str.Format("%d\n", GetLastError());
AfxMessageBox(str);
}
}
void CMobileCfg::ReleaseStringRest(LPSTRINGRES lpinfo)
{
DWORD i = 0;
for( i = 0; i < lpinfo->dwMainStringCnt;i++)
{
char *psz = lpinfo->g_main_string[i];
}
delete [] lpinfo->g_main_string;
for( i = 0; i < lpinfo->dwButStringCnt;i++)
{
char *psz = lpinfo->g_but_string[i];
delete [] psz;
}
delete [] lpinfo->g_but_string;
for( i = 0; i < lpinfo->dwPinStringCnt;i++)
{
char *psz = lpinfo->g_pin_string[i];
delete [] psz;
}
delete [] lpinfo->g_pin_string;
for( i = 0; i < lpinfo->dwMenuStringCnt;i++)
{
char *psz = lpinfo->g_menu_string[i];
delete [] psz;
}
delete [] lpinfo->g_menu_string;
}
int CMobileCfg::WriteStringResII(LPCSTR szFile,CStringArray &StringList)
{
//write;
HANDLE hFile = CreateFile(szFile, GENERIC_WRITE, FILE_SHARE_WRITE, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile && hFile != INVALID_HANDLE_VALUE)
{
DWORD dwVer = 2;
DWORD dwWrite = 0;
DWORD dwTmp = StringList.GetSize();
WriteFile(hFile, &dwVer, sizeof(DWORD), &dwWrite, NULL);
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
for(int i = 0; i < StringList.GetSize(); i++)
{
CString str = StringList.GetAt(i);
dwTmp = str.GetLength();
WriteFile(hFile, &dwTmp, sizeof(DWORD), &dwWrite, NULL);
WriteFile(hFile, str.GetBuffer(0), dwTmp, &dwWrite, NULL);
}
CloseHandle(hFile);
}
return 0;
}
int CMobileCfg::ReadStringResII(LPCSTR szFile, CStringArray &StringList)
{
//read;
HANDLE hFile = CreateFile(szFile, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile && hFile != INVALID_HANDLE_VALUE)
{
DWORD dwVer = 0;
DWORD dwRead = 0;
DWORD dwTmp = 0;
ReadFile(hFile, &dwVer, sizeof(DWORD), &dwRead, NULL);
if(dwVer == 1)
{
//老版本
STRINGRES info;
ZeroMemory(&info, sizeof(STRINGRES));
ReadStringRes(szFile, &info);
for(DWORD i = 0; i < info.dwMainStringCnt;i++)
{
StringList.Add(info.g_main_string[i]);
}
for( i = 0; i < info.dwButStringCnt;i++)
{
StringList.Add(info.g_but_string[i]);
}
for( i = 0; i < info.dwPinStringCnt;i++)
{
StringList.Add(info.g_pin_string[i]);
}
for( i = 0; i < info.dwMenuStringCnt;i++)
{
StringList.Add(info.g_menu_string[i]);
}
ReleaseStringRest(&info);
}else if(dwVer == 2)
{
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
DWORD dwSize = dwTmp;
int i = 0;
for(i =0; i < (int)dwSize; i++)
{
dwTmp = 0;
ReadFile(hFile, &dwTmp, sizeof(DWORD), &dwRead, NULL);
char *sz = new char[dwTmp+1];
ZeroMemory(sz, dwTmp+1);
if(dwTmp)
{
ReadFile(hFile, sz, dwTmp, &dwRead, NULL);
}
StringList.Add(sz);
delete [] sz;
}
}
CloseHandle(hFile);
}
return StringList.GetSize();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -