Страница 1 из 1
					
				Горизонтальные циклы
				Добавлено: 27 сен 2007, 14:17
				 Vik
				Вот фрагмент из формы журнала-ордера:
.fields
.....
  ColumnTitle1
  ColumnTitle2  
.....
.endfields
......
-----------.{.?JOHDR01; ----------------------------------.}
              .{.?JOHDR02; @~@@@@@@@@@@@@@@@.}
              .{.?JOHDR03; @~@@@@@@@@@@@@@@@.}
-----------.{.?JOHDR04; ----------------------------------.}
........
Так вот, можно ли как-то из таких горизонтальных циклов вытащить и запомнить, например, в массив переменные   ColumnTitle1,  ColumnTitle2  ?
			 
			
					
				
				Добавлено: 27 сен 2007, 15:55
				 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.
.{.?......}
			 
			
					
				
				Добавлено: 27 сен 2007, 16:12
				 Vik
				Огромное спасибо! Все отлично работает 

 
			 
			
					
				
				Добавлено: 15 окт 2009, 10:28
				 sildae
				Гениальная функция работает и у меня . 

 Однако, функция употряебяется внути fields.
.fields 
v(field1) 
.endfields 
то есть непременно долны быть поля вывода и печать. А как сделать, чтобы значения  не выводились в отчет, или хотя бы не печатались, а только собирались в массив?
 
			 
			
					
				
				Добавлено: 15 окт 2009, 11:31
				 edward_K
				xl функцмм(Excel.doc) вам помогут  

 
			 
			
					
				
				Добавлено: 15 окт 2009, 11:35
				 edward_K
				для того чтобы погасить полностью
  .{.?JornAnalH11;;false;.}
ну еще видел skl со скрытыми столбцами(можно куда нибудь в конец цикл угнать) - но excel да еще на основе шаблона красивей.
			 
			
					
				
				Добавлено: 29 окт 2009, 14:44
				 Ksenia
				а все функции выплнять внутри этого цикела?
Т.е. если я хочу в ехсель на основе шаблона все выгнать, мне нужно покасить все .{.?JornAnalH11;;false;.}
а потом там же внутри вывод в эксель сделать?
			 
			
					
				
				Добавлено: 30 окт 2009, 01:09
				 edward_K
				когда в excel нмчего гасить не нужно. В нужных местах делаете вывод
если простая форма то хоть в fields, ну и где то нужно задавать строки и столбцы. Для горизонтальных функций подойдет вся та же функция.
текстовую форму погасите потом по
.F "NUL"
			 
			
					
				
				Добавлено: 30 окт 2009, 14:42
				 Ksenia
				
 Бьюсь с формой уже второй день, никак не могу понять, КАК она работает
у меня есть:
.fields
 d01
 TblGfiDouble(TblPeriods,IterNext(Ind),fdp3z)
 d3z
.endfields
и соответственно вывод
&&&&&&&&&&&.&&│.{.?j510;&&&&&&&&&&&.&&│.}&'&&&&&&&&&&&&&.&&
То, что первая и последняя циферки-суммы - понятно, функцию TblGfiDouble нашла, что она рисует таблицу(так я поняла), но где сумма, которая выводится в горизонтальном цикле, как её отловить, никак не пойму 

 Подскажите, пожалуйста.
А я хочу получить эту сумму в матрицу
  xlDoWriteToMatrix(iMatCurR, 1,d01);
...???
  xlDoWriteToMatrix(iMatCurR, 3,d3z);
 
			 
			
					
				
				Добавлено: 30 окт 2009, 15:02
				 edward_K
				читаем все сначала 

. то что в fields выводим через свою функцию, а там уже все что хотите.
 
			 
			
					
				
				Добавлено: 30 окт 2009, 15:26
				 Ksenia
				Так я про функция поняла, а вот что в неё передавать?
TblGfiDouble(TblPeriods,IterNext(Ind),fdp3z)
Галактика валится без предупреждения 

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