1]. Password = "Оператор";
UpdateData (1);
int c = compare (Login, Password, users) ;//Визначення користувача
Admin dlg1;
Operator dlg2;
switch (c)
{
case 0:
EndDialog (IDOK);
if (dlg1.DoModal () == -1)
MessageBox (L "Відмова в доступі", L "Помилка", MB_OK | MB_ICONERROR);
break;
case 1:
EndDialog (IDOK);
if (dlg2.DoModal () == -1)
MessageBox (L "Відмова в доступі", L "Помилка", MB_OK | MB_ICONERROR);
break;
default:
MessageBox (L "Неправильний логін або пароль", L "Помилка", MB_OK | MB_ICONERROR);
}
Login = "";
Password = "";
UpdateData (0);
}
Обробник події натискання кнопки «óстьВ» під час аутентифікації користувача:
void CMainDlg :: OnBtnUser ()
{
EndDialog (IDC_BUTTON_USER);
User dlg;
if (dlg.DoModal () == -1)
MessageBox (L "Відмова в доступі", L "Помилка", MB_OK | MB_ICONERROR);
}
Функція ініціалізація вікна В«АдміністраторВ»
OOL Admin :: OnInitDialog ()
{
CDialog :: OnInitDialog ();
// Вставка стовпців а таблицю
LCtrl.InsertColumn (0, L "№ маршруту", LVCFMT_LEFT, 80);
LCtrl.InsertColumn (1, L "Пункт відправлення", LVCFMT_LEFT, 120);
LCtrl.InsertColumn (2, L "Пункт призначення", LVCFMT_LEFT, 120);
LCtrl.InsertColumn (3, L "Хвилини", LVCFMT_LEFT, 70);
LCtrl.InsertColumn (4, L "Секунди", LVCFMT_LEFT, 70);
FILE * f;
fopen_s (& f, "Запроси.bin", "rb");
if (f! = NULL)
{
lst_char req;
lst rq;
while (feof (f)! = fread (& req, sizeof (req), 1, f))
{
rq.departure = req.departure;
rq.destination = req.destination;
rq.hour = req.hour;
rq.minute = req.minute;
rq.routeNum = req.routeNum;
vec.push_back (rq);
}
fclose (f);
insert (vec) ;//Заповнення таблиці
return TRUE;
}
else
{
MessageBox (L "Помилка при підключенні до файлу", L "Помилка", MB_OK | MB_ICONERROR);
return TRUE;
}
SetIcon (m_hIcon, TRUE);
SetIcon (m_hIcon, FALSE);
}
Функція закриття вікна "Адміністратор" і созраненія даних запитів
void Admin :: OnClose ()
{
FILE * f, * g, * h;
vector r;
vector sh;
fopen_s (& g, "Маршрути.bin", "rb");
fopen_s (& h, "Смени.bin", "rb");
if (g == NULL)
{
MessageBox (L "Помилка відкриття файлу Маршрути. Зміни не були збережені.", L "Помилка!", MB_OK | MB_ICONERROR);
CDialog :: OnCancel ();
}
if (h...