92 lines
2.0 KiB
C++
92 lines
2.0 KiB
C++
|
// SaveConfigDlg.cpp : 实现文件
|
|||
|
//
|
|||
|
|
|||
|
#include "stdafx.h"
|
|||
|
#include "hugaotwainds.h"
|
|||
|
#include "SaveConfigDlg.h"
|
|||
|
#include "afxdialogex.h"
|
|||
|
//#include "UI_INI.h"
|
|||
|
#include "TwainUIDlg.h"
|
|||
|
//#include "JsonConfig.h"
|
|||
|
#include <io.h>
|
|||
|
|
|||
|
|
|||
|
// SaveConfigDlg 对话框
|
|||
|
|
|||
|
IMPLEMENT_DYNAMIC(SaveConfigDlg, CDialog)
|
|||
|
|
|||
|
//extern CUI_INI* m_pUI_INI;
|
|||
|
SaveConfigDlg::SaveConfigDlg(CWnd* pParent /*=NULL*/)
|
|||
|
: CDialog(IDD_DIALOGSAVECONFIG, pParent)
|
|||
|
{
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
SaveConfigDlg::~SaveConfigDlg()
|
|||
|
{
|
|||
|
}
|
|||
|
|
|||
|
void SaveConfigDlg::DoDataExchange(CDataExchange* pDX)
|
|||
|
{
|
|||
|
CDialog::DoDataExchange(pDX);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
BEGIN_MESSAGE_MAP(SaveConfigDlg, CDialog)
|
|||
|
ON_BN_CLICKED(IDOK, &SaveConfigDlg::OnBnClickedOk)
|
|||
|
END_MESSAGE_MAP()
|
|||
|
|
|||
|
|
|||
|
// SaveConfigDlg 消息处理程序
|
|||
|
|
|||
|
|
|||
|
void SaveConfigDlg::OnBnClickedOk()
|
|||
|
{
|
|||
|
TwainUIDlg* m_Parent=(TwainUIDlg*)GetParent();
|
|||
|
CONFIGPARAMS citem={0};
|
|||
|
m_Parent->UpDateScanParam(&citem,false);
|
|||
|
CString m_sName;
|
|||
|
GetDlgItemTextA(IDC_EDITSAVENAME,m_sName);
|
|||
|
TCHAR szIniFile[MAX_PATH] = { 0 };
|
|||
|
INT length=m_sName.GetLength();
|
|||
|
//INT length=10;
|
|||
|
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);
|
|||
|
citem.Caption=m_sName;
|
|||
|
_tcscat(szIniFile,(_TEXT("/")+m_sName+_TEXT(".json")));
|
|||
|
std::string s_savePath(szIniFile);
|
|||
|
citem.SavePath=s_savePath;
|
|||
|
//((CListBox*)(m_Parent->GetDlgItem(IDC_LSTCONFIG)))->AddString(m_sName);
|
|||
|
m_sName.ReleaseBuffer();
|
|||
|
JsonConfig cfg;
|
|||
|
cfg.WriteToJson(&citem,s_savePath,true);
|
|||
|
m_Parent->UpdateListConfig();
|
|||
|
CDialog::OnOK();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if (length==0)
|
|||
|
{
|
|||
|
MessageBox(_TEXT("请输入保存项名称"),_TEXT("提示"));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
MessageBox(_TEXT("最多只允许输入50个字符,请重新输入"),_TEXT("提示"));
|
|||
|
}
|
|||
|
}
|
|||
|
}
|