📄 chrmerchsearch.cpp
字号:
CheckRadioButton(IDC_RADIO_SELLER, IDC_RADIO_BUYER, IDC_RADIO_SELLER);
DisableDate();
}
void CChrMerchSearch::EnableDate()
{
// Date 包访 牧飘费 劝己拳
m_ctrlEditMonth1.EnableWindow(TRUE);
m_ctrlEditMonth0.EnableWindow(TRUE);
m_ctrlEditDay1.EnableWindow(TRUE);
m_ctrlEditDay0.EnableWindow(TRUE);
m_ctrlComboYear1.EnableWindow(TRUE);
m_ctrlComboYear0.EnableWindow(TRUE);
}
void CChrMerchSearch::DisableDate()
{
// Date 包访 牧飘费 厚劝己拳
m_ctrlEditMonth1.EnableWindow(FALSE);
m_ctrlEditMonth0.EnableWindow(FALSE);
m_ctrlEditDay1.EnableWindow(FALSE);
m_ctrlEditDay0.EnableWindow(FALSE);
m_ctrlComboYear1.EnableWindow(FALSE);
m_ctrlComboYear0.EnableWindow(FALSE);
}
void CChrMerchSearch::OnRadioUsedate1()
{
// TODO: Add your control notification handler code here
// 殿废老 扁霖栏肺 八祸
m_nUsedateState = 1;
EnableDate();
DisableRadioSellerNBuyer(); // 捞抚八祸阑 荤侩 臼窃
DisableItemNo(); // 酒捞袍逞滚 八祸 荤侩 阂啊
DisableLimitNo(); // 府固飘逞滚 八祸 荤侩 阂啊
m_ctrlCheckItemNo.SetCheck(false);
m_ctrlCheckLimitNo.SetCheck(false);
m_bCheckItemNo = false;
m_bCheckLimitNo = false;
}
void CChrMerchSearch::OnRadioUsedate2()
{
// TODO: Add your control notification handler code here
// 辆丰老 扁霖栏肺 八祸
m_nUsedateState = 2;
EnableDate();
DisableRadioSellerNBuyer(); // 捞抚八祸阑 荤侩 臼窃
DisableItemNo(); // 酒捞袍逞滚 八祸 荤侩 阂啊
DisableLimitNo(); // 府固飘逞滚 八祸 荤侩 阂啊
m_ctrlCheckItemNo.SetCheck(false);
m_ctrlCheckLimitNo.SetCheck(false);
m_bCheckItemNo = false;
m_bCheckLimitNo = false;
}
void CChrMerchSearch::OnRadioUsedate0()
{
// TODO: Add your control notification handler code here
// 朝楼 八祸阑 荤侩窍瘤 臼澜
m_nUsedateState = 0;
DisableDate();
EnableRadioSellerNBuyer(); // 捞抚八祸阑 荤侩
EnableItemNo(); // 酒捞袍逞滚 八祸 荤侩
EnableLimitNo(); // 府固飘逞滚 八祸 荤侩
}
void CChrMerchSearch::OnBtnPageup()
{
// TODO: Add your control notification handler code here
m_bIsEndpage = false;
if(!m_nCurPage) return;
m_nCurPage--;
RunSQL();
}
void CChrMerchSearch::OnBtnPagedown()
{
// TODO: Add your control notification handler code here
if(m_bIsEndpage) return;
m_nCurPage++;
RunSQL();
}
void CChrMerchSearch::RunSQL()
{
CCharacterView *pView = (CCharacterView*)GetParent();
WCHAR query[ 0x1ff ];
char str[ 0x1ff ];
if(!MakeQuery(str)) return;
g_pDb->KSCToUnicode(str, query);
MERCHSELLINFO info[LIST_PAGE_SIZE];
memset(info, 0L, sizeof(info));
int ret = g_pDb->OpenRecord(query, &info, LIST_PAGE_SIZE, (BYTE)DRAGON_DB[ pView->m_nCurDbIndex ]);
if(ret < 0) return;
// 凯绢柯 饭内靛甸阑 府胶飘俊 货肺 笼绢持磊
m_ctrlResultList.DeleteAllItems();
for(int i = 0; i < LIST_PAGE_SIZE; i++)
InsertItem(info[i]);
}
void CChrMerchSearch::OnRadioSeller()
{
// TODO: Add your control notification handler code here
m_bUseSeller = true;
m_nCurPage = 0;
}
void CChrMerchSearch::OnRadioBuyer()
{
// TODO: Add your control notification handler code here
m_bUseSeller = false;
m_nCurPage = 0;
}
void CChrMerchSearch::InitDate()
{
SYSTEMTIME st;
GetLocalTime(&st); // 肺拿 鸥烙 掘扁
m_ctrlComboYear0.ResetContent();
m_ctrlComboYear1.ResetContent();
CString str;
for(int i = 1999; i <= st.wYear; i++)
{
str.Format(_T("%d"), i);
m_ctrlComboYear0.AddString(str); //霓焊冠胶俊 斥档 眠啊
m_ctrlComboYear1.AddString(str);
}
m_ctrlComboYear0.SetCurSel(0);
m_ctrlComboYear1.SetCurSel(st.wYear - 1999);
// 岿 老狼 悸泼
SetDlgItemInt(IDC_EDIT_MONTH0, 1);
SetDlgItemInt(IDC_EDIT_MONTH1, st.wMonth);
SetDlgItemInt(IDC_EDIT_DAY0, 1);
SetDlgItemInt(IDC_EDIT_DAY1, st.wDay);
}
bool CChrMerchSearch::MakeQuery(char *str)
{
CCharacterView *pView = (CCharacterView*)GetParent();
/////////////////////////////////////////////////////////////////////////////////////////////////
//<-------------------- 酒捞袍 逞滚客 府固飘 逞滚甫 捞侩茄 八祸 ---------- 矫累 -------------->//
/////////////////////////////////////////////////////////////////////////////////////////////////
// BBD 031117 酒捞袍逞滚客 府固飘 逞滚狼 & 八祸捞 啊瓷配废 荐沥
if(m_bCheckItemNo && m_bCheckLimitNo) // 酒捞袍逞滚客 府固飘 逞滚 & 八祸
{
int SearchNo = GetDlgItemInt(IDC_EDIT_ITEM_NO);
int SearchNo2 = GetDlgItemInt(IDC_EDIT_LIMIT_NO);
sprintf(str,
"select * from MerchantSeller where not [No] in"
"(select top %d [No] from MerchantSeller where SellItemNo=%d and SellItemAttr2=%d)"
"and SellItemNo=%d and SellItemAttr2=%d",
LIST_PAGE_SIZE * m_nCurPage, SearchNo, SearchNo2, SearchNo, SearchNo2);
return true;
}
// if(m_bCheckItemNo) // 酒捞袍逞滚俊 狼茄 八祸
else if(m_bCheckItemNo) // 酒捞袍逞滚俊 狼茄 八祸 // BBD 031117 荐沥
{
int SearchNo = GetDlgItemInt(IDC_EDIT_ITEM_NO);
sprintf(str,
"select * from MerchantSeller where not [No] in"
"(select top %d [No] from MerchantSeller where SellItemNo=%d ) and SellItemNo=%d",
LIST_PAGE_SIZE * m_nCurPage, SearchNo, SearchNo);
return true;
}
else if(m_bCheckLimitNo) // 府固飘逞滚俊 狼茄 八祸
{
int SearchNo = GetDlgItemInt(IDC_EDIT_LIMIT_NO);
sprintf(str,
"select * from MerchantSeller where not [No] in"
"(select top %d [No] from MerchantSeller where SellItemAttr2=%d ) and SellItemAttr2=%d",
LIST_PAGE_SIZE * m_nCurPage, SearchNo, SearchNo);
return true;
}
/////////////////////////////////////////////////////////////////////////////////////////////////
//<-------------------- 酒捞袍 逞滚客 府固飘 逞滚甫 捞侩茄 八祸 ---------- 场 ---------------->//
/////////////////////////////////////////////////////////////////////////////////////////////////
// 府畔炼扒
if(!pView) return false;
if(m_nUsedateState == 0) // 捞抚俊 狼茄 八祸
{
if(pView->m_ComboCharName == CString("")) return false;
// 孽府 备己
sprintf(str,
"select * from MerchantSeller where not [No] in"
"(select top %d [No] from MerchantSeller where %s='%s' ) and %s='%s'",
LIST_PAGE_SIZE * m_nCurPage, m_bUseSeller ?"SellerName":"BuyerName", pView->m_ComboCharName,
m_bUseSeller ?"SellerName":"BuyerName", pView->m_ComboCharName);
}
else if(m_nUsedateState == 1) // RegDate 俊 狼茄 八祸
{
if(!CheckDate(GetDlgItemInt(IDC_COMBO_YEAR0),GetDlgItemInt(IDC_EDIT_MONTH0), GetDlgItemInt(IDC_EDIT_DAY0),
GetDlgItemInt(IDC_COMBO_YEAR1), GetDlgItemInt(IDC_EDIT_MONTH1), GetDlgItemInt(IDC_EDIT_DAY1)))
{
MessageBox("Incorrect Date"); // 登瘤档 臼绰 朝楼捞促
return false;
}
CString datetime0, datetime1;
// 朝磊 器杆 备己
datetime0.Format("%d-%02d-%02d 0:00:00", GetDlgItemInt(IDC_COMBO_YEAR0),
GetDlgItemInt(IDC_EDIT_MONTH0), GetDlgItemInt(IDC_EDIT_DAY0));
datetime1.Format("%d-%02d-%02d 23:59:59", GetDlgItemInt(IDC_COMBO_YEAR1),
GetDlgItemInt(IDC_EDIT_MONTH1), GetDlgItemInt(IDC_EDIT_DAY1));
// 孽府 备己
sprintf(str,
"select * from MerchantSeller where not [No] in"
"(select top %d [No] from MerchantSeller"
"where RegDate between cast ('%s' as datetime) and cast('%s' as datetime))"
"and RegDate between cast('%s' as datetime) and cast('%s' as datetime)"
,LIST_PAGE_SIZE * m_nCurPage, datetime0.GetBuffer(128), datetime1.GetBuffer(128),
datetime0.GetBuffer(128), datetime1.GetBuffer(128));
}
else if(m_nUsedateState == 2) // EndDate 俊 狼茄 八祸
{
if(!CheckDate(GetDlgItemInt(IDC_COMBO_YEAR0),GetDlgItemInt(IDC_EDIT_MONTH0), GetDlgItemInt(IDC_EDIT_DAY0),
GetDlgItemInt(IDC_COMBO_YEAR1), GetDlgItemInt(IDC_EDIT_MONTH1), GetDlgItemInt(IDC_EDIT_DAY1)))
{
MessageBox("Incorrect Date"); // 登瘤档 臼绰 朝楼捞促
return false;
}
CString datetime0, datetime1;
// 朝磊 器杆 备己
datetime0.Format("%d-%02d-%02d 0:00:00", GetDlgItemInt(IDC_COMBO_YEAR0),
GetDlgItemInt(IDC_EDIT_MONTH0), GetDlgItemInt(IDC_EDIT_DAY0));
datetime1.Format("%d-%02d-%02d 23:59:59", GetDlgItemInt(IDC_COMBO_YEAR1),
GetDlgItemInt(IDC_EDIT_MONTH1), GetDlgItemInt(IDC_EDIT_DAY1));
// 孽府 备己
sprintf(str,
"select * from MerchantSeller where not [No] in"
"(select top %d [No] from MerchantSeller"
"where EndDate between cast ('%s' as datetime) and cast('%s' as datetime))"
"and EndDate between cast('%s' as datetime) and cast('%s' as datetime)"
,LIST_PAGE_SIZE * m_nCurPage, datetime0.GetBuffer(128), datetime1.GetBuffer(128),
datetime0.GetBuffer(128), datetime1.GetBuffer(128));
}
return true;
}
bool CChrMerchSearch::CheckDate(int year0, int month0, int day0, int year1, int month1, int day1)
{
// 胶鸥飘朝楼啊 浚靛朝楼 捞饶 牢瘤 眉农
if(year0 > year1)
{
return false;
}
if(month0 > month1 && year0 == year1)
{
return false;
}
if(day0 > day1 && month0 == month1 && year0 == year1)
{
return false;
}
// 八祸且 胶鸥飘 朝楼 眉农
if(month0 <= 0 || month0 > 12) // month啊 裹困 捞郴牢啊?
{
return false;
}
if(day0 <= 0 || day0 > 31) // day啊 裹困 捞郴牢啊?
{
return false;
}
// 八祸且 浚靛 朝楼 眉农
if(month1 <= 0 || month1 > 12) // month啊 裹困 捞郴牢啊?
{
return false;
}
if(day1 <= 0 || day1 > 31) // day啊 裹困 捞郴牢啊?
{
return false;
}
return true;
}
void CChrMerchSearch::EnableRadioSellerNBuyer()
{
// Buyer & Seller 扼叼坷滚瓢阑 混府磊
m_ctrlRadSeller.EnableWindow(TRUE);
CWnd * ptr = GetDlgItem(IDC_RADIO_BUYER);
ptr->EnableWindow(TRUE);
}
void CChrMerchSearch::DisableRadioSellerNBuyer()
{
// Buyer & Seller 扼叼坷滚瓢阑 磷捞磊
m_ctrlRadSeller.EnableWindow(FALSE);
CWnd * ptr = GetDlgItem(IDC_RADIO_BUYER);
ptr->EnableWindow(FALSE);
}
void CChrMerchSearch::EnableItemNo()
{
m_ctrlCheckItemNo.EnableWindow(TRUE);
// BBD 031117 俊叼飘 冠胶绰 劝己拳啊 鞘夸绝促
// m_ctrlEditItemNo.EnableWindow(TRUE);
}
void CChrMerchSearch::DisableItemNo()
{
m_ctrlCheckItemNo.EnableWindow(FALSE);
m_ctrlEditItemNo.EnableWindow(FALSE);
}
void CChrMerchSearch::EnableLimitNo()
{
m_ctrlCheckLimitNo.EnableWindow(TRUE);
// BBD 031117 俊叼飘 冠胶绰 劝己拳啊 鞘夸绝促
// m_ctrlEditLimitNo.EnableWindow(TRUE);
}
void CChrMerchSearch::DisableLimitNo()
{
m_ctrlCheckLimitNo.EnableWindow(FALSE);
m_ctrlEditLimitNo.EnableWindow(FALSE);
}
void CChrMerchSearch::OnCheckItemNo() // BBD 031117 捞 窃荐狼 郴侩捞 荐沥凳
// ( 酒捞袍 逞滚客 府固飘逞滚啊 悼矫俊 啊瓷配废)
{
// TODO: Add your control notification handler code here
// BBD 031117 货肺眠啊----------------------------//
if(m_bCheckItemNo)
{
m_ctrlEditItemNo.EnableWindow(FALSE);
m_bCheckItemNo = false;
}
else
{
m_ctrlEditItemNo.EnableWindow(TRUE);
m_bCheckItemNo = true;
}
//------------------------------------------------//
if(m_bCheckItemNo || m_bCheckLimitNo)
{
DisableRadioSellerNBuyer(); // 捞抚八祸阑 荤侩 臼窃
}
else
{
EnableRadioSellerNBuyer(); // 捞抚八祸阑 荤侩
}
}
void CChrMerchSearch::OnCheckLimitNo() // BBD 031117 捞 窃荐狼 郴侩捞 荐沥凳
// ( 酒捞袍 逞滚客 府固飘逞滚啊 悼矫俊 啊瓷配废)
{
// TODO: Add your control notification handler code here
// BBD 031117 货肺眠啊----------------------------//
if(m_bCheckLimitNo)
{
m_bCheckLimitNo = false;
m_ctrlEditLimitNo.EnableWindow(FALSE);
}
else
{
m_ctrlEditLimitNo.EnableWindow(TRUE);
m_bCheckLimitNo = true;
}
//------------------------------------------------//
if(m_bCheckItemNo || m_bCheckLimitNo)
{
DisableRadioSellerNBuyer(); // 捞抚八祸阑 荤侩 臼窃
}
else
{
EnableRadioSellerNBuyer(); // 捞抚八祸阑 荤侩
}
}
// 捞 窃荐绰 府胶飘俊 焊咯柳 郴侩阑 其捞瘤喊肺 历厘茄促
void CChrMerchSearch::OnBtnSave()
{
// TODO: Add your control notification handler code here
CFileDialog dlg(TRUE, "txt", "*.txt",OFN_HIDEREADONLY ,
"TEXT File(*.txt)|*.txt|All File(*.*)|*.*||");
if(dlg.DoModal() == IDOK)
{
CString str = dlg.GetFileName();
if(!SaveResult((char*)(LPCTSTR)str))
{
MessageBox("Saving is Filed");
}
}
}
// 林绢柳 颇老俊 搬苞甫 历厘窍磊
bool CChrMerchSearch::SaveResult(char *filename)
{
FILE * fp = 0L;
fp = fopen(filename, "wt");
if(!fp) // 颇老凯扁 角菩
{
return false;
}
char buffer[256];
char temp[32];
char temp2[32];
unsigned short lineend = 0x0a0d;
// 茄临肺 鞘靛狼 狼固甫 钎矫秦林绊
char comment[] = "No.\tRegist Date\tEnd Date\tSeller Name\tBuyer Name\tExchange Money\t"
"Rare Type\tItem Level\tTactic Type\tWear Kind\tIs End\tSeller Take\tBuyer Take\t"
"Item No.\tLimit No.\tGrade\tsocksung1\tsocksung2(multi)\tsocksung3(time)\t"
"High Level\tDynamicRare";
fwrite(comment, sizeof(comment), 1, fp);
fwrite(&lineend, sizeof(lineend), 1, fp);
// 府胶飘甫 倒哥 历厘窍技~~
for(int i = 0; i < LIST_PAGE_SIZE; i++)
{
memset(buffer, 0L, sizeof(buffer));
for(int j = 0; j < LIST_FIELD_COUNT; j++)
{
memset(temp, 0L, sizeof(temp));
memset(temp2, 0L, sizeof(temp2));
m_ctrlResultList.GetItemText(i, j, temp, sizeof(temp));
sprintf(temp2, "%s\t", temp);
strcat(buffer, temp2);
// 4锅俊 茄锅究 老窜 历厘窍技
if( j%16 == 15)
{
fwrite(buffer, strlen(buffer), 1, fp);
fwrite(&lineend, sizeof(lineend), 1, fp);
memset(buffer, 0L, sizeof(buffer));
}
}
fwrite(&lineend, 1, sizeof(lineend), fp);
}
fclose(fp);
return true;
}
//<! BBD 040303
void CChrMerchSearch::OnBtnMove2backuptbl()
{
// TODO: Add your control notification handler code here
CMerchantDataMoveDlg dlg;
dlg.DoModal();
}
//<! BBD 040303
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -