Cách tạo môt ứng dụng vẽ hình trong Microsoft Visual C++
File à New àXuất hiện cửa sổ New, ta chọn thẻ Projects, sau đó chọn đủ 3 bước sau:
B1: Chọn MFC AppWizard(exe)
B2: Xác định thư mục chứa ứng dụng trong mục Location
B3: Đặt tên cho ứng dụng trong mục Project Name àXuất hiện cửa sổ MFC
AppWizard àChọn Single Document (dùng để vẽ hình)
16 trang |
Chia sẻ: ttlbattu | Lượt xem: 2024 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Ôn tập bài tập thực hành lập trình, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
ÔN TẬP BÀI TẬP THỰC HÀNH
LẬP TRÌNH WINDOW
******************************************************
Bài 1:
IDC_EDIT_A
IDC_EDIT_B
IDC_STATIC_KETQUA
IDC_BUTTON_TINH chọn BN_CLICKED
IDC_RADIO_CONG
Chọn Group
Radio Button
Group Box chọn Tab stop
void CBai1_1Dlg::OnButtonTinh()
{
UpdateData (true);
float kq;
switch (m_pheptinh)
{
case 0:
kq=m_a + m_b; break;
case 1:
kq=m_a - m_b; break;
case 2:
kq=m_a * m_b; break;
case 3:
kq=m_a / m_b; break;
}
m_ketqua.Format ("%0.0f",kq);
UpdateData (false);
}
Bài 2:
IDC_EDIT_NHAP
IDC_LIST
1
IDC_LIST2
IDC_BUTTON_PHAI chọn BN_CLICKED
IDC_BUTTON_ RAI chọn
BN_CLICKED
IDC_BUTTON_NHAP chọn BN_CLICKED
void CBai1_2Dlg::OnButtonNhap()
{
UpdateData (true);
m_list1.AddString (m_nhap);
m_nhap.Empty ();
UpdateData(false);
}
******************************************************
void CBai1_2Dlg::OnButtonPhai() //click button chuyen du lieu qua phai
{
UpdateData (true);
CString s;
int i;
i=m_list1.GetCurSel ();
m_list1.GetText (i,s);
m_list2.AddString (s);
m_list1.DeleteString(i);
UpdateData (false);
}
******************************************************
void CBai1_2Dlg::OnButtonTrai() //click button chuyen du lieu qua trai
{
int j,i,tong;
CString s;
//thuc hien viec chuyen cac gia tri duoc chon qua list1
tong=m_list2.GetCount ();//tinh tong cac dong trong listcontrol
for (j=0;j<tong;j++ )
{
if (m_list2.GetSel(j)==1)
{
m_list2.GetText (j,s);
m_list1.AddString (s);
m_list2.DeleteString (j);
}
}
//thuc hien xoa cac gia tri bi chuyen trong list2
tong=m_list2.GetCount ();
for (i=0;i<tong;i++ )
{
if (m_list2.GetSel(i)==1)
{
m_list2.DeleteString (i);
}
}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Bài 3:
IDC_COMBO1 chọn:
à CBN_SELCHANGE
à CBN_SELENDOK
IDC_STATIC_1
chọn Group
Group
Box
Vào ComboBox chuột phải chọn Properties à
Data: nhập dữ liệu vào (chọn Ctrl+Enter để xuống
hàng)
Trong thẻ General à Type:
+ DropDown: cho phép lựa chọn + nhập dữ liệu
+ DropList: không nhập được dữ liệu
+ Simple: hiển thị giống listbox
void CBai1_4Dlg::OnSelendokCombo1()
{
UpdateData (true);
m_ketqua.Empty ();
int i=m_combo.GetCurSel ();
CString s,s1,s2;
m_combo.GetLBText (i,s);
int gt=i+1,tinh;
for(int j=1;j<=10;j++)
{
tinh=gt*j;
s1.Format ("%.0d",j);
s2.Format ("%.0d",tinh);
m_ketqua=m_ketqua + s +" x "+ s1 +"= "+ s2 +"\n";
}
UpdateData (false);
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Bài 4:
IDC_EDIT_at
IDC_EDIT_bt
IDC_EDIT_kqt
IDC_EDIT_a
a
IDC_EDIT_b
a
IDC_EDIT_kqa
IDC_RADIO_CONG chọn
Group
IDC_BUTTON_TINH chọn BN_CLICKED
Group Box chọn Tab stop
Bài này chúng ta phải khai báo thêm lớp COMPLEX
Insert à New Class à - ClassType: Generic Class
- Name: COMPLEX
- FileName: COMPLEX.cpp
- Base class(es): + Derived From: CObject
+ As: public
******************************************************
COMPLEX.h
class COMPLEX : public CObject
{
protected:
double thuc;
double ao;
public:
//phuong thuc cap nhat du lieu
void SetComplex(double t,double a);
//nguyen mau phuong thuc tra ve phan thuc
double GetThuc();
//nguyen phuong thuc tra ve phan ao
double GetAo();
//nguyen mau phuong thuc cong hai so phuc
COMPLEX cong(COMPLEX z);
//nguyen mau phuong thuc tru hai so phuc
COMPLEX tru(COMPLEX z);
//nguyen mau phuong thuc nhan hai so phuc
COMPLEX nhan(COMPLEX z);
//nguyen mau phuong thuc chia hai so phuc
COMPLEX chia(COMPLEX z);
//nguyen mau ham tao hai tham so
COMPLEX(double t,double a);
//nguyen mau ham tao khong tham so
COMPLEX();
//nguyen mau ham huy
virtual ~COMPLEX();
//nguyen mau ham tao sao chep
COMPLEX(COMPLEX& z);
//nguyen mau phuong thuc toan tu +
COMPLEX operator +(COMPLEX z);
//nguyen mau phuong thuc toan tu -
COMPLEX operator -(COMPLEX z);
//nguyen mau phuong thuc toan tu *
COMPLEX operator *(COMPLEX z);
//nguyen mau phuong thuc toan tu /
COMPLEX operator /(COMPLEX z);
//nguyen mau phuong thuc toan tu =
COMPLEX& operator =(COMPLEX& z);
};
******************************************************
COMPLEX.cpp
//dinh nghia phuong thuc toan tu =
COMPLEX& COMPLEX::operator =(COMPLEX& z)
{
thuc=z.thuc;
ao=z.ao;
return *this;
}
//dinh nghia phuong thuc toan tu +
COMPLEX COMPLEX::operator +(COMPLEX z)
{
COMPLEX t(thuc+z.thuc,ao+z.ao);
return t;
}
//dinh nghia phuong thuc toan tu -
COMPLEX COMPLEX::operator -(COMPLEX z)
{
COMPLEX t(thuc-z.thuc,ao-z.ao);
return t;
}
//dinh nghia phuong thuc toan tu *
COMPLEX COMPLEX::operator *(COMPLEX z)
{
COMPLEX t(thuc*z.thuc,ao*z.ao);
return t;
}
//dinh nghia phuong thuc toan tu /
COMPLEX COMPLEX::operator /(COMPLEX z)
{
COMPLEX t(thuc/z.thuc,ao/z.ao);
return t;
}
//dinh nghia ham tao sao chep
COMPLEX::COMPLEX(COMPLEX& z)
{
thuc=z.thuc;
ao=z.ao;
}
//dinh nghia ham huy
COMPLEX::~COMPLEX()
{
}
//dinh nghia ham tao khong tham so
COMPLEX::COMPLEX()
{
thuc=0;
ao=0;
}
//dinh nghia ham tao hai tham so
COMPLEX::COMPLEX(double t,double a)
{
thuc=t;
ao=a;
}
//dinh nghia phuong thuc cong hai so phuc
COMPLEX COMPLEX::cong(COMPLEX z)
{
COMPLEX t;
t.thuc=thuc+z.thuc;
t.ao=ao+z.ao;
return t;
}
//dinh nghia phuong thuc tru hai so phuc
COMPLEX COMPLEX::tru(COMPLEX z)
{
COMPLEX t;
t.thuc=thuc-z.thuc;
t.ao=ao-z.ao;
return t;
}
//dinh nghia phuong thuc nhan hai so phuc
COMPLEX COMPLEX::nhan(COMPLEX z)
{
COMPLEX t;
t.thuc=thuc*z.thuc;
t.ao=ao*z.ao;
return t;
}
//dinh nghia phuong thuc chia hai so phuc
COMPLEX COMPLEX::chia(COMPLEX z)
{
COMPLEX t;
t.thuc=thuc/z.thuc;
t.ao=ao/z.ao;
return t;
}
//dinh nghia phuong thuc cap nhat du lieu
void COMPLEX::SetComplex(double t,double a)
{
//this->thuc=t;
//this->ao=a;
thuc=t;
ao=a;
}
//dinh nghia phuong thuc tra ve phan thuc
double COMPLEX::GetThuc()
{
return thuc;
}
double COMPLEX::GetAo()
{
return ao;
}
******************************************************
Viết trong Dialog chính.cpp
oid CBai2Dlg::OnButtonTinh()
{
COMPLEX a,b,kq;
UpdateData(true);
a.SetComplex(m_a_thuc,m_a_ao);
b.SetComplex(m_b_thuc,m_b_ao);
switch (m_pheptinh)
{
case 0:
kq=a+b; break;
case 1:
kq=a-b; break;
case 2:
kq= a*b; break;
case 3:
kq=a/b; break;
}
m_ketqua_thuc=kq.GetThuc();
m_ketqua_ao=kq.GetAo();
UpdateData(false);
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Cá h tạo môt ứng dụng trong Microsoft Visual C++
File à New àXuất hiện cửa sổ New, ta chọn thẻ Projects, sau đó chọn đủ 3
bước sau:
B1: Chọn MFC AppWizard(exe)
B2: Xác định thư mục chứa ứng dụng trong mục Location
B3: Đặt tên cho ứng dụng trong mục Project Name àXuất hiện cửa sổ MFC
AppWizard àChọn Dialog Based
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Bài 5:
Tương tự như bài 4 chúng ta cũng khai báo thêm lớp COMPLEX
Viết trong Dialog chính.cpp
void CBai3Dlg::OnButtonNhap()
{
UpdateData(true);
COMPLEX* p;
p=new COMPLEX(m_thuc,m_ao);
ds.Add(p);
m_list1.AddString(p->Print());
}
void CBai3Dlg::OnButtonCong()
{
COMPLEX* p;
COMPLEX s;
for(int i=0;i<ds.GetSize();i++)
{
p=(COMPLEX*)ds.GetAt(i);
s=s+(*p);
}
m_static_cong=s.Print();
UpdateData(false);
}
IDC_EDIT_THUC IDC_EDIT_AO
IDC_STATIC_CONG
IDC_LIST1
IDC_BUTTON_NHAP chọn BN_CLICKED
IDC_BUTTON_CONG chọn BN_CLICKED
List Box chọn
tap stop
Bài 6:
Editbox
Các nút nhớ add BN_CLICKED
Group Box
List Box chọn Tap
stop
Khai báo thêm lớp RATIO:
RATIO.h
class RATIO : public CObject
{
private:
int tuso;
int mauso;
public:
virtual ~RATIO(); // ham huy
// ham tao
RATIO();
RATIO(int a,int b);
RATIO(RATIO& c); // ham tao sao chep
void SetPhanSo(int a, int b); // gan gia tri phan so
// tra ve tu so va mau so
int GetTu();
int GetMau();
// nguyen mau cac toan tu ket hop, co ban, so sach
RATIO operator=(RATIO a);
RATIO operator+(RATIO a);
RATIO operator-(RATIO a);
RATIO operator*(RATIO a);
RATIO operator/(RATIO a);
RATIO operator+=(RATIO a);
RATIO operator-=(RATIO a);
RATIO operator*=(RATIO a);
RATIO operator/=(RATIO a);
bool operator==(RATIO a);
bool operator>(RATIO a);
bool operator>=(RATIO a);
// ham rut gon phan so:
RATIO Reduce(RATIO a);
CString Print();
};
*************************************************************
RATIO.cpp
ATIO::RATIO()
{
tuso=mauso=0;
}
RATIO::RATIO(int a,int b)
{
tuso=a;
mauso=b;
}
RATIO::RATIO(RATIO& c)
{
tuso=c.tuso;
mauso=c.mauso;
}
RATIO:: ~RATIO()
{
}
void RATIO::SetPhanSo(int a, int b)
{
tuso=a;
mauso=b;
}
int RATIO::GetTu()
{
return tuso;
}
int RATIO::GetMau()
{
return mauso;
}
RATIO RATIO::operator=(RATIO a)
{
tuso=a.tuso;
mauso=a.mauso;
return *this;
}
RATIO RATIO::operator+(RATIO a)
{
tuso=tuso*a.mauso+a.tuso*mauso;
mauso=mauso*a.mauso;
return Reduce(*this);
}
RATIO RATIO::operator-(RATIO a)
{
tuso=tuso*a.mauso-a.tuso*mauso;
mauso=mauso*a.mauso;
return Reduce(*this);
}
RATIO RATIO::operator*(RATIO a)
{
tuso=tuso*a.tuso;
mauso=mauso*a.mauso;
return Reduce(*this);
}
RATIO RATIO::operator/(RATIO a)
{
tuso=tuso*a.mauso;
mauso=mauso*a.tuso;
return Reduce(*this);
}
RATIO RATIO::operator+=(RATIO a)
{
*this=a+(*this);
return *this;
}
RATIO RATIO::operator-=(RATIO a)
{
*this=a-(*this);
return *this;
}
RATIO RATIO::operator*=(RATIO a)
{
*this=a*(*this);
return *this;
}
RATIO RATIO::operator/=(RATIO a)
{
*this=a/(*this);
return *this;
}
bool RATIO::operator==(RATIO a)
{
RATIO b;
b= Reduce(*this);
a=Reduce(a);
if((a.tuso=b.tuso)&&(a.mauso=b.mauso))
return true;
return false;
}
bool RATIO::operator>(RATIO a)
{
if((((double)tuso/(double)mauso)-((double)a.tuso/(double)a.mauso))>0)
return true;
return false;
}
bool RATIO::operator>=(RATIO a)
{
if(((double)tuso/(double)mauso)>=((double)tuso/(double)mauso))
return true;
return false;
}
RATIO RATIO::Reduce(RATIO p)
{
int a=abs(p.tuso);
int b=abs(p.mauso);
while(a!=b)
{
if(a>b)
a-=b;
else
b-=a;
}
p.tuso=p.tuso/a;
p.mauso=p.mauso/a;
return p;
}
CString RATIO::Print()
{
CString s_tuso,s_mauso,s;
if(tuso>0)
{
s_tuso.Format("%d",tuso);
s_mauso.Format("%d",mauso);
s=s_tuso +"/"+s_mauso;
}
else
{
s_tuso.Format("%d",tuso);
s_mauso.Format("%d",mauso);
s="-"+s_tuso +"/"+s_mauso;
}
return s;
}
******************************************************
Viết trong dialog chính .cpp
void CBaitapTH_5_PhansoDlg::OnButton1()
{
UpdateData(true);
RATIO* p;
p=new RATIO(m_tuso,m_mauso);
ds.Add(p);
m_list.AddString(p->Print());
UpdateData(false);
}
void CBaitapTH_5_PhansoDlg::OnButton2()
{
UpdateData(true);
if(ds.GetSize()==0)
{
MessageBox("Ko co phan tu nao de tin kiem !","Thong bao");
}
else
{
RATIO* p;
RATIO s=(*(RATIO*)ds.GetAt(0));
for(int i =0;i<ds.GetSize();i++)
{
p=(RATIO*)ds.GetAt(i);
if(s>(*p))
s=(*p);
}
m_kq_tuso=s.GetTu();
m_kq_mauso = s.GetMau();
UpdateData(false);
}
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Bài 7:
IDC_STATIC_CHUCHAY
IDC_CHECK1 chọn
BN_CLICKED
Viết trong BOOL CBai1_3Dlg::OnInitDialog()
UpdateData (true);
m_chuchay="- DOC LAP - TU DO - HANH PHUC ";
i=1;
UpdateData (false);
******************************************************
void CBai1_3Dlg::OnCheck1()
{
UpdateData (true);
if(m_check)
{
SetTimer (1,100,NULL);
}
else
{
KillTimer (1);
}
UpdateData (false);
}
void CBai1_3Dlg::OnTimer(UINT nIDEvent)
{
UpdateData (true);
switch(nIDEvent )
{
case 1:
int dodai;
CString s,s1,s2;
s=m_chuchay;
dodai=s.GetLength ();
s1=m_chuchay.Left (dodai-1);
s2=m_chuchay.Right (1);
s.Replace (s,s1);
m_chuchay=s2+s;
break;
}
UpdateData (false);
CDialog::OnTimer(nIDEvent);
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Bài 8:
Tên menu: IDR_MENU1
IDC_EDIT_HOTEN
IDC_DATETIMEPICKER_NGAYDE
N
IDC_DATETIMEPICKER_NGAYDI
IDC_EDIT_SONGAY
IDC_EDIT_TIENTRA
IDC_BUTTON_TINHTIEN
IDC_BUTTON_RESET
IDC_LIST1
Radio Button
Group Box chọn Tap
stop
ControlID(s) Messages
ID_FILE_OPEN
COMMAND ID_FILE_EXIT
ID_FILE_SAVE
IDC_BUTTON_RESET
BN_CLICKED
IDC_BUTTON_TINHTIEN
IDC_LIST1 NM_DBLCLK
CKhachsanDlg Serialize
Khai báo thêm một lớp thông tin
thongtin.h
class Cthongtin : public CObject
{
public:
DECLARE_SERIAL(Cthongtin)
void Serialize(CArchive& ar);
long mtientra;
int msongay;
int mloai;
CString mhoten,mngayden,mngaydi;
Cthongtin();
virtual ~Cthongtin();
};
thongtin.cpp
void Cthongtin::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{ // storing code
ar<<mhoten<<mngayden <<mngaydi <<mloai<<msongay <<mtientra;
}
else
{ // loading code
ar>>mhoten>>mngayden >>mngaydi >>mloai>>msongay >>mtientra;
}
}
Khachsan.cpp
void CKhachsanDlg::OnButtonTinhtien()
{
UpdateData (true);
CString s1,s2,s3,s4,s5;
if(m_ngayden >=m_ngaydi || m_hoten.IsEmpty () || m_loai ==-1)
MessageBox ("Chua nhap, hay chon gia tri roi?...","Thong
bao",MB_ICONEXCLAMATION);
else
{
COleDateTimeSpan giatri;
giatri=m_ngaydi - m_ngayden;
//todo:phai ep kieu du lieu ngay thang nam khi lay ra
//m_static.Format ("%d",(int)giatri.GetTotalDays ());
m_songay=(int)giatri.GetTotalDays ();
m_tientra=(long)m_songay * loaiphong ();//co phuong thuc go
ham loaiphong()
UpdateData (false);
s1.Format ("%d",m_songay);
s2.Format ("%.0ld",m_tientra);
s3.Format ("%ld",loaiphong ());
s4.Format ("%d/%d/%d",m_ngayden.GetDay (),m_ngayden
.GetMonth (),m_ngayden .GetYear ());
s5.Format ("%d/%d/%d",m_ngaydi.GetDay (),m_ngaydi
.GetMonth (),m_ngaydi .GetYear ());
int n;
n=m_list.GetItemCount ();
m_list.InsertItem (n,m_hoten);
m_list.SetItemText (n,1,s4); //add ngay den vao ListCtrl
m_list.SetItemText (n,2,s5); //add ngay di vao ListCtrl
m_list.SetItemText (n,3,s3); //add loai phong vao ListCtrl
m_list.SetItemText (n,4,s1); //add so ngay thue vao ListCtrl
m_list.SetItemText (n,5,s2 +" " "VND"); //add tien tra vao ListCtrl
Cthongtin *p=new Cthongtin ();
p->mhoten =m_hoten;
p->mngayden =s4;
p->mngaydi =s5;
p->mloai =loaiphong();
p->msongay =m_songay;
p->mtientra =m_tientra;
mArray.Add (p);
m_reset.ShowWindow (true);
m_tinhtien.ShowWindow (false);
}
}
long CKhachsanDlg::loaiphong()
{
switch(m_loai)
{
case 0: return 100000; break;
case 1: return 150000; break;
case 2: return 200000; break;
case 3: return 250000; break;
}
return 0;
}
void CKhachsanDlg::OnFileExit()
{
exit(1);
}
void CKhachsanDlg::OnFileOpen()
{
CFileDialog dlg(true);
CFile f;
BOOL b;
if(dlg.DoModal()==IDOK)
{
b=f.Open (dlg.GetFileName (),CFile::modeRead|CFile::typeBinary);
if(b)
{
CArchive ar(&f,CArchive::load);
mArray.Serialize (ar);
Cthongtin *p;
int n;
CString s1,s2,s3;
for(int i=0;i<mArray.GetSize ();i++)
{
p=(Cthongtin*)mArray.GetAt (i);
n=m_list.GetItemCount ();
m_list.InsertItem (n,p->mhoten );
m_list.SetItemText (n,1,p->mngayden );
m_list.SetItemText (n,2,p->mngaydi );
s1.Format ("%d",p->mloai );
s2.Format ("%d",p->msongay );
s3.Format ("%ld",p->mtientra );
m_list.SetItemText (n,3,s1);
m_list.SetItemText (n,4,s2);
m_list.SetItemText (n,5,s3+ " ""VND");
}
ar.Close();
}f.Close ();
}
}
void CKhachsanDlg::OnFileSave()
{
CFileDialog dlg(false);
CFile f;
if(dlg.DoModal ()==IDOK)
{
f.Open
(dlg.GetFileName(),CFile::modeCreate|CFile::modeWrite|CFile::typeBinary);
CArchive ar(&f,CArchive::store);
mArray.Serialize (ar);
ar.Close();
f.Close ();
}
}
void CKhachsanDlg::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{ // storing code
}
else
{ // loading code
}
}
void CKhachsanDlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
CString s1,s2,s3,s4,s5;
for(int i=0;i<m_list.GetItemCount ();i++)
{
if(m_list.GetItemState
(i,LVIS_SELECTED)==LVIS_SELECTED)
{
m_hoten =m_list.GetItemText (i,0);
//lay gia tri ho ten tu ListCtrl va dua len Dlg
s1=m_list.GetItemText (i,1);//lay gia tri ngay den
s2=m_list.GetItemText (i,2);//lay gia tri ngay di
s3=m_list.GetItemText (i,3);//lay gia tri loai phong
s4=m_list.GetItemText (i,4);//lay gia tri so ngay thue
s5=m_list.GetItemText (i,5);//lay gia tri tien tra
//todo: dua gia tri ngay den tu ListCtrl len Dlg
CString strngden;
int ngden,thden,namden;
strngden.Format ("%s",s1);
if(strngden.GetLength ()==8)
{
ngden=atoi(strngden.Left (1));
thden=atoi(strngden.Mid (2,1));
namden=atoi(strngden.Right (4));
}
else
{
if(strngden.GetLength ()==10)
{
ngden=atoi(strngden.Left (2));
thden=atoi(strngden.Mid (3,2));
namden=atoi(strngden.Right (4));
}
else
if(strngden.GetLength ()==9 && strngden.Mid (1,1)=="/")
{
ngden=atoi(strngden.Left (1));
thden=atoi(strngden.Mid (2,2));
namden=atoi(strngden.Right(4));
}
else
{
ngden=atoi(strngden.Left (2));
thden=atoi(strngden.Mid (3,1));
namden=atoi(strngden.Right (4));
}
}
m_ngayden .SetDate (namden,thden ,ngden);
//todo:: dua gia tri ngay di tu ListCtrl len Dlg
CString strngdi;
int ngdi,thdi,namdi;
strngdi.Format ("%s",s2);
if(strngdi.GetLength ()==8)
{
ngdi=atoi(strngdi.Left (1));
thdi=atoi(strngdi.Mid (2,1));
namdi=atoi(strngdi.Right (4));
}
else
{
if(strngdi.GetLength ()==10)
{
ngdi=atoi(strngdi.Left (2));
thdi=atoi(strngdi.Mid (3,2));
namdi=atoi(strngdi.Right (4));
}
else
if(strngdi.GetLength ()==9 && strngdi.Mid (1,1)=="/")
{
ngdi=atoi(strngdi.Left (1));
thdi=atoi(strngdi.Mid (2,2));
namdi=atoi(strngdi.Right(4));
}
else
{
ngdi=atoi(strngdi.Left (2));
thdi=atoi(strngdi.Mid (3,1));
namdi=atoi(strngdi.Right (4));
}
}
m_ngaydi.SetDate (namdi ,thdi, ngdi);
//todo: dua gia loai phong len Dlg
int mgiaphong=atoi(s3);
switch(mgiaphong)
{
case 100000: m_loai =0;break;
case 150000: m_loai =1;break;
case 200000: m_loai =2;break;
case 250000: m_loai =3;break;
}
//todo: dua cac gia tri so ngay thue va tien tra len Dlg
m_songay=atoi(s4);
m_tientra=atol(s5);
}
}
UpdateData (false);
*pResult = 0;
}
void CKhachsanDlg::Reset()//add function vao nhe
{
//todo: viet lenh reset noi dung, de nhap moi
m_hoten.Empty ();
m_ngayden =COleDateTime ::GetCurrentTime ();
m_ngaydi =COleDateTime ::GetCurrentTime ();
m_songay=0;
m_tientra=0;
m_loai=-1;
UpdateData (false);
}
void CKhachsanDlg::OnButtonReset()
{
Reset ();
m_tinhtien.ShowWindow (true);
m_reset.ShowWindow (false);
UpdateData (false);
}
**************************************************************
Viết trong BOOL CKhachsanDlg::OnInitDialog()
UpdateData (true);
m_reset.ShowWindow (false);
m_list.InsertColumn (0,"Ho ten",LVCFMT_LEFT,120);
m_list.InsertColumn(1,"Ngay bat dau",LVCFMT_LEFT,120);
m_list.InsertColumn(2,"Ngay ket thuc",LVCFMT_LEFT,120);
m_list.InsertColumn(3,"Loai phong",LVCFMT_LEFT,100);
m_list.InsertColumn(4,"So ngay thue",LVCFMT_LEFT,120);
m_list.InsertColumn(5,"So tien tra",LVCFMT_LEFT,120);
UpdateDat