Вверх ↑
Разработчик
Ответов: 26163
Рейтинг: 2127
#1: 2016-07-18 16:32:41 ЛС | профиль | цитата
sla8a писал(а):
вот пример с обычной таблицей

Не выполняется условие задачи
ibegen писал(а):
То есть запись начинается заново для 1 и 3го столбцов, потом для 1 и 4го... т.д.

Довесь к своей таблице модуль очистки 0-го столбца и посмотрим, насколько простой код получится для понимания.
------------ Дoбавленo в 16.32:
Вот полное решение задачи на обычной таблице (заставили все же меня подумать )

Add(MainForm,10870265,98,175)
{
Width=768
Height=263
link(onCreate,8427954:doFor,[])
}
Add(StringTable,5817601,483,189)
{
Left=5
Top=5
Width=745
Height=175
Columns=#1:1|1:2|0:|
StrDelimiter=" "
Point(doAddColumn)
Point(Matrix)
Point(EndIdx)
}
Add(Button,5315267,245,399)
{
Left=295
Top=190
Width=160
Height=30
Caption="add data"
link(onClick,13542597:doNext,[(291,405)(291,440)])
}
Add(Random,2850665,413,497)
{
link(onRandom,3055079:doWork2,[])
}
Add(MatrixRW,4405371,497,490)
{
link(Matrix,1447518:Var2,[])
link(X,8598072:Value,[])
link(Y,13542597:Count,[(524,481)(307,481)])
}
Add(For,8427954,154,189)
{
@Hint=#59:В End прописывается максимальное количество строк -1 строка|
End=5
link(onEvent,10727438:doText,[])
link(onStop,15232204:doData,[(207,202)(207,447)])
AddHint(51,-68,184,39,@Hint)
}
Add(CounterEx,13542597,301,434)
{
@Hint=#58:Счетчик строк с выдачей события по переходу через максимум|
Max=0
Default=-1
Point(onThroughMax)
Point(doMax)
link(onNext,7770103:doEvent1,[])
link(onThroughMax,2671254:doFor,[(340,447)(340,328)])
AddHint(-209,59,191,26,@Hint)
}
Add(DoData,15232204,224,441)
{
link(onEventData,13542597:doMax,[])
link(Data,7089765:Var1,[(230,250)])
}
Add(VisualStrings,10727438,224,189)
{
Point(doText)
Point(onText)
link(onText,5817601:doAdd,[])
}
Add(Memory,8598072,511,427)
{
@Hint=#41:Переключатель с 0-го на последний столбец|
Default=Integer(0)
Point(doClear)
Point(Data)
link(Data,3344079:Count,[])
AddHint(57,31,199,26,@Hint)
}
Add(Hub,7770103,364,434)
{
OutCount=4
link(onEvent1,8598072:doClear,[])
link(onEvent2,3055079:doWork1,[(466,447)])
link(onEvent3,8598072:doValue,[(389,454)(389,433)])
link(onEvent4,2850665:doRandom,[(389,461)(389,503)])
}
Add(CounterEx,3344079,511,378)
{
@Hint=#32:Хранит индекс последнего столбца|
Min=1
Default=1
Point(onThroughMax)
link(onNext,9203882:doOperation,[])
AddHint(59,-57,196,13,@Hint)
}
Add(HubEx,3055079,462,497)
{
link(onEvent,4405371:doWrite,[])
}
Add(Math,9203882,560,378)
{
Op2=1
ResultType=0
link(onResult,5817601:doAddColumn,[(599,384)(599,181)(473,181)(473,230)])
}
Add(For,2671254,378,322)
{
link(onEvent,9115859:doWrite,[])
link(onStop,3344079:doNext,[(417,335)(417,384)])
link(End,7089765:Var2,[])
}
Add(MatrixRW,9115859,434,315)
{
@Hint=#20:Очистка 0-го столбца|
link(Matrix,1447518:Var1,[(440,292)])
link(Value,4634198:Text,[(447,306)(405,306)])
link(X,3636380:Text,[])
AddHint(-194,-33,124,13,@Hint)
}
Add(GetDataEx,1447518,497,287)
{
link(Data,5817601:Matrix,[])
}
Add(VisualStrings,3636380,448,259)
{
Lines=#1:0|
}
Add(VisualStrings,4634198,399,259)
{
}
Add(GetDataEx,7089765,385,245)
{
Angle=1
link(Data,5817601:EndIdx,[(510,250)])
}

карма: 22

0