Массив в поле ввода интерфейса.

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Массив в поле ввода интерфейса.

Сообщение s2176 »

Добрый день!
Пишу интерфейс. В нем должны быть 12 полей ввода, которые очень хочется запихать в массив из 12 же элементов, чтобы работать с ними в цикле. Можно ли так сделать?

Спасибо.
Кто сказал, что бесполезно биться головой об стену?!
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

сделать временную таблицу с массивом полей, типа
table struct mymt
(
farray[12] : string
);
screen scr1
fields
mymt.farray[1] : noprotect;
mymt.farray[2] : noprotect;
и т.д.
<<
.@@@@@
.@@@@@
и т.д.
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

Т.е., без таблицы никак? Обычные массивы здесь точно не работают?
Кто сказал, что бесполезно биться головой об стену?!
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

Криво все получается.... Если использовать таблицу, то мне надо, чтобы в одном экране сначала были обычные поля (не из таблицы), потом в серединке таблица, (причем поля должны быть не в обычном табличном виде а по 2 друг под дугом), а потом внизу еще кнопка. Как это все оформить? Компилятор ругается. В доке не могу найти аналогичный пример((

Экран должен выглядеть примерно так:
<<

Дата:.@@@@@@@@@ Коэффициент:.@@@@@

Подразделения .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Должности .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

месяц коэф-т
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@ вот это и хочется
.@@@@@@@@@@@@ .@@@@@ загнать в 2 массива
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@

<. Выполнить .>

>>
Кто сказал, что бесполезно биться головой об стену?!
san
Местный житель
Сообщения: 412
Зарегистрирован: 28 апр 2005, 11:34
Откуда: Галактика Млечный Путь

Сообщение san »

table struct mt
(
str : array[1..12] of string,
num : array[1..12] of double
);
create view
var bdate : date;
koef : double;
podr ,
dol : string;
from mt;

screen scr1;
table mt;
fields
bdate : noprotect;
koef : noprotect;
podr : noprotect;
dol : noprotect;
mt.str[1] : noprotect;
mt.num[1] : noprotect;
mt.str[2] : noprotect;
mt.num[2] : noprotect;
mt.str[3] : noprotect;
mt.num[3] : noprotect;
mt.str[4] : noprotect;
mt.num[4] : noprotect;
mt.str[5] : noprotect;
mt.num[5] : noprotect;
mt.str[6] : noprotect;
mt.num[6] : noprotect;
mt.str[7] : noprotect;
mt.num[7] : noprotect;
mt.str[8] : noprotect;
mt.num[8] : noprotect;
mt.str[9] : noprotect;
mt.num[9] : noprotect;
mt.str[10] : noprotect;
mt.num[10] : noprotect;
mt.str[11] : noprotect;
mt.num[11] : noprotect;
mt.str[12] : noprotect;
mt.num[12] : noprotect;
buttons cmOK;
<<

Дата:.@@@@@@@@@ Коэффициент:.@@@@@

Подразделения .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Должности .@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

месяц коэф-т
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@ вот это и хочется
.@@@@@@@@@@@@ .@@@@@ загнать в 2 массива
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@
.@@@@@@@@@@@@ .@@@@@

<. Выполнить .>

>>
end;
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

Спасибо, san, все откомпилировалось!
Кто сказал, что бесполезно биться головой об стену?!
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

Может, еще подскажете.
Как отловить события входа и выхода из поля?
Кто сказал, что бесполезно биться головой об стену?!
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

выхода то - cmcheckField. Curfield вернет вам текущее, а Target - то поле, куда вы собираетесь убежать. В этом собитии еще можно использовать OldFieldValue - вернет старое значение поля. еще посмотрите в доке cmSetCurField.
s2176
Местный житель
Сообщения: 473
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Новосибирск

Сообщение s2176 »

Спасибо! То, что надо! мне и нужно проверить, изменилось поле или нет))
Кто сказал, что бесполезно биться головой об стену?!
Ответить