Количество реализованного откормочного
молодняка в течение года, голов
203 203
Цикл воспроизводства, дней; в составе:
Величина технологической группы в подсосный период, голов
- Фаза холостого содержания, дней
Многоплодие свиноматок, голов
- Фаза условно-супоросного содержания, дней
Число опоросов от одной свиноматки в год
- Фаза супоросного содержания, дней
Процент браковки свиноматок, %
- Фаза тяжелосупоросного содержания, дней
Процент перегулов свиноматок, %
- Подсосный период, дней
Итак, перед нами фрагмент приложения. Для уменьшения "веса кода"
отключено большинство функций, даже часть контроля ввода (ограничения
по физиологическим параметрам). Измените, например, фазу холостого содержания и
посмотрите на реакцию приложения.
Разберем только две функции:
-контроль в процессе ввода;
-контроль непротиворечивости исходных данных.
Обе функции обеспечиваются одним механизмом -
пересчет по таймеру, который запускается при загрузке приложения
<script language="JavaScript1.2">
var time;
function onLoaded(){
setInterval("onTick()",500); //запускаем таймер с периодом
повторения 500 мс и вызовом функции onTick()
}
function onTick() { // на срабатывание таймера вызываем функции пересчета
cycl_s();
cycl_d();
molod_ot();
cycl_ras.innerHTML=Math.round(365/parseFloat(n_oporos_god.value)); // а здесь
в SPAN область
} // (см. урок1 первой части) заносим результат расчета цикла через число опоросов
function cycl_s(){ //цикл воспроизводства через сумму составляющих его фаз
var tmp = 0;
tmp = Math.round(365/parseFloat(n_oporos_god.value));
cycl= parseInt(faz_holost.value)+
parseInt(faz_usup.value)+parseInt(faz_sup.value)+
parseInt(faz_tsup.value)+parseInt(podsos.value);
cycl_sum.innerHTML=cycl; // во вторую SPAN область заносим результат
расчета цикла через сумму
if (tmp == cycl){ //если нет рассоглосования, снимаем признак ошибки
document.all["voskl"].style.visibility="hidden";
document.all["cycl_sum"].style.color="#000000";
isError = 0;
}
else{ // иначе устанавливаем признак ошибки (знак! и красный цвет числа)
document.all["voskl"].style.visibility="visible";
document.all["cycl_sum"].style.color="red";
isError = 1; //ошибка по циклу
}
}
Вот и вся идея контроля в процессе ввода. Конечно, при разработке собственного
приложения в первую очередь необходимо определить перечень параметров,
набор ограничений, обезопасить себя от некорректного ввода (например
буквы вместо цифр) и способ индикации ошибки.