2020-03-11 01:58:06 +00:00
|
|
|
|
// CSaveConfigDlg.cpp : 实现文件
|
|
|
|
|
//
|
|
|
|
|
|
|
|
|
|
#include "stdafx.h"
|
|
|
|
|
#include "CSaveConfigDlg.h"
|
|
|
|
|
#include "CTwainUI.h"
|
|
|
|
|
#include <io.h>
|
2020-06-20 03:04:32 +00:00
|
|
|
|
#include "GscanJsonConfig.h"
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
// CSaveConfigDlg 对话框
|
|
|
|
|
|
|
|
|
|
IMPLEMENT_DYNAMIC(CSaveConfigDlg, CDialog)
|
|
|
|
|
|
|
|
|
|
CSaveConfigDlg::CSaveConfigDlg(CWnd* pParent /*=NULL*/)
|
|
|
|
|
: CDialog(IDD_SAVECONFIG, pParent)
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
CSaveConfigDlg::~CSaveConfigDlg()
|
|
|
|
|
{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CSaveConfigDlg::DoDataExchange(CDataExchange* pDX)
|
|
|
|
|
{
|
|
|
|
|
CDialog::DoDataExchange(pDX);
|
|
|
|
|
}
|
|
|
|
|
|
2022-10-20 02:40:25 +00:00
|
|
|
|
BOOL CSaveConfigDlg::OnInitDialog()
|
|
|
|
|
{
|
|
|
|
|
CDialog::OnInitDialog();
|
|
|
|
|
GetDlgItem(IDC_EDITSAVENAME)->SetFocus();
|
|
|
|
|
return FALSE;
|
|
|
|
|
}
|
|
|
|
|
|
2020-03-11 01:58:06 +00:00
|
|
|
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CSaveConfigDlg, CDialog)
|
|
|
|
|
ON_BN_CLICKED(IDOK, &CSaveConfigDlg::OnBnClickedOk)
|
|
|
|
|
END_MESSAGE_MAP()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// CSaveConfigDlg 消息处理程序
|
|
|
|
|
std::string TCHAR2STRING2(TCHAR* STR)
|
|
|
|
|
{
|
|
|
|
|
int iLen = WideCharToMultiByte(CP_ACP, 0, STR, -1, NULL, 0, NULL, NULL);
|
|
|
|
|
char* chRtn = new char[iLen * sizeof(char)];
|
|
|
|
|
WideCharToMultiByte(CP_ACP, 0, STR, -1, chRtn, iLen, NULL, NULL);
|
|
|
|
|
std::string str(chRtn);
|
|
|
|
|
return str;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void CSaveConfigDlg::OnBnClickedOk()
|
|
|
|
|
{
|
|
|
|
|
CTwainUI* m_Parent=(CTwainUI*)GetParent();
|
|
|
|
|
CONFIGPARAMS citem={0};
|
2020-06-20 03:04:32 +00:00
|
|
|
|
m_Parent->UpDateScanParam(&citem);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
CString m_sName;
|
|
|
|
|
GetDlgItemText(IDC_EDITSAVENAME,m_sName);
|
|
|
|
|
TCHAR szIniFile[MAX_PATH] = { 0 };
|
|
|
|
|
INT length=m_sName.GetLength();
|
|
|
|
|
if (length>0&&length<50)
|
|
|
|
|
{
|
|
|
|
|
char invalid_FileChars[8]={'/','\\',':','*',' ?','<', '>','|'};
|
|
|
|
|
for(short j=0;j<8;j++)
|
|
|
|
|
{
|
|
|
|
|
m_sName.Remove(invalid_FileChars[j]);
|
|
|
|
|
}
|
|
|
|
|
if (m_sName.IsEmpty())
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_TEXT("请避免输入非法字符('/','\\',':','*',' ?','<', '>','|')!"),_TEXT("提示"),MB_OK|MB_ICONWARNING);
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
SHGetSpecialFolderPath(NULL, szIniFile, CSIDL_LOCAL_APPDATA, TRUE);
|
|
|
|
|
_tcscat(szIniFile,HUAGAO_SCAN);
|
|
|
|
|
_tcscat(szIniFile, TWAIN_DATA_PATH);
|
|
|
|
|
_tcscat(szIniFile, _T("\\"));
|
|
|
|
|
std::string dirpath = TCHAR2STRING2(szIniFile);
|
|
|
|
|
bool is_exist = isFolderExist((char*)dirpath.c_str());
|
|
|
|
|
if (!is_exist) {
|
|
|
|
|
createDirectory((char*)dirpath.c_str());
|
|
|
|
|
}
|
2020-08-15 10:24:05 +00:00
|
|
|
|
//citem.Caption = (CW2A)m_sName;
|
2020-03-11 01:58:06 +00:00
|
|
|
|
_tcscat(szIniFile,m_sName+_TEXT(".json"));
|
|
|
|
|
std::string s_savePath = TCHAR2STRING2(szIniFile);
|
2020-08-15 10:24:05 +00:00
|
|
|
|
//citem.SavePath=s_savePath;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
GscanJsonConfig cfg;
|
|
|
|
|
GScanCap caps = { 0 };
|
|
|
|
|
m_Parent->GetGScanCap(caps);
|
2020-08-15 10:24:05 +00:00
|
|
|
|
caps.SavePath = s_savePath;
|
|
|
|
|
caps.Caption = (CW2A)m_sName;
|
2020-06-20 03:04:32 +00:00
|
|
|
|
cfg.SaveGscanCapConfig(caps,s_savePath);
|
2020-03-11 01:58:06 +00:00
|
|
|
|
m_Parent->UpdateListConfig();
|
|
|
|
|
CDialog::OnOK();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (length==0)
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_TEXT("请输入保存项名称"),_TEXT("提示"));
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
MessageBox(_TEXT("最多只允许输入50个字符,请重新输入"),_TEXT("提示"));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|