twain2/hugaotwainds/SaveConfigDlg.cpp

92 lines
2.0 KiB
C++
Raw Permalink Normal View History

2020-03-11 02:53:30 +00:00
// 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("提示"));
}
}
}