⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chrmerchsearch.cpp

📁 网络游戏龙族服务器端管理工具 rmtool 源代码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
// ChrMerchSearch.cpp : implementation file
//

#include "stdafx.h"
#include "rmtool.h"
#include "ChrMerchSearch.h"
#include "CharacterView.h"
#include "MerchantDataMoveDlg.h"	// BBD 040303

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CChrMerchSearch dialog


CChrMerchSearch::CChrMerchSearch(CWnd* pParent /*=NULL*/)
	: CDialog(CChrMerchSearch::IDD, pParent)
{
	//{{AFX_DATA_INIT(CChrMerchSearch)
	m_bCheckItemNo = FALSE;
	m_bCheckLimitNo = FALSE;
	//}}AFX_DATA_INIT
	m_nUsedateState = 0;
	m_bIsEndpage = false;
	m_nCurPage = 0;
	m_bUseSeller = true;
}

CChrMerchSearch::~CChrMerchSearch()
{

}


void CChrMerchSearch::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CChrMerchSearch)
	DDX_Control(pDX, IDC_CHECK_LIMIT_NO, m_ctrlCheckLimitNo);
	DDX_Control(pDX, IDC_CHECK_ITEM_NO, m_ctrlCheckItemNo);
	DDX_Control(pDX, IDC_EDIT_LIMIT_NO, m_ctrlEditLimitNo);
	DDX_Control(pDX, IDC_EDIT_ITEM_NO, m_ctrlEditItemNo);
	DDX_Control(pDX, IDC_RADIO_SELLER, m_ctrlRadSeller);
	DDX_Control(pDX, IDC_EDIT_MONTH1, m_ctrlEditMonth1);
	DDX_Control(pDX, IDC_EDIT_MONTH0, m_ctrlEditMonth0);
	DDX_Control(pDX, IDC_EDIT_DAY1, m_ctrlEditDay1);
	DDX_Control(pDX, IDC_EDIT_DAY0, m_ctrlEditDay0);
	DDX_Control(pDX, IDC_COMBO_YEAR1, m_ctrlComboYear1);
	DDX_Control(pDX, IDC_COMBO_YEAR0, m_ctrlComboYear0);
	DDX_Control(pDX, IDC_TABLE_LIST, m_ctrlResultList);
	DDX_Check(pDX, IDC_CHECK_ITEM_NO, m_bCheckItemNo);
	DDX_Check(pDX, IDC_CHECK_LIMIT_NO, m_bCheckLimitNo);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CChrMerchSearch, CDialog)
	//{{AFX_MSG_MAP(CChrMerchSearch)
	ON_WM_SIZE()
	ON_BN_CLICKED(IDC_BTN_SEARCH, OnBtnSearch)
	ON_BN_CLICKED(IDC_RADIO_USEDATE1, OnRadioUsedate1)
	ON_BN_CLICKED(IDC_RADIO_USEDATE2, OnRadioUsedate2)
	ON_BN_CLICKED(IDC_RADIO_USEDATE0, OnRadioUsedate0)
	ON_BN_CLICKED(IDC_BTN_PAGEUP, OnBtnPageup)
	ON_BN_CLICKED(IDC_BTN_PAGEDOWN, OnBtnPagedown)
	ON_BN_CLICKED(IDC_RADIO_SELLER, OnRadioSeller)
	ON_BN_CLICKED(IDC_RADIO_BUYER, OnRadioBuyer)
	ON_BN_CLICKED(IDC_CHECK_ITEM_NO, OnCheckItemNo)
	ON_BN_CLICKED(IDC_CHECK_LIMIT_NO, OnCheckLimitNo)
	ON_BN_CLICKED(IDC_BTN_SAVE, OnBtnSave)
	ON_BN_CLICKED(IDC_BTN_MOVE2BACKUPTBL, OnBtnMove2backuptbl)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CChrMerchSearch message handlers


BOOL CChrMerchSearch::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	InitDate();				// 霓焊冠胶狼 檬扁拳
	InitListctrl();				// 府胶飘 牧飘费狼 檬扁拳
	m_nUsedateState = 0;		// 弥檬 朝楼八祸阑 荤侩 臼窃栏肺 钎矫
	InitRadio();				// 扼叼坷 滚瓢狼 檬扁拳

	m_bIsEndpage = false;
	m_bUseSeller = true;
	m_nCurPage = 0;
/*
	m_ctrlEditMonth1.EnableWindow(TRUE);;
	m_ctrlEditMonth0.EnableWindow(TRUE);;
	m_ctrlEditDay1.EnableWindow(TRUE);;
	m_ctrlEditDay0.EnableWindow(TRUE);;
*/
//	m_ctrlEditMonth0.SetWindowText("0");


	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CChrMerchSearch::InitListctrl()
{
	m_ctrlResultList.DeleteAllItems();

	LV_COLUMN lvcolumn;
	lvcolumn.mask = LVCF_FMT | LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;
	lvcolumn.fmt =  LVCFMT_LEFT;

	// 阿 漠烦狼 涝仿
	for(int i = 0; i < 21; i++)
	{
		lvcolumn.iSubItem = i;
		switch(i)
		{
		case 0:
			lvcolumn.cx = 40;
			lvcolumn.pszText = "No.";
			break;
		case 1:
			lvcolumn.cx = 90;
			lvcolumn.pszText = "Regist Date";
			break;
		case 2:
			lvcolumn.cx = 90;
			lvcolumn.pszText = "End Date ";
			break;
		case 3:
			lvcolumn.cx = 100;
			lvcolumn.pszText = "Seller Name";
			break;
		case 4:
			lvcolumn.cx = 100;
			lvcolumn.pszText = "Buyer Name";
			break;
		case 5:
			lvcolumn.cx = 130;
			lvcolumn.pszText = "Exchange Money";
			break;
		case 6:
			lvcolumn.cx = 90;
			lvcolumn.pszText = "Rare Type";
			break;
		case 7:
			lvcolumn.cx = 90;
			lvcolumn.pszText = "Item Level";
			break;
		case 8:
			lvcolumn.cx = 90;
			lvcolumn.pszText = "Tactic Type";
			break;
		case 9:
			lvcolumn.cx = 90;
			lvcolumn.pszText = "Wear Kind";
			break;
		case 10:
			lvcolumn.cx = 70;
			lvcolumn.pszText = "Is End";
			break;
		case 11:
			lvcolumn.cx = 70;
			lvcolumn.pszText = "Seller Take";
			break;
		case 12:
			lvcolumn.cx = 70;
			lvcolumn.pszText = "Buyer Take";
			break;
		case 13:
			lvcolumn.cx = 70;
			lvcolumn.pszText = "Item No.";
			break;
		case 14:
			lvcolumn.cx = 70;
			lvcolumn.pszText = "Limit No.";
			break;
		case 15:
			lvcolumn.cx = 30;
			lvcolumn.pszText = "Grade";//殿鞭
			break;
		case 16:
			lvcolumn.cx = 30;
			lvcolumn.pszText = "soksung1";//加己1
			break;
		case 17:
			lvcolumn.cx = 30;
			lvcolumn.pszText = "soksung2(multi)";//加己2 钢萍 加己
			break;
		case 18:
			lvcolumn.cx = 30;
			lvcolumn.pszText = "soksung3(time)";//矫埃殿鞭
			break;
		case 19:
			lvcolumn.cx = 30;
			lvcolumn.pszText = "HighLevel";		//1捞搁 窍捞 酒捞袍
			break;
		case 20:
			lvcolumn.cx = 30;
			lvcolumn.pszText = "DynamicRare";		//1 捞搁 扁瓷 酒捞袍 0 捞搁 饭绢 酒捞袍
			break;
		default:
			break;
		}
		m_ctrlResultList.InsertColumn(i, &lvcolumn);
	}

	// 弊府靛 瓤苞 悸泼
	m_ctrlResultList.SetExtendedStyle(LVS_EX_GRIDLINES); 

}

void CChrMerchSearch::OnSize(UINT nType, int cx, int cy) 
{
	CDialog::OnSize(nType, cx, cy);
	
	// TODO: Add your message handler code here

}

void CChrMerchSearch::InsertItem(MERCHSELLINFO info)
{
	// 付瘤阜 其捞瘤 馆券
	if(!info.No)
	{
		m_bIsEndpage = true;
		return;
	}

	// 酒捞袍狼 加己阑 唱鸥郴绰 函荐
	t_RareMain SokSung_work;
	memcpy(&SokSung_work,&info.SellItemAttr4,4);

	// 酒捞袍阑 眠啊窍绰 何盒
	LV_ITEM lvitem;
	lvitem.iItem = m_ctrlResultList.GetItemCount();
	lvitem.mask = LVIF_TEXT;
	lvitem.iSubItem = 0;
	lvitem.iImage = 0;
	lvitem.pszText = "";

	// 货肺款 青阑 眠啊
	m_ctrlResultList.InsertItem(&lvitem);

	CString str;
	for(int i = 0; i < 21; i++)
	{
		// 阿 鞘靛狼 郴侩阑 钎矫窍磊
		switch(i)
		{
		case 0:
			str.Format("%d", info.No);
			break;
		case 1:			// info.RegDate 蔼
			str.Format("%d/%d/%d %d:%d:%d", info.RegDate.year, info.RegDate.month, info.RegDate.day
				, info.RegDate.hour, info.RegDate.minute, info.RegDate.second);
			break;
		case 2:			// info.EndDate 蔼
			str.Format("%d/%d/%d %d:%d:%d", info.EndDate.year, info.EndDate.month, info.EndDate.day
				, info.EndDate.hour, info.EndDate.minute, info.EndDate.second);
			break;
		case 3:
			str.Format("%s", info.SellerName);
			break;
		case 4:
			str.Format("%s", info.BuyerName);
			break;
		case 5:
			str.Format("%d", info.ExchangeMoney);
			break;
		case 6:				// info.RareType 蔼
			switch(info.RareType)
			{
			case 0:
				str.Format("%s", "NORMAL");
				break;
			case 1:
				str.Format("%s", "RARE");
				break;
			case 2:
				str.Format("%s", "HIGH");
				break;
			case 3:
				str.Format("%s", "DYN_RARE");
				break;
			case 4:
				str.Format("%s", "SET");
				break;
			default:
				str.Format("%d", info.RareType);
				break;
			}
			break;
		case 7:				//	info.ItemLevel 蔼

			switch(info.ItemLevel)
			{
			case 0:
				str.Format("%s", "LVMIN");
				break;
			case 1:
				str.Format("%s", "10-20");
				break;
			case 2:
				str.Format("%s", "20-30");
				break;
			case 3:
				str.Format("%s", "30-40");
				break;
			case 4:
				str.Format("%s", "40-50");
				break;
			case 5:
				str.Format("%s", "50-60");
				break;
			case 6:
				str.Format("%s", "60-70");
				break;
			case 7:
				str.Format("%s", "70-80");
				break;
			case 8:
				str.Format("%s", "80-90");
				break;
			case 9:
				str.Format("%s", "90-100");
				break;
			case 10:
				str.Format("%s", "100-110");
				break;
			case 11:
				str.Format("%s", "110-120");
				break;
			case 12:
				str.Format("%s", "120-130");
				break;
			case 13:
				str.Format("%s", "130-140");
				break;
			case 14:
				str.Format("%s", "140-150");
				break;
			case 15:
				str.Format("%s", "LVMAX");
				break;
			default:
				str.Format("%d", info.ItemLevel);
				break;
			}
			break;
		case 8:
			str.Format("%d", info.TacticTYpe);
			break;
		case 9:			//	info.WearKind 蔼
			switch(info.WearKind)
			{
			case 0:
				str.Format("%s", "ANYTHING");
				break;
			case 1:
				str.Format("%s", "ONLY_INVEN");
				break;
			case 2:
				str.Format("%s", "RIGHT_HAND");
				break;
			case 3:
				str.Format("%s", "LEFT_HAND");
				break;
			case 4:
				str.Format("%s", "HEAD");
				break;
			case 5:
				str.Format("%s", "BODY");
				break;
			case 6:
				str.Format("%s", "NECK");
				break;
			case 7:
				str.Format("%s", "SHOES");
				break;
			case 8:
				str.Format("%s", "UNIQUE");
				break;
			case 9:
				str.Format("%s", "BELT");
				break;
			case 10:
				str.Format("%s", "TWO_HAND");
				break;
			default:
				str.Format("%d", info.WearKind);
				break;
			}
			break;
		case 10:			//	info.IsEnd 蔼
			switch(info.IsEnd)
			{
			case 0:
				str.Format("%s", "OK");
				break;
			case 1:
				str.Format("%s", "Deleting");
				break;
			case 3:
				str.Format("%s", "Buying");
				break;
			case 4:
				str.Format("%s", "Wait Take");
				break;
			case 5:
				str.Format("%s", "Deleted");
				break;
			default:
				str.Format("%d", info.IsEnd);
				break;
			}
			break;
		case 11:		// info.SellerTake 蔼
			if(info.SellerTake)
			{
				str.Format("%s", "O");
			}
			else
			{
				str.Format("%s", "X");
			}
			break;
		case 12:		// info.BuyerTake 蔼
			if(info.BuyerTake)
			{
				str.Format("%s", "O");
			}
			else
			{
				str.Format("%s", "X");
			}
			break;
		case 13:
			str.Format("%d", info.SellItemNo);
			break;
		case 14:
			str.Format("%d", info.SellItemAttr2);
			break;
		case 15:
			str.Format("%d", SokSung_work.grade);
			break;
		case 16:
			str.Format("%d", SokSung_work.soksung1);
			break;
		case 17:
			str.Format("%d", SokSung_work.soksung2);
			break;
		case 18:
			str.Format("%d", SokSung_work.soksung3);
			break;
		case 19:
			str.Format("%d", SokSung_work.HighLevel);
			break;
		case 20:
			str.Format("%d", SokSung_work.IsDynamicRare);
			break;
		default:
			break;
		}
		// 秦寸 青凯俊 臂磊 眠啊
		m_ctrlResultList.SetItemText(lvitem.iItem, i, (char*)(LPCTSTR)str);

	}

}

void CChrMerchSearch::OnBtnSearch() 
{
	// TODO: Add your control notification handler code here
	m_nCurPage = 0;
	m_bIsEndpage = false;

	RunSQL();
	
}

void CChrMerchSearch::InitRadio()
{
	// 扼叼坷 滚瓢吝 1锅掳甫 眉农窍磊
	CheckRadioButton(IDC_RADIO_USEDATE0, IDC_RADIO_USEDATE2, IDC_RADIO_USEDATE0);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -