?? clearassets.cpp
字號:
// ClearAssets.cpp : implementation file
//
#include "stdafx.h"
#include "FixedAssets.h"
#include "ClearAssets.h"
#include "CRACK.h"
#include "PromptDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CClearAssets dialog
CClearAssets::CClearAssets(CWnd* pParent /*=NULL*/)
: CDialog(CClearAssets::IDD, pParent)
{
//{{AFX_DATA_INIT(CClearAssets)
m_ClearDate = -1;
m_strFactory = _T("");
m_InDate = -1;
m_strInterID = _T("");
m_LFDate = -1;
m_strName = _T("");
m_strReason = _T("");
m_strType = _T("");
m_strUseInfo = _T("");
m_strRemark = _T("");
m_strPerson = _T("");
m_strAssetID = _T("");
m_LRatio = 0.0;
m_LeftValue = 0.0;
m_OrigValue = 0.0;
m_YearNum = 0;
//}}AFX_DATA_INIT
}
void CClearAssets::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CClearAssets)
DDX_Control(pDX, IDC_LER_PERSON, m_CtrlCBPerson);
DDX_Control(pDX, IDC_CLE_REASON, m_CtrlEditReason);
DDX_Control(pDX, IDC_LIST_ADDASSERT, m_CtrlList);
DDX_Control(pDX, IDC_CLR_CLEARTYPE, m_CtrlCBClearType);
DDX_Control(pDX, IDC_CLE_SORT, m_CtrlCBSort);
DDX_Control(pDX, IDC_CLE_KEEPER, m_CtrlCBKeeper);
DDX_Control(pDX, IDC_CLE_DEPRECIATION, m_CtrlCBDepreciation);
DDX_Control(pDX, IDC_CLE_DEPOSITARY, m_CtrlCBDepositary);
DDX_Control(pDX, IDC_CLE_DEPARTMENT, m_CtrlCBDepartment);
DDX_Control(pDX, IDC_CLE_ADDTYPE, m_CtrlCBAddType);
DDX_DateTimeCtrl(pDX, IDC_CLE_CLEARDATE, m_ClearDate);
DDX_CBString(pDX, IDC_CLE_FACTORY, m_strFactory);
DDX_DateTimeCtrl(pDX, IDC_CLE_INDATE, m_InDate);
DDX_Text(pDX, IDC_CLE_INTERID, m_strInterID);
DDX_DateTimeCtrl(pDX, IDC_CLE_LFDATE, m_LFDate);
DDX_Text(pDX, IDC_CLE_NAME, m_strName);
DDX_Text(pDX, IDC_CLE_REASON, m_strReason);
DDX_Text(pDX, IDC_CLE_TYPE, m_strType);
DDX_CBString(pDX, IDC_CLE_USEINFO, m_strUseInfo);
DDX_Text(pDX, IDC_CLE_REMARK, m_strRemark);
DDX_CBString(pDX, IDC_LER_PERSON, m_strPerson);
DDX_Text(pDX, IDC_ASSETID, m_strAssetID);
DDX_Text(pDX, IDC_CLE_LRATIO, m_LRatio);
DDV_MinMaxDouble(pDX, m_LRatio, 0., 1.);
DDX_Text(pDX, IDC_CLE_LEFTVALUE, m_LeftValue);
DDX_Text(pDX, IDC_CLE_ORIGVALUE, m_OrigValue);
DDV_MinMaxDouble(pDX, m_OrigValue, 0., 9.e+055);
DDX_Text(pDX, IDC_YEARNUM, m_YearNum);
DDV_MinMaxInt(pDX, m_YearNum, 0, 1000);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CClearAssets, CDialog)
//{{AFX_MSG_MAP(CClearAssets)
ON_BN_CLICKED(IDD_CLEAR, OnClear)
ON_NOTIFY(LVN_ITEMCHANGED, IDC_LIST_ADDASSERT, OnItemchangedListAddassert)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CClearAssets message handlers
int CClearAssets::DoModal()
{
// TODO: Add your specialized code here and/or call the base class
return CDialog::DoModal();
}
BOOL CClearAssets::OnInitDialog()
{
CDialog::OnInitDialog();
m_CtrlList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
//連接數(shù)據(jù)庫
m_pDatabase=new CDaoDatabase;
try{
m_pDatabase->Open("FixedAssets");
m_pRecordset=new CDaoRecordset(m_pDatabase);
}
catch(CDaoException *e)
{
e->ReportError();
delete m_pDatabase;
m_pDatabase=NULL;
e->Delete();
}
//初始化參數(shù)
if(!m_pDatabase->IsOpen()) return 0;
if(!m_pRecordset) return 0;
if(m_pRecordset->IsOpen()) m_pRecordset->Close();
CString strSelect;
try
{ //保管人員
strSelect = _T("Select 保管人員ID,保管人員 From 保管人員");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while (!m_pRecordset->IsEOF())
{
COleVariant var;
var = m_pRecordset->GetFieldValue(0);
m_uaKeeper.Add(var.lVal);
var = m_pRecordset->GetFieldValue(1);
m_saKeeper.Add(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
// 部門
strSelect = _T("Select 部門ID,部門名稱 From 部門");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while (!m_pRecordset->IsEOF())
{
COleVariant var;
var = m_pRecordset->GetFieldValue(0);
m_uaDepartment.Add(var.lVal);
var = m_pRecordset->GetFieldValue(1);
m_saDepartment.Add(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
// 存放地點(diǎn)
strSelect = _T("Select 存放地點(diǎn)ID,存放地點(diǎn) From 存放地點(diǎn)");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while (!m_pRecordset->IsEOF())
{
COleVariant var;
var = m_pRecordset->GetFieldValue(0);
m_uaDepositary.Add(var.lVal);
var = m_pRecordset->GetFieldValue(1);
m_saDepositary.Add(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
// 增加方式
strSelect = _T("Select 增加方式ID,增加方式 From 增加方式");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while (!m_pRecordset->IsEOF())
{
COleVariant var;
var = m_pRecordset->GetFieldValue(0);
m_uaAddType.Add(var.lVal);
var = m_pRecordset->GetFieldValue(1);
m_saAddType.Add(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
// 資產(chǎn)類別
strSelect = _T("Select 資產(chǎn)類別ID,資產(chǎn)類別 From 資產(chǎn)類別");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while (!m_pRecordset->IsEOF())
{
COleVariant var;
var = m_pRecordset->GetFieldValue(0);
m_uaSort.Add(var.lVal);
var = m_pRecordset->GetFieldValue(1);
m_saSort.Add(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();
}
// close recordset
m_pRecordset->Close();
// 清理方式
strSelect = _T("Select 清理方式ID,清理方式 From 清理方式");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while (!m_pRecordset->IsEOF())
{
COleVariant var;
var = m_pRecordset->GetFieldValue(0);
m_uaClear.Add(var.lVal);
var = m_pRecordset->GetFieldValue(1);
m_saClear.Add(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();
}
// close recordset
m_pRecordset->Close();
// 清理人
strSelect = _T("Select DISTINCT 清理人 From 清理資產(chǎn)");
m_pRecordset->Open(dbOpenDynaset,strSelect);
while (!m_pRecordset->IsEOF())
{
COleVariant var;
var = m_pRecordset->GetFieldValue(0);
m_CtrlCBPerson.AddString(CCrack::strVARIANT(var));
m_pRecordset->MoveNext();
}
m_pRecordset->Close();
}
catch (CDaoException* e)
{
e->ReportError();
e->Delete();
return 0;
}
int nIndex,i;
for(i=0;i<m_saKeeper.GetSize();i++) //初始化 保管人員
{
nIndex =m_CtrlCBKeeper.AddString(m_saKeeper.GetAt(i));
m_CtrlCBKeeper.SetItemData(nIndex, m_uaKeeper.GetAt(i));
}
for(i=0;i<m_saDepartment.GetSize();i++) //初始化 部門
{
nIndex =m_CtrlCBDepartment.AddString(m_saDepartment.GetAt(i));
m_CtrlCBDepartment.SetItemData(nIndex, m_uaDepartment.GetAt(i));
}
for(i=0;i<m_saDepositary.GetSize();i++) //初始化 存放地點(diǎn)
{
nIndex =m_CtrlCBDepositary.AddString(m_saDepositary.GetAt(i));
m_CtrlCBDepositary.SetItemData(nIndex, m_uaDepositary.GetAt(i));
}
for(i=0;i<m_saAddType.GetSize();i++) //初始化 增加方式
{
nIndex =m_CtrlCBAddType.AddString(m_saAddType.GetAt(i));
m_CtrlCBAddType.SetItemData(nIndex, m_uaAddType.GetAt(i));
}
for(i=0;i<m_saSort.GetSize();i++) //初始化 類別
{
nIndex =m_CtrlCBSort.AddString(m_saSort.GetAt(i));
m_CtrlCBSort.SetItemData(nIndex, m_uaSort.GetAt(i));
}
for(i=0;i<m_saClear.GetSize();i++) //清理方式 類別
{
nIndex =m_CtrlCBClearType.AddString(m_saClear.GetAt(i));
m_CtrlCBClearType.SetItemData(nIndex, m_uaClear.GetAt(i));
}
m_CtrlCBDepreciation.InsertString(0,"平均年限法"); //初始化折舊方法
m_CtrlCBDepreciation.InsertString(1,"工作量法");
m_CtrlCBDepreciation.InsertString(2,"雙倍余額遞減法");
m_CtrlCBDepreciation.InsertString(3,"年數(shù)總和法");
Refresh();
Empty();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CClearAssets::Refresh()//刷新
{
m_strTableName = _T("資產(chǎn)信息");
if(!m_pDatabase->IsOpen()) return;
if(!m_pRecordset) return;
if(m_pRecordset->IsOpen()) m_pRecordset->Close();
//清空list控件
m_CtrlList.DeleteAllItems();
while(m_CtrlList.DeleteColumn(0));
CDaoFieldInfo fieldInfo;
int nFields;
CDaoTableDef td(m_pDatabase);
try
{
td.Open(m_strTableName);
nFields = td.GetFieldCount();
for (int j=0; j < nFields; j++)
{
td.GetFieldInfo(j,fieldInfo);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -