Документация по Clarion


COLS (задает столбцы в LIST-структуре)


COLS(string,variable[,spaces])

string Строковая константа или переменная, содержащая ASCII-значения, задающие число символов для подсветки в каждом столбце. Каждый символ этой строки задает ширину одного столбца в LIST. Общее число символов в строке зависит от числа столбцов в LIST-структуре.
variable Имя целочисленной переменной, которая получает номер текущего подсвеченного столбца, когда LIST завершается оператором ACCEPT.
spaces Целочисленная константа, задающая число пробелов между столбцами на экране.

Атрибут COLS задает вывод элементов очереди в листбоксе подобно электронной таблице. Курсор подсвечивает только один столбец за раз. Строка, описывает число символов в каждом столбце, которые должен подсвечивать курсор. Параметр SPACES задает количество пробелов, автоматически вставляемых между выводимыми столбцами.
Когда ACCEPT завершает LISTбокс, VARIABLE получает номер подсвеченного столбца. Если VARIABLE уже содержит какое-то значение при активизации листбокса, то сращу же активизируется столбец, номер которого хранится в VARIABLE.
Если вместе с атрибутом COLS, к листбоксу применяется еще и атрибут FIX, то появляется возможность ввести заголовки столбцов в листбоксе. Эти заголовки не будут прокручиваться, и не могут быть выбраны.
Пример:
ListOue QUEUE,PRE(Lst) !Очередь номеров деталей
PartNoA STRING(10) ! отформатированная для
PartNoB STRING(10) ! вывода в две колонки
.
Screen SCREEN(20,30),PRE(Scr)
ROW(3,45) ENTRY(@s10),USE(Trn:PartNo),SKIP
ROW(4,45) LIST(10,20),FROM(Lst:PartNo), |
USE(?PartList),COLS('',Column#,1)
.
CODE !Строим очередь для листбокса
SET(PartsFile)
LOOP
NEXT(PartsFile)
Lst:PartNoA = Par:PartNo
IF EOF(PartsFile) THEN BREAK.
NEXT(PartsFile)
Lst:PartNoB = Par:PartNo
IF EOF(PartsFile) THEN BREAK.
ADD(ListQue)
IF ERRORCODE() THEN STOP(ERROR()).
CLEAR(ListQue)
.
ADD(ListQue)
IF ERRORCODE() THEN STOP(ERROR()).
OPEN(Screen) !Затем откроем экран
ACCEPT ! и позволим сделать выбор
GET(ListQue,CHOICE()) !Получаем выбранный элемент
EXECUTE Column#
Trn:PartNo = Lst:PartNoA !Выбрано из первого столца?
Trn:PartNo = Lst:PartNOB !А может быть из второго?
.
См. также: ,



Начало  Назад  Вперед