![]() |
Активное окно программы для диагностики отклонений в работе установки каталитического риформинга |
При создании данной программы использовались следующие объекты: Image, Label, Listbox, Memo.
Для введения технологической схемы установки процесса в программу необходимо использовать графический образ Image1. Чтобы выполнить визуализацию объектов схемы использовалось наложение трёх слоев графических образов для каждого аппарата.
При наведении курсора мыши на верхний (прозрачный) слой становится видимым только второй слой образа аппарата, остальные – невидимыми.
Пример.
procedure TForm1.Image4MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
begin
label1.Caption:='Сырьевая емкость Е-1';Image2.Visible:=true;
Image3.Visible:=false;
Image4.Visible:=false;
end;
При нажатии на единственный видимый второй слой становится видимым только третий слой, а также активируется объект Listbox1, т. е. появятся все возможные отклонения, которые могут возникнуть в данном аппарате.
Пример.
procedure TForm1.Image2Click(Sender: TObject);
begin
Image3.Visible:=True;
Image2.Visible:=False;
Image4.Visible:=False;
ap:=2;
listbox1.Items.loadfromfile('otk_E1_12.txt');
end;
Для того чтобы при наведении курсора мыши на какой-либо аппарат появлялось его название необходимо использовать надпись. Надпись представляет собой нередактируемыий текст и часто используется в качестве заголовков для других управляющих элементов, которые не имеют своего свойства caption. Для отображения надписей, в первую очередь, используется компонент Label, называемый также меткой. Он представляет собой простой текст, который не может быть отредактирован пользователем при выполнении программы.
Для реализации описания отклонений и причин отклонений в данной программе использовался компонент ListBox или список, который представляет собой упорядоченную совокупность взаимосвязанных элементов, являющихся текстовыми строками. Простой список представляет собой прямоугольную область, в которой располагаются его строковые элементы.
Основным для списков является свойство items, которое содержит элементы списка и представляет коллекцию (массив) строк. Пользователь может выбирать отдельные строки списка с помощью мыши и клавиатуры. Выбранный в списке элемент определяется свойством itemindex типа integer. При анализе номеров строк нужно иметь в виду, что отсчет начинается с нуля, поэтому, например, 3-я строка имеет номер 2.
Для описания действий персонала использовался многострочный текст, который предоставляет компонент Memo. Многострочный редактор имеет практически те же возможности по редактированию текста, что и однострочные элементы редактирования. Главное отличие этих управляющих элементов заключается в том, что многострочный редактор содержит несколько строк.
Для доступа ко всему содержимому многострочного редактора используется свойство Text типа string, в этом случае все содержимое компонента Memo представляется одной строкой.
Для работы с отдельными строками используется свойство Lines типа Tstrings.
Содержимое компонента Memo можно загружать из текстового файла и сохранять в текстовом файле. Для этого удобно использовать методы LoadFromFile (const FileName: String) И LoadFromFile (constFileName: String) класса TStrings. Параметр FileName методов определяет текстовый файл для операций чтения и записи.
Пример. Чтение информации из текстового файла в компонент Memol.
Мemo1.lines.LoadFromFile('rec_C2_3_2_1.txt');
Основным оператором, который используется для обращения к различным аппаратам, является оператор выбора, который служит для обобщением условного оператора и позволяет сделать выбор из произвольного числа имеющихся вариантов, то есть организовать разветвления на произвольное число направлений. Этот оператор состоит из выражения, называемого селектором, списка вариантов и необязательной ветви else, имеющей тот же смысл, что и в условном операторе.
Формат оператора выбора:
case <Выражение-селектор> of
<Список1> : <Оператор1>;
<CnncoKN> : <OnepaTopN>
else <Оператор>;
end;
Выражение-селектор должно быть порядкового типа. Каждый вариант представляет собой список констант, отделенных двоеточием от относящегося к данному варианту оператора, возможно, составного. Список констант выбора состоит из произвольного количества значений и диапазонов, отделенных друг от друга запятыми. Границы диапазона записываются двумя константами через разделитель " . . " . Тип констант должен совпадать с типом выражения-селектора.
Оператор выбора выполняется следующим образом:
• вычисляется значение выражения селектора;
• производится последовательный просмотр вариантов на предмет совпадения значения селектора с константами и значениями из диапазонов соответствующего списка;
• если для очередного варианта этот поиск успешный, то выполняется оператор этого варианта. После этого выполнение оператора выбора заканчивается.
Пример.
case ap of
2: begin memo1.Lines.Clear;
if listbox1.ItemIndex=0
then begin listbox2.Items.LoadFromFile('pr_E1_1_12.txt'); otk:=1; end;
if listbox1.ItemIndex=1
then begin listbox2.Items.LoadFromFile('pr_E1_2_1.txt'); otk:=2; end;
end;
end;
Для очистки содержимого компонентов служит метод clear, которые могут содержать внутри себя текстовую информацию.
Пример. Очистка содержимого компонентов ListBox1, ListBox2 и Memo1.
listbox1.Items.clear;
listbox2.Items.clear;
memo1.Lines.Clear;
Процедура clear очищает список, удаляя все его элементы.