Горизонтальные циклы

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

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

Ответить
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Горизонтальные циклы

Сообщение Vik »

Вот фрагмент из формы журнала-ордера:

.fields

.....

ColumnTitle1
ColumnTitle2

.....

.endfields
......

-----------.{.?JOHDR01; ----------------------------------.}
.{.?JOHDR02; @~@@@@@@@@@@@@@@@.}
.{.?JOHDR03; @~@@@@@@@@@@@@@@@.}
-----------.{.?JOHDR04; ----------------------------------.}

........

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

Сообщение edward_K »

.Function v(w :string) : string ;
begin
v:=w ;
i:=i+1
col := w ;
end.
.fields
v(field1)
.endfields
.begin i:=i+1 ; end.
.{.?......}
Vik
Местный житель
Сообщения: 370
Зарегистрирован: 28 сен 2006, 15:43
Откуда: Санкт-Петербург
Контактная информация:

Сообщение Vik »

Огромное спасибо! Все отлично работает :)
sildae
Постоянный обитатель
Сообщения: 188
Зарегистрирован: 04 апр 2009, 15:56
Откуда: сАРАТОВ
Контактная информация:

Сообщение sildae »

Гениальная функция работает и у меня . :) Однако, функция употряебяется внути fields.
.fields
v(field1)
.endfields
то есть непременно долны быть поля вывода и печать. А как сделать, чтобы значения не выводились в отчет, или хотя бы не печатались, а только собирались в массив?
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

xl функцмм(Excel.doc) вам помогут 8)
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

для того чтобы погасить полностью
.{.?JornAnalH11;;false;.}
ну еще видел skl со скрытыми столбцами(можно куда нибудь в конец цикл угнать) - но excel да еще на основе шаблона красивей.
Ksenia
Посетитель
Сообщения: 39
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Киев
Контактная информация:

Сообщение Ksenia »

а все функции выплнять внутри этого цикела?
Т.е. если я хочу в ехсель на основе шаблона все выгнать, мне нужно покасить все .{.?JornAnalH11;;false;.}
а потом там же внутри вывод в эксель сделать?
Учиться, учиться и еще раз учиться
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

когда в excel нмчего гасить не нужно. В нужных местах делаете вывод
если простая форма то хоть в fields, ну и где то нужно задавать строки и столбцы. Для горизонтальных функций подойдет вся та же функция.
текстовую форму погасите потом по
.F "NUL"
Ksenia
Посетитель
Сообщения: 39
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Киев
Контактная информация:

Сообщение Ksenia »

:sad: Бьюсь с формой уже второй день, никак не могу понять, КАК она работает
у меня есть:
.fields
d01
TblGfiDouble(TblPeriods,IterNext(Ind),fdp3z)
d3z
.endfields
и соответственно вывод
&&&&&&&&&&&.&&│.{.?j510;&&&&&&&&&&&.&&│.}&'&&&&&&&&&&&&&.&&
То, что первая и последняя циферки-суммы - понятно, функцию TblGfiDouble нашла, что она рисует таблицу(так я поняла), но где сумма, которая выводится в горизонтальном цикле, как её отловить, никак не пойму :( Подскажите, пожалуйста.
А я хочу получить эту сумму в матрицу
xlDoWriteToMatrix(iMatCurR, 1,d01);
...???
xlDoWriteToMatrix(iMatCurR, 3,d3z);
Учиться, учиться и еще раз учиться
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

читаем все сначала :). то что в fields выводим через свою функцию, а там уже все что хотите.
Ksenia
Посетитель
Сообщения: 39
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Украина, Киев
Контактная информация:

Сообщение Ksenia »

Так я про функция поняла, а вот что в неё передавать?
TblGfiDouble(TblPeriods,IterNext(Ind),fdp3z)
Галактика валится без предупреждения :(
Учиться, учиться и еще раз учиться
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

logstrtofile, когда галка валится смотрим протокол.
дело врядли в функции. а вообще TblGfiDouble возвращает double а не string - может дело в этом. Ну еще важен момент когда в fields вы это описываете - там перед гор.циклом наверняка еще чего то вызывается - если допустили сдвижку в полях, то неверное упадет.
Ответить