Автоматизированное рабочее место регистрации и документирования комплекса средств автоматизации
write (handle,"ПУ-3 ИСПРАВЕН rn",76);
if (bytes [11] &0x02)
write (handle,"Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬ на ПУ-3 rn",76);
if (bytes [11] &0x04)
write (handle,"Неисправно направление связи, соединяющее с ПУ-3 rn",76);
if ( (! (bytes [10] &0x01)) && (! (bytes [10] &0x02)))
write (handle,"ПУ-4 ИСПРАВЕН rn",76);
if (bytes [10] &0x01)
write (handle,"Нажата кнопка ОБНАРУЖЕНА НЕИСПРАВНОСТЬ на ПУ-4 rn",76);
if (bytes [10] &0x02)
write (handle,"Неисправно направление связи, соединяющее с ПУ-4 rn",76);
if (bytes [10] &0x04)
write (handle,"Неисправен 1-й канал схемных узлов БУ-695 rn",76);
if (bytes [9] &0x01)
write (handle,"Неисправен 2-й канал схемных узлов БУ-695 rn",76);
if (bytes [9] &0x02)
write (handle,"Неисправен 3-й канал схемных узлов БУ-695 rn",76);
if (bytes [9] &0x04)
write (handle,"Неисправен 1-й канал ПРЦ rn",76);
if (bytes [8] &0x01)
write (handle,"Неисправен 2-й канал ПРЦ rn",76);
if (bytes [8] &0x02)
write (handle,"Неисправен 3-й канал ПРЦ rn",76);
if (bytes [8] &0x04)
{write (handle,"Неисправно направление связи С1 по передаче от ВМ к ШК и/или по приему rn",76);
write (handle,"от ШК к ВМ и/или по причине не получения от ШК кодограмм по времени. rn",76);
write (handle,"Формирует ФК-читай слово памяти ВБШК1 (2). ПФЗ rn",76);
if (bytes [7] &0x01)
write (handle,"ШК забракован функциональной задачей - читай слово памяти ВБШК1 (2). ПФЗ rn",76);
write (handle," rn",76);
write (handle," ИНФОРМАЦИОННОЕ СОСТОЯНИЕ ШКАФА rn",76);
write (handle," rn",76);
if (bytes [26] &0x02)
write (handle," Шкаф НЕИСПРАВЕН ПО ИНФОРМАЦИОННОМУ СОСТОЯНИЮ rn",76);
else
write (handle," Шкаф ИСПРАВЕН ПО ИНФОРМАЦИОННОМУ СОСТОЯНИЮ rn",76);
write (handle," rn",76);
write (handle," Состояние БХХХХХ ШХХХХХ и КХХХХ rn",76);
write (handle," rn",76);
write (handle," БХХХХХ ШХХХХХ 1-го массива СХХ rn",76);
if ( (! (bytes [15] &0x01)) && (! (bytes [15] &0x02)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [15] &0x01) && (bytes [15] &0x02))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [15] &0x01) && (! (bytes [15] &0x02)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [15] &0x02) && (! (bytes [15] &0x01)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," БХХХХХ ШХХХХХ 2-го массива СХХ rn",76);
if ( (! (bytes [17] &0x04)) && (! (bytes [16] &0x01)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [17] &0x04) && (bytes [16] &0x01))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [17] &0x04) && (! (bytes [16] &0x01)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [16] &0x01) && (! (bytes [17] &0x04)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," БХХХХХ КХХХХ ОХХ rn",76);
if ( (! (bytes [18] &0x04)) && (! (bytes [18] &0x02)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [18] &0x04) && (bytes [18] &0x02))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [18] &0x02) && (! (bytes [18] &0x04)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [18] &0x04) && (! (bytes [18] &0x02)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," БХХХХХ КХХХХ УХХ rn",76);
if ( (! (bytes [19] &0x02)) && (! (bytes [19] &0x01)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [19] &0x02) && (bytes [19] &0x01))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [19] &0x01) && (! (bytes [19] &0x02)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [19] &0x02) && (! (bytes [19] &0x01)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," БХХХХХ КХХХХ УХ rn",76);
if ( (! (bytes [22] &0x02)) && (! (bytes [22] &0x01)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [22] &0x02) && (bytes [22] &0x01))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [22] &0x01) && (! (bytes [22] &0x02)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [22] &0x02) && (! (bytes [22] &0x01)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," БХХХХХ КХХХХ РХХ rn",76);
if ( (! (bytes [23] &0x01)) && (! (bytes [24] &0x04)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [23] &0x01) && (bytes [24] &0x04))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [24] &0x04) && (! (bytes [23] &0x01)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [23] &0x01) && (! (bytes [24] &0x04)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," rn",76);
write (handle," Состояние УХХХХХ ШХХХХХ и КХХХХ rn",76);
write (handle," rn",76);
write (handle," УХХХХХ ШХХХХХ 1-го массива СХХ rn",76);
if ( (! (bytes [14] &0x01)) && (! (bytes [15] &0x04)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [14] &0x01) && (bytes [15] &0x04))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [15] &0x04) && (! (bytes [14] &0x01)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [14] &0x01) && (! (bytes [15] &0x04)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," УХХХХХ ШХХХХХ 2-го массива СХХ rn",76);
if ( (! (bytes [16] &0x04)) && (! (bytes [16] &0x02)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [16] &0x04) && (bytes [16] &0x02))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [16] &0x02) && (! (bytes [16] &0x04)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [16] &0x04) && (! (bytes [16] &0x02)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," УХХХХХ КХХХХ ОХХ rn",76);
if ( (! (bytes [17] &0x02)) && (! (bytes [17] &0x01)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [17] &0x02) && (bytes [17] &0x01))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [17] &0x01) && (! (bytes [17] &0x02)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [17] &0x02) && (! (bytes [17] &0x01)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," УХХХХХ КХХХХ УХХ rn",76);
if ( (! (bytes [19] &0x04)) && (! (bytes [18] &0x01)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [19] &0x04) && (bytes [18] &0x01))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [19] &0x04) && (! (bytes [18] &0x01)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [18] &0x01) && (! (bytes [19] &0x04)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," УХХХХХ КХХХХ УХ rn",76);
if ( (! (bytes [21] &0x01)) && (! (bytes [22] &0x04)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [21] &0x01) && (bytes [22] &0x04))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [22] &0x04) && (! (bytes [21] &0x01)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [21] &0x01) && (! (bytes [22] &0x04)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," УХХХХХ КХХХХ РХХ rn",76);
if ( (! (bytes [23] &0x02)) && (! (bytes [23] &0x04)))
write (handle," НЕ ЗАПИСАНЫ rn",76);
if ( (bytes [23] &0x02) && (bytes [23] &0x04))
write (handle," УНИЧТОЖЕНЫ rn",76);
if ( (bytes [23] &0x02) && (! (bytes [23] &0x04)))
write (handle," СОХРАНЕНЫ rn",76);
if ( (bytes [23] &0x04) && (! (bytes [23] &0x02)))
write (handle," РАЗРУШЕНЫ rn",76);
write (handle," rn",76);
write (handle," НАВЯЗЫВАНИЕ ЛОЖНОЙ ИНФОРМАЦИИ rn",76);
write (handle," rn",76);
if (bytes [24] &0x02)
write (handle,"Есть НЛИ по массиву N1 шххххх СХХ rn",76);
if (bytes [24] &0x01)
write (handle,"Есть НЛИ по массиву N2 шххххх СХХ rn",76);
if (bytes [25] &0x04)
write (handle,"Есть НЛИ по массиву кхххх УХХ rn",76);
if (bytes [25] &0x01)
write (handle,"Есть НЛИ по массиву кхххх УХ rn",76);
if (bytes [26] &0x04)
write (handle,"Есть НЛИ по массиву кхххх РХХ rn",76);
if ( (! (bytes [24] &0x02)) && (! (bytes [24] &0x01)) && (! (bytes [25] &0x04))
&& (! (bytes [25] &0x02)) && (! (bytes [25] &0x01)) && (! (bytes [26] &0x04)))
write (handle,"НЛИ ОТСУТСТВУЕТ по всем массивам rn",76);
break;
case 3: // В
case 6: // КС1
case 14: // КС2
if (bytes [5] &0x04)
write (handle," КС НЕИСПРАВЕН rn",76);
else
write (handle," КС ИСПРАВЕН rn",76);
write (handle," rn",76);
if (bytes [19] &0x01)
write (handle,"Прием от АК1 трех кодограмм подряд с признаком К2 rn",76);
if (bytes [19] &0x02)
write (handle,"Прием от АК1 трех кодограмм подряд с ВПС=1010 rn",76);
if (bytes [19] &0x04)
write (handle,"Отсутствие информации от АК1 на входе ПУ более 12 сек rn",76);
if (bytes [18] &0x01)
write (handle,"Прием от АК1 трех кодограмм подряд с признаком получения УС rn",76);
if (bytes [18] &0x02)
write (handle,"Отсутствие связи в тракте от ЦКС1 до АК1 rn",76);
if (bytes [18] &0x04)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ЦКС2 для АК1 rn",76);
if (bytes [17] &0x01)
write (handle,"Отсутствие связи в тракте от АК1 до ЦКС1 rn",76);
write (handle," rn",76);
if (bytes [23] &0x01)
write (handle,"Прием от АК3 трех кодограмм подряд с признаком К2 rn",76);
if (bytes [23] &0x02)
write (handle,"Прием от АК3 трех кодограмм подряд с ВПС=1010 rn",76);
if (bytes [23] &0x04)
write (handle,"Отсутствие информации от АК3 на входе ПУ более 12 сек rn",76);
if (bytes [22] &0x01)
write (handle,"Прием от АК3 трех кодограмм подряд с признаком получения УС rn",76);
if (bytes [22] &0x02)
write (handle,"Отсутствие связи в тракте от ЦКС1 до АК3 rn",76);
if (bytes [22] &0x04)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ЦКС2 для АК3 rn",76);
if (bytes [21] &0x01)
write (handle,"Отсутствие связи в тракте от АК3 до ЦКС1 rn",76);
write (handle," rn",76);
if (bytes [26] &0x01)
write (handle,"Прием от АК6 трех кодограмм подряд с признаком К2 rn",76);
if (bytes [26] &0x02)
write (handle,"Прием от АК6 трех кодограмм подряд с ВПС=1010 rn",76);
if (bytes [26] &0x04)
write (handle,"Отсутствие информации от АК6 на входе ПУ более 12 сек rn",76);
if (bytes [25] &0x01)
write (handle,"Прием от АК6 трех кодограмм подряд с признаком получения УС rn",76);
if (bytes [25] &0x02)
write (handle,"Отсутствие связи в тракте от ЦКС1 до АК6 rn",76);
if (bytes [25] &0x04)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ЦКС2 для АК6 rn",76);
if (bytes [24] &0x01)
write (handle,"Отсутствие связи в тракте от АК6 до ЦКС1 rn",76);
write (handle," rn",76);
if (bytes [16] &0x01)
write (handle,"Прием от ВПУ трех кодограмм подряд с признаком К2 rn",76);
if (bytes [16] &0x02)
write (handle,"Прием от ВПУ трех кодограмм подряд с ВПС=1010 rn",76);
if (bytes [16] &0x04)
write (handle,"Отсутствие информации от ВПУ на входе ПУ более 12 сек rn",76);
if (bytes [15] &0x01)
write (handle,"Прием от АК6 трех кодограмм подряд с признаком получения УС rn",76);
if (bytes [15] &0x02)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ВПУ rn",76);
if (bytes [15] &0x04)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ЦКС2 для ВПУ rn",76);
if (bytes [14] &0x01)
write (handle,"Отсутствие связи в тракте от ВПУ до ЦКС1 rn",76);
write (handle," rn",76);
if (bytes [17] &0x04)
write (handle,"Отсутствие связи в тракте от ЦКС1 до ПУ rn",76);
write (handle," rn",76);
if (bytes [10] &0x02)
write (handle,"Отсутствие приема кодограмм в заданный интервал времени rn",76);
write (handle," rn",76);
if ( (bytes [12] &0x07) && (! (bytes [11] &0x07)))
write (handle,"Прием кодограмм с признаком отсутствия связи от ПУ до М486 rn",76);
if ( (bytes [11] &0x07) && (! (bytes [12] &0x07)))
{
write (handle,"Прием кодограмм с признаком искажения информации от ЦКС до М486 и/или rn",76);
write (handle,"прием кодограмм с признаком отсутствия импульса БИ rn",76);
}
if ( (bytes [11] &0x07) && (bytes [12] &0x07))
{
write (handle,"Прием кодограмм с признаком отсутствия связи от ПУ до М486 и/или rn",76);
write (handle,"прием кодограмм с признаком искажения информации от ЦКС до М486 и/или rn",76);
write (handle,"прием кодограмм с признаком отсутствия импульса БИ rn",76);
}
break;
case 2: // РМ-02
write (handle," rn",76);
if (bytes [5] &0x01)
write (handle,"АРМ ЗАБЛОКИРОВАНО по ФК оператором rn",76);
write (handle," rn",76);
if (bytes [5] &0x04)
write (handle,"НЕТ СВЯЗИ МЕЖДУ ПЭВМ1 и ВК rn",76);
if (bytes [4] &0x02)
write (handle,"Нет связи с ВК по одной из линий связи ЛС1 или ЛС3 rn",76);
if (bytes [3] &0x04)
write (handle,"Нет связи с ВК по линии связи ЛС1 rn",76);
if (bytes [2] &0x02)
write (handle,"Нет связи с ВК по линии связи ЛС3 rn",76);
break;
case 10: // РМ-10
write (handle," rn",76);
if (bytes [5] &0x01)
write (handle,"АРМ ЗАБЛОКИРОВАНО по ФК оператором rn",76);
write (handle," rn",76);
if (bytes [5] &0x04)
write (handle,"НЕТ СВЯЗИ МЕЖДУ ПЭВМ2 и ВК rn",76);
if (bytes [4] &0x02)
write (handle,"Нет связи с ВК по одной из линий связи ЛС2 или ЛС4 rn",76);
if (bytes [2] &0x01)
write (handle,"Нет связи с ВК по линии связи ЛС2 rn",76);
if (bytes [2] &0x04)
write (handle,"Нет связи с ВК по линии связи ЛС4 rn",76);
break;
case 5: // РМ05Г
case 13: // РМ13П
if (bytes [19] &0x01)
write (handle,"ОСНОВНОЙ АРМ - РМ-13П rn",76);
else
write (handle,"ОСНОВНОЙ АРМ - РМ-05Г rn",76);
write (handle," rn",76);
if (bytes [5] &0x04)
write (handle," АРМ НЕИСПРАВЕН rn",76);
else
write (handle," АРМ ИСПРАВЕН rn",76);
write (handle," rn",76);
if (bytes [16] &0x02)
write (handle,"Основное АРМ ИСПРАВНО rn",76);
if (bytes [16] &0x01)
write (handle,"Основное АРМ НЕИСПРАВНО rn",76);
if (bytes [16] &0x04)
write (handle,"Основное АРМ ЗАБЛОКИРОВАНО rn",76);
if (bytes [15] &0x01)
write (handle,"Основное АРМ РАЗБЛОКИРОВАНО rn",76);
if (bytes [19] &0x04)
write (handle,"Резервное АРМ ИСПРАВНО rn",76);
if (bytes [19] &0x02)
write (handle,"Резервное АРМ НЕИСПРАВНО rn",76);
if (bytes [18] &0x01)
write (handle,"Резервное АРМ ЗАБЛОКИРОВАНО rn",76);
if (bytes [18] &0x02)
write (handle,"Резервное АРМ РАЗБЛОКИРОВАНО rn",76);
if (bytes [5] &0x01)
write (handle,"АРМ ЗАБЛОКИРОВАНО по ФК оператором rn",76);
write (handle," rn",76);
if (bytes [4] &0x02)
write (handle,"Неисправна одна из трех линий магистрали обмена rn",76);
else
write (handle,"Все три линии магистрали обмена исправны rn",76);
if (bytes [12] &0x04)
write (handle,"Неисправна 1-я линия магистрали приема rn",76);
if (bytes [12] &0x02)
write (handle,"Неисправна 2-я линия магистрали приема rn",76);
if (bytes [12] &0x01)
write (handle,"Неисправна 3-я линия магистрали приема rn",76);
if (bytes [10] &0x02)
write (handle,"Отсутствует прием информации в ВМ от данного АРМ-1 rn",76);
break;
case 7: // ВМ
if (bytes [5] &0x02)
write (handle,"Авария электропитания в одном или нескольких каналах ШП-614 rn",76);
if (bytes [4] &0x04)
write (handle,"Неисправность 1 канала ШП-614 rn",76);
if (bytes [3] &0x01)
write (handle,"Неисправность 2 канала ШП-614 rn",76);
if (bytes [3] &0x02)
write (handle,"Неисправность 3 канала ШП-614 rn",76);
if (bytes [3] &0x04)
write (handle,"Произошел ПРОГРАММНЫЙ СБОЙ rn",76);
if (bytes [2] &0x01)
write (handle,"Авария питания 1 канала rn",76);
if (bytes [2] &0x02)
write (handle,"Авария питания 1 канала rn",76);
if (bytes [2] &0x04)
write (handle,"Авария питания 1 канала rn",76);
if (bytes [0] &0x01)
write (handle,"Нарушена целостность программного изделия-кассеты КП-610 - rn",76);
write (handle,"подсчитанная контрольная сумма не совпадает с эталоном rn",76);
break;
case 16: // ВУ16
case 17: // ВУ17
case 18: // ВУ18
case 19: // ВУ19
if (bytes [5] &0x01)
write (handle,"ПУ заблокировано оператором по ФК rn",76);
if (bytes [5] &0x04)
write (handle,"Нажата КНОПКА ОБНАРУЖЕНИЯ НЕИСПРАВНОСТИ rn",76);
break;
case 15: // АС
// Подкорректировать после согласования
// байта состояния
if (bytes [5] &0x04)
write (handle,"АРМ-РД НЕИСПРАВЕН - не работают обе ПЭВМ rn",76);
if (bytes [4] &0x01)
write (handle,"АРМ-РД РАБОТОСПОСОБЕН - работает одна из двух ПЭВМ rn",76);
if (bytes [4] &0x02)
write (handle,"Нет связи хотя бы по одной из линий связи ЛС1, ЛС2, ЛС3, ЛС4 rn",76);
if (bytes [4] &0x04)
write (handle,"Неисправен КСП-0 rn",76);
if (bytes [3] &0x01)
write (handle,"Неисправен КСП-1 rn",76);
if (bytes [3] &0x02)
write (handle,"Неисправен КСП-2 rn",76);
if (bytes [3] &0x04)
write (handle,"Нет связи по линии связи ЛС1 rn",76);
if (bytes [2] &0x01)
write (handle,"Нет связи по линии связи ЛС2 rn",76);
if (bytes [2] &0x02)
write (handle,"Нет связи по линии связи ЛС3 rn",76);
if (bytes [2] &0x04)
write (handle,"Нет связи по линии связи ЛС4 rn",76);
break;
}
}
// bs2_out. prj
// bs2_out. c
// main ()
// выдача результатов запроса по 2-й форме байтов состояния на экран
// (из файла) или форматирование и постановка в очередь для выдачи
// на принтер
#include <dos. h>
#include "cxlkey. h"
#include "disp. h"
extern void resScr (void);
// выдача результатов запроса из файла на экран
extern void resPrn (void);
// выдача результатов запроса из файла на принтер
void main (int argc,char *argv [])
{
void z (void);
setkbloop (z);
if (argv [1] [0] =='э') resScr ();
else resPrn ();
}
void z (void)
{
union REGS r;
r. h. ah=0;
int86 (DISP,&r,&r);
}
#include <dos. h>
#include "cxlkey. h"
#include "disp. h"
extern void resScr (void);
// выдача результатов запроса из файла на экран
extern void resPrn (void);
// выдача результатов запроса из файла на принтер
void main (int argc,char *argv [])
{
void z (void);
setkbloop (z);
if (argv [1] [0] =='э') resScr ();
else resPrn ();
}
void z (void)
{
union REGS r;
r. h. ah=0;
int86 (DISP,&r,&r);
}
// inq_out. prj
// INQ_OUT. C
// main ()
// выдача результатов запроса на экран (из файла)
// или форматирование и постановка в очередь для выдачи на принтер
#include <string. h>
#include <process. h>
#include "cxlkey. h"
#include "cxldef. h"
extern void resScr (void);
// выдача результатов запроса из файла на экран
extern void resPrn (void);
// выдача результатов запроса из файла на принтер
void main (int argc,char *argv [])
{
void z (void);
setkbloop (z);
if (argv [1] [0] =='э') resScr ();
else resPrn ();
}
#include <dos. h>
#include "disp. h"
void z (void)
{
union REGS r;
r. h. ah=0;
int86 (DISP,&r,&r);
}
// inq_out. prj
// res_scr. C
// res_scr ()
// выдача результатов запроса на экран (из файла)
#include <stdio. h>
#include <string. h>
#include "cxlwin. h"
#include "cxlkey. h"
#include "cxlvid. h"
#define LEN 81
#define TXTATTR _CYAN
#define UP 0x4800
#define DOWN 0x5000
#define PGUP 0x4900
#define PGDOWN 0x5100
#define ESC 0x011b
void resScr (void)
{
FILE *f; // дескриптор файла результатов
int down; // номер текущей строки в файле
int ch; // код клавиши
int i;
char string [LEN] ;
int mwup; // количество строк над основным окном
// вывод на экран строки запроса и шапки таблицы
f=fopen ("inquiry. res","r++");
fgets (string,LEN,f);
for (mwup=0; strncmp (string+3,"ДАТА",4); ++mwup)
{
wopen (mwup,0,mwup,79,5,BLUE|_LGREY,BLUE|_LGREY);
wprintf ("%.79s",string);
fgets (string,LEN,f);
}
wopen (mwup,0,mwup,79,5,YELLOW|_BLUE,YELLOW|_BLUE);
wprintf ("%.78s",string);
// основное окно
wopen (++mwup,0,25,79,5,LCYAN|_BLUE,TXTATTR);
// wshadow (LGREY);
// вывод результатов запроса из файла на экран
for (down=mwup; down<25 && fgets (string,LEN,f) ! =NULL; ++down)
wprints (down-mwup,1,TXTATTR,string);
hidecur ();
// цикл просмотра результатов
while ( (ch=getxch ()) ! =ESC)
switch (ch)
{
case UP: if (down<=25) break;
down--;
fseek (f, (long) (down-25+mwup) *LEN,0);
fgets (string,LEN,f);
wscroll (1,D_DOWN);
wprints (0,1,TXTATTR,string);
break;
case DOWN: if (fseek (f, (long) down*LEN,0)) break;
if (fgets (string,LEN,f) ==NULL) break;
wscroll (1,D_UP);
wprints (24-mwup,1,TXTATTR,string);
down++;
break;
case PGUP: for (i=0; i<=24-mwup; ++i)
{
if (down<=25) break;
down--;
fseek (f, (long) (down-25+mwup) *LEN,0);
fgets (string,LEN,f);
wscroll (1,D_DOWN);
wprints (0,1,TXTATTR,string);
}
break;
case PGDOWN: for (i=0; i<=24-mwup; ++i)
{
if (fseek (f, (long) down*LEN,0)) break;
if (fgets (string,LEN,f) ==NULL) break;
wscroll (1,D_UP);
wprints (24-mwup,1,TXTATTR,string);
down++;
}
break;
}
fclose (f);
wcloseall ();
}
// bs2_out. prj
// res_scr_. c
// res_scr ()
// выдача результатов запроса по 2-й форме байтов состояния на экран
// (из файла)
#include <stdio. h>
#include <string. h>
#include "cxlwin. h"
#include "cxlkey. h"
#include "cxlvid. h"
#define LEN 100
#define TXTATTR _CYAN
#define UP 0x4800
#define DOWN 0x5000
#define PGUP 0x4900
#define PGDOWN 0x5100
#define RIGHT 0x4d00
#define LEFT 0x4b00
#define HOME 0x4700
#define END 0x4F00
#define ESC 0x011b
FILE *f; // дескриптор файла результатов
int down; // номер текущей строки в файле
char string [LEN] ;
int length; // длина строк в файле
int w1; // дескриптор окна
void screen_move (int right);
void resScr (void)
{
int right=0; // горизонтальное смещение
int ch; // код клавиши
int i;
// вывод на экран строки запроса и шапки таблицы
f=fopen ("inquiry. res","r++");
wopen (0,0,0,79,5,BLUE|_LGREY,BLUE|_LGREY);
fgets (string,LEN,f);
wprints (0,1,BLUE|_LGREY,string);
w1=wopen (1,0,1,79,5,YELLOW|_BLUE,YELLOW|_BLUE);
fgets (string,LEN,f);
wprints (0,1,YELLOW|_BLUE,string);
length=strlen (string) +1;
// основное окно
wopen (2,0,25,79,5,LCYAN|_BLUE,TXTATTR);
hidecur ();
// wshadow (LGREY);
// вывод результатов запроса из файла на экран
for (down=2; down<25 && fgets (string,LEN,f) ! =NULL; ++down)
{
string [right+80] =' ';
wprints (down-2,1,TXTATTR,string);
}
// цикл просмотра результатов
while ( (ch=getxch ()) ! =ESC)
switch (ch)
{
case UP: if (down<=25) break;
down--;
fseek (f, (long) (down-23) *length,0);
fgets (string,LEN,f);
string [right+79] =' ';
wscroll (1,D_DOWN);
wprints (0,1,TXTATTR,string+right);
break;
case DOWN: if (fseek (f, (long) down*length,0)) break;
if (fgets (string,LEN,f)