Форма и фэйсы

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

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

Ответить
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Форма и фэйсы

Сообщение Alexander »

Задача: Есть несколько интерфейсов, которые формируют схожие потоки. Хочется их все выгрузить в один файл, каким образом это сделать?
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

Ну например выгружаешь в первом фейсе в текстовой файл, сохраняешь его. Выполняешь второй фейс, открываешь сохраненный текстовой файл и дописываешьв него....и так далее..
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

а если это slk файл???
и как открыть файл, чтобы дописать в конец?
Например, в первом говорю
form someform('SomeFile');
someform.Write(...);
..........

а во втором?

form someform1('SomeFile');
someform1.Write(...);
..........

Просто потрет ведь!
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

имелись ввиду методы и функции объекта file.
В этом случае можно затем пробежавшись по этому файлу вывалить все в slk
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

можно передавать индетификатор формы через переменную longint
и вывод делать так
Form_write('SS', '', Outf)
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

edward_K
То, что нужно! Спасибо!
Обязательно ли использовать ф-цию Form_write ?!
Нет ли подобного механизма:

form someform('SomeFile');
someform.Reinit(Outf);
someform.Write(...);

???

Возникла еще одна проблема:
Form_PutEventById(feDoLoop,fcgroup2, pform);
ругается, что не знает fcgroup2
как победить?
dp
Местный житель
Сообщения: 216
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь, Минск
Контактная информация:

Сообщение dp »

Form_PutEventById(feDoLoop,fcgroup2, pform);
ругается, что не знает fcgroup2
вначале скомпилировать форму - получится *.inc, который потом подключить следует
dP
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

*.inc ???
а я думал *.fnc :-)
а другого пути нет?
dp
Местный житель
Сообщения: 216
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь, Минск
Контактная информация:

Сообщение dp »

а я думал *.fnc
ну может и fnc :(
суть не меняется...

другой путь - скомпилирует посмотри и пропиши эти константы в проект :-)
dP
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Может я конечно чего не допонимаю, но всегда собирал проекты в порядке
1. Прототипы
2. Интерфейсы
3. Формы
и никогда таких проблем не имел.

Где уверенность, что при следующей сборке компилятор не дост новые номера константам? :)
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

m0p3e

Все нормально работает, если писать:
form someform('file');
someform.PutEventById(feDoLoop,fcgroup2);
someform.Write(...);

но вот когда делаю так:
Form_PutEventById(feDoLoop,fcgroup2, pform);
пишет, что не знает fcgroup2. Лечится включением *.fnc констант в фейс, иначе не видит!
Где уверенность, что при следующей сборке компилятор не дост новые номера константам?
а ее и нет! Приходится после изменения прототипа перекомпилировать зависимые фейсы(сделал make файл)
Именно из-за того, что приходится перекомпилировать все и задал такой вопрос! Коряво и не красиво! :-)
dp
Местный житель
Сообщения: 216
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Беларусь, Минск
Контактная информация:

Сообщение dp »

1. Прототипы
2. Интерфейсы
3. Формы
не абсолютно согласен.
мой порядок
1. Прототипы и Формы (*.frm; *.slk; *.rtf)
2. Интерфейсы (*.vip)

хотя суть, скорее всего не меняется - так все константы генерятся при компиляции прототипов.
просто тогда надо как-то выделять отдельно прототипы, отдельно формы и т.п.
dP
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Сообщение m0p3e »

Важно собирать сначала прототип и только после него интерфейс формирующий поток! И ничего никуда прописывать не надо!
#make 'myrep.pro'
#make 'myrep.vip'
В каком месте собирать присоединенные формы не суть важно.
Ответить