Файл: Применение объектно-ориентированного подхода при проектировании информационной системы (ЭТАПЫ ОБЪЕКТНО-ОРИЕНТИРОВАННОГО ПРОГРАММИРОВАНИЯ).pdf
Добавлен: 28.03.2023
Просмотров: 421
Скачиваний: 2
step1 = 0; // счетчик
for ( step1; step1 < 84; step1++)
{
// передвижение пассажира на форме
Invoke(gcnew dPassengerAction(this, &MyForm::PassengerAction), 42); // отображение передвижения пассажира на форме
Sleep(100); // пауза на 0,1 секунды
}
generalTime = generalTime + PassengerTime; // добавление к таймеру времени передвижения пассажира
Invoke(gcnew dShowClock(this, &MyForm::ShowClock), generalTime); // отображение времени на форме
e.Closedoor(); // закрытие дверей
step1 = 0;// счетчик
for (step1; step1 < doorLif; step1++)
{
// передвижение дверей на форме
Invoke(gcnew dDoorAction(this, &MyForm::DoorAction), 0); // отображение передвижения дверей
Sleep(100); // пауза на 0,1 секунды
}
generalTime = generalTime + DoorTime; // добавление к таймеру времени закрытия дверей
Invoke(gcnew dShowClock(this, &MyForm::ShowClock), generalTime); // отображение времени на форме
Sleep(5000); // пауза на 5 секунд
Invoke(gcnew dPassengerStatus(this, &MyForm::PassengerStatus), 0);// убрать пассажира с формы
k++; // прибавление пассажира
t = generalTime; // сохранение текущего времени
t = timer(randomNumber(0, 5), t); // произвольное время паузы между пассажирами
generalTime = t; // сохранение времени
Invoke(gcnew dShowClock(this, &MyForm::ShowClock), generalTime); // отображение времени на форме
//t++;
if (k > sumofpassenegr) {
// если проехало заданное количество пассажиров
cout << " Было пассажиров " << k - 1 << endl;
cout << " Прошло " << t << " секунд" << endl;
Invoke(gcnew dShowClock(this, &MyForm::ShowClock), generalTime); // отображение времени на форме
//_getch();
return 0; // завершение функции
}
goto metka1; // возврат к метки
return 0; // завершение функции
}
private: System::Void backgroundWorker1_DoWork(System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e)
{
// запуск функции работы лифта
main();
}
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
// обработка нажатия на кнопку запуск
label7->Text = ""; // Удаление времени на форме
String^ str;
str=textBox1->Text; // считывание количество этажей
Int32 number; // переменная для считывания числа
// установка значений времени, если поля ввода пустые
if (String::IsNullOrEmpty(textBox3->Text)) { textBox3->Text = "1"; }
if (String::IsNullOrEmpty(textBox4->Text)) { textBox4->Text = "1"; }
if (String::IsNullOrEmpty(textBox5->Text)) { textBox5->Text = "1"; }
if (String::IsNullOrEmpty(textBox6->Text)) { textBox6->Text = "1"; }
//проверка на число ввод этажей
if (Int32::TryParse(str, number)) {
MainNumberFloor = number;
}
str = textBox2->Text; // считывание количество пассажиров
// проверка на число ввод количества пассажиров
if (Int32::TryParse(str, number)) {
MainNumberPassenger = number;
}
str = textBox3->Text;// считывание время на вход/выход пассажира
// проверка на число ввод времени на вход/выход пассажира
if (Int32::TryParse(str, number)) {
PassengerTime = number;
}
str = textBox4->Text;// считывание время на вкл/выкл кнопок