Лабораторная работа №1 (990535), страница 3
Текст из файла (страница 3)
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 4;
frmInfo->RadioButton5->Checked = true;
}
else if(ShipMas[int_ID]->GetStatus() != 1)
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton5->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 6
case 6:
{
fprintf(input, " %d Unload -", int_ID);
if(ShipMas[int_ID]->GetStatus() == 2)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 5;
frmInfo->RadioButton6->Checked = true;
}
else if(ShipMas[int_ID]->GetStatus() != 2)
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton6->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 7
case 7:
{
fprintf(input, " %d PasDock1 area -", int_ID);
//Зоны 2 и 3. Переход в состояние разгрузка для пассажирского корабля
if(ShipMas[int_ID]->GetX() < 216 && ShipMas[int_ID]->GetY() <= 155)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 6;
frmInfo->RadioButton7->Checked = true;
}
else
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton7->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 8
case 8:
{
fprintf(input, " %d PasDock1 -", int_ID);
if(bl_PasDock1 == 1)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 7;
frmInfo->RadioButton8->Checked = true;
}
else if(bl_PasDock1 == 0)
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton8->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 9
case 9:
{
fprintf(input, " %d PasDock2 area -", int_ID);
//Зоны 6 и 7. Переход в состояние разгрузка для пассажирского корабля
if(ShipMas[int_ID]->GetX() > 155 && ShipMas[int_ID]->GetY() >= 245)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 8;
frmInfo->RadioButton9->Checked = true;
}
else
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton9->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 10
case 10:
{
fprintf(input, " %d PasDock2 -", int_ID);
if(bl_PasDock2 == 1)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 9;
frmInfo->RadioButton10->Checked = true;
}
else if(bl_PasDock2 == 0)
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton10->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 11
case 11:
{
fprintf(input, " %d CargoDock1 area -", int_ID);
//Зоны 4 и 5. Переход в состояние разгрузка для грузового корабля
if(ShipMas[int_ID]->GetX() <= 155 && ShipMas[int_ID]->GetY() > 155)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 10;
frmInfo->RadioButton11->Checked = true;
}
else
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton11->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 12
case 12:
{
fprintf(input, " %d CargoDock1 -", int_ID);
if(bl_CargoDock1 == 1)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 11;
frmInfo->RadioButton12->Checked = true;
}
else if(bl_CargoDock1 == 0)
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton12->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 13
case 13:
{
fprintf(input, " %d CargoDock2 area -", int_ID);
//Зоны 1 и 8. Переход в состояние разгрузка для грузового корабля
if(ShipMas[int_ID]->GetX() >= 216 && ShipMas[int_ID]->GetY() < 245)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 12;
frmInfo->RadioButton13->Checked = true;
}
else
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton13->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 14
case 14:
{
fprintf(input, " %d CargoDock2 -", int_ID);
if(bl_CargoDock2 == 1)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp1->ItemIndex = 13;
frmInfo->RadioButton14->Checked = true;
}
else if(bl_CargoDock2 == 0)
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton14->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 15
case 15:
{
fprintf(input, " %d EndScreen area -", int_ID);
if(ShipMas[int_ID]->GetX() <= -20 || ShipMas[int_ID]->GetX() >= 410|| ShipMas[int_ID]->GetY() <= -20|| ShipMas[int_ID]->GetY() >= 410)
{
fprintf(input, " 1");Message.Result = true;
frmInfo->radgrp1->ItemIndex = 14;
frmInfo->RadioButton15->Checked = true;
}
else
{
fprintf(input, " 0");
Message.Result = false;
frmInfo->RadioButton15->Checked = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
}
break;
}
//Третья tabl (движение по курсу)
case 3:
{
fprintf(input, "condition tabl 3");
//Номер условия
switch(Message.LParam)
{
//Условие 1
case 1:
{
fprintf(input, " %d Step -", int_ID);
if(ShipMas[int_ID]->GetFlgStep())
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp2->ItemIndex = 0;
}
else
{
fprintf(input, " 0");
Message.Result = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
}
break;
}
//Четвертая tabl (швартовка)
case 4:
{
fprintf(input, "condition tabl 4");
//Номер условия
switch(Message.LParam)
{
//Условие 1
case 1:
{
fprintf(input, " %d Dock -", int_ID);
if(ShipMas[int_ID]->GetFlgDock())
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp3->ItemIndex = 0;
}
else
{
fprintf(input, " 0");
Message.Result = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
break;
return;
}
//Условие 2
case 2:
{
fprintf(input, " %d DockStep -", int_ID);
if(ShipMas[int_ID]->GetFlgStep())
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp3->ItemIndex = 1;
}
else
{
fprintf(input, " 0");
Message.Result = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
break;
return;
}
}
break;
}
//Пятая tabl (разгрузка)
case 5:
{
fprintf(input, "condition tabl 5");
//Номер условия
switch(Message.LParam)
{
//Условие 1
case 1:
{
fprintf(input, " %d tmrEnbl -", int_ID);
if(ShipMas[int_ID]->tmr_Time->Enabled)
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp4->ItemIndex = 0;
}
else
{
fprintf(input, " 0");
Message.Result = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
//Условие 2
case 2:
{
fprintf(input, " %d flgTmr -", int_ID);
if(ShipMas[int_ID]->GetFlgTmr())
{
fprintf(input, " 1");
Message.Result = true;
frmInfo->radgrp4->ItemIndex = 1;
}
else
{
fprintf(input, " 0");
Message.Result = false;
}
fprintf(input, "\n");
Sleep(int_timeSleep);
return;
break;
}
}
break;
}
}
//Действия
else if(Message.WParamHi == 1)
//Номер таблицы
switch(Message.WParamLo)
{
//Первая tabl (выключатель)
case 1:
{
fprintf(input, "action - tabl 1");
//Номер действия
switch(Message.LParam)
{
case 0:
{
Message.Result = true;
Close();
return;
break;
}
//Действие 1
case 1:
{
MessageBox(NULL, "Приплыли!", "Сообщение", 0);
Message.Result = true;
return;
break;
}
}
}
//Вторая tabl (диспетчер)
case 2:
{
fprintf(input, "action - tabl 2");
//Номер действия
switch(Message.LParam)
{
case 0:
{
Message.Result = true;
Close();
return;
break;
}
//Действие 1
case 1:
{
int_i = first;
fprintf(input, " %d GoToFirst -", int_ID);
fprintf(input, " 1\n");
Message.Result = true;
return;
break;
}
//Действие 2
case 2:
{
int_i++;
fprintf(input, " %d GoToNext -", int_ID);
fprintf(input, " 1\n");
Message.Result = true;
return;
break;
}
//Действие 3
case 3:
{
fprintf(input, " %d SetStatusDock -", int_ID);
ShipMas[int_ID]->SetStatus(1);
fprintf(input, " 1\n");
Message.Result = true;
return;
break;
}
//Действие 4
case 4:
{
fprintf(input, " %d DestroyShip -", int_ID);
mkShp();
Repaint();
fprintf(input, " 1\n");
Message.Result = true;
return;
break;
}
//Действие 5
case 5:
{
fprintf(input, " %d Error -", int_ID);
MessageBox(NULL, "Нарушение алгоритма выполнения задачи!", "Ошибка", 0);
fprintf(input, " 1\n");
Message.Result = true;
return;
break;
}
//Действие 6
case 6:
{
fprintf(input, " %d CaprtureDock -", int_ID);
FreeDock();














