Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Курсовой проект1 / Wladimir / kurs / DlgAddClient
.cpp// DlgAddClient.cpp : implementation file
//
#include "stdafx.h"
#include "kurs.h"
#include "DlgAddClient.h"
#include "DlgRooms.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DlgAddClient dialog
DlgAddClient::DlgAddClient(CWnd* pParent /*=NULL*/)
: CDialog(DlgAddClient::IDD, pParent)
{
//{{AFX_DATA_INIT(DlgAddClient)
m_fio = _T("");
m_Data2 = 0;
m_Data1 = 0;
m_PassportClient = _T("");
m_number = _T("");
//}}AFX_DATA_INIT
}
void DlgAddClient::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DlgAddClient)
DDX_Control(pDX, IDC_FreeR, m_FreeR);
DDX_Text(pDX, IDC_FIOCL, m_fio);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER2, m_Data2);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_Data1);
DDX_Text(pDX, IDC_PASSCL, m_PassportClient);
DDX_Text(pDX, IDC_NUMBER, m_number);
//}}AFX_DATA_MAP
CString str("");
m_FreeR.ResetContent();
// DlgRooms dlgR;
fstream File("Rooms.txt",ios::in);
CString str1("");
CRoom R;
// int i;
char ch[25];
CTime t = CTime::GetCurrentTime();
CTime t2=t+86400;
CDateTimeCtrl* pLB1=(CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER1);
CDateTimeCtrl* pLB2=(CDateTimeCtrl*) GetDlgItem(IDC_DATETIMEPICKER2);
pLB1->SetTime(&t);
pLB2->SetTime(&t2);
while (!File.eof()){
File.getline(ch,25,'\n');
str=ch;
if (str!=""){
str1=str.Left(5);
R.SetNumber(str1);
str1=str.Mid(5,5);
R.SetCapasity(str1);
str1=str.Mid(10,5);
R.SetOccupy(str1);
str1=str.Right(5);
R.SetPrice(str1);
LR.AddEl(R);
}
}
File.close();
CElem<CRoom> *buf = LR.beg;
while (buf !=0){
if (atoi(buf->inf.GetOccupy())<atoi(buf->inf.GetCapasity())){
str = buf->inf.GetNumber()+buf->inf.GetCapasity()+buf->inf.GetOccupy()+buf->inf.GetPrice();
if (m_FreeR.FindStringExact(0,str) == LB_ERR)
m_FreeR.AddString(str);
}
buf = buf->next;
}
}
BEGIN_MESSAGE_MAP(DlgAddClient, CDialog)
//{{AFX_MSG_MAP(DlgAddClient)
ON_LBN_DBLCLK(IDC_FreeR, OnDblclkFreeR)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DlgAddClient message handlers
void DlgAddClient::OnOK()
{
UINT len;
bool poiskr = false;
bool b=true;
CTime t1, t2;
m_FreeR.ResetContent();
UpdateData(true);
t1 = m_Data1;
t2 = m_Data2;
if (!m_fio.IsEmpty() && !m_PassportClient.IsEmpty()
&& !m_number.IsEmpty()){
len = m_fio.GetLength();
if (len>15) {m_fio=m_fio.Left(15);}
else
while (len<15){
m_fio+=' ';
len = m_fio.GetLength();
}
len = m_PassportClient.GetLength();
if (len>11) {m_PassportClient=m_PassportClient.Left(11);}
else
while (len<11){
m_PassportClient+=' ';
len = m_PassportClient.GetLength();
}
len = m_number.GetLength();
if (len>5) {m_number=m_number.Left(5);}
else
while (len<5){
m_number+=' ';
len = m_number.GetLength();
}
CElem<CRoom> *buf = LR.beg;
while((buf != 0) && (buf->inf.GetNumber()!=m_number)){
buf = buf->next;
}
if (buf != 0 && buf->inf.GetNumber()==m_number)
poiskr = true;
else{
AfxMessageBox("Заданного номера не существует!");
}
if (m_Data2<=m_Data1){
b=false;
AfxMessageBox("Дата выселения раньше даты поселения!");
}
if ( b&&poiskr){
b=buf->inf.SetOccupyUp();
if (!b)
AfxMessageBox("Номер занят!");
else{
UpdateData(false);
CDialog::OnOK();
m_Data1 = t1;
m_Data2 = t2;
}
}
}
else
{
AfxMessageBox("Заполнены не все поля!");
}
}
void DlgAddClient::OnDblclkFreeR()
{
// m_FreeR.GetText(m_FreeR.GetCurSel(), m_number);
// OnInitDialog();
}
void DlgAddClient::OnCancel()
{
LR.DelAllElem();
CDialog::OnCancel();
}
Соседние файлы в папке kurs