Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26170
Рейтинг: 2127
#16: 2009-04-20 21:58:08 ЛС | профиль | цитата
Дожил, меня уже цитируют
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#17: 2009-04-21 00:15:33 ЛС | профиль | цитата
nesco писал(а):
абсолютно некорректно для этого типа таблиц, тк, для них Strings не строковый парамет, а MT

StringTableMT.ini писал(а):
*Strings=Содержит массив строк, где каждая строка это набор колонок, разделенных StrDelimiter'ом|3|13

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#18: 2009-04-21 00:24:25 ЛС | профиль | цитата
Tad, я рассматривал таблицу последнего поколения, а не этого супер-мега монстра. Там нет, и никогда уже не будет делимитеров
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#19: 2009-04-21 00:36:22 ЛС | профиль | цитата
nesco писал(а):
Там нет, и никогда уже не будет делимитеров
и что это дает практически ? Уменшает размер кодов ? Увеличивает быстродействие ? Во сколько раз ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#20: 2009-04-21 01:50:46 ЛС | профиль | цитата
Tad писал(а):
и что это дает практически ?

Читай мои посты выше внимательней. Сможешь ли ты добиться такого же эффекта кортежных данных с обычной строкой
Обычная таблица похожа на многоэтажный дом, где квартиры -- это элементы. Новая таблица -- это многоэтажный дом вверх и такой же невидимый вниз под землю, так вот подземные этажы -- это строковые кортежи разнородных данных. Те, под землей не обязательно могут быть жилые помещения (строки), но могут быть, и гаражы, и склады, и магазины, и тд
------------ Дoбавленo в 01.56:
Да, забыл добавить. Аналагоичную матрицу имеет и MT_MTArray. Так что делай выводы
------------ Дoбавленo в 02.10:
Tad писал(а):
Увеличивает быстродействие ?

Да увеличивает, не в разы конечно, но увеличивает и не зависит от размера строк. Это начинает быть заметно при увеличении длины строк и большом количестве столбцов, что на MT сказывается мало



Add(MainForm,2953706,406,140)
{
Width=672
Height=339
}
Add(MTStrTbl,4798402,343,189)
{
Left=10
Top=10
Width=320
Height=235
Name="123"
Columns=#4:Tab1|4:Tab2|4:Tab2|4:Tab4|4:Tab5|4:Tab6|4:Tab7|4:Tab8|4:Tab9|
}
Add(StringTableMT,3278214,343,84)
{
Left=335
Top=10
Width=320
Height=235
Columns=#4:Tab1|4:Tab2|4:Tab2|4:Tab4|4:Tab5|4:Tab6|4:Tab7|4:Tab8|4:Tab9|
IconsCheck=[]
MiscIcons=[]
Icons=[]
}
Add(For,12369341,161,84)
{
End=10000
IncludeEnd=1
link(onEvent,4209075:doString,[])
link(onStop,8893523:doWork1,[(221,97)])
}
Add(FormatStr,4209075,231,84)
{
Mask="%1;Привет HiAsm!;Привет HiAsm!;Привет HiAsm!;Привет HiAsm!;Привет HiAsm!;Привет HiAsm!;Привет HiAsm!;Привет HiAsm!"
link(onFString,3278214:doAdd,[])
}
Add(TimeCounter,2944267,343,133)
{
Precision=1
link(onStop,2953706:doCaption,[])
}
Add(Hub,4839525,119,70)
{
OutCount=3
link(onEvent1,3278214:doClear,[(305,76)(305,97)])
link(onEvent2,11962247:doWork1,[(214,83)])
link(onEvent3,12369341:doFor,[])
}
Add(Button,6952537,56,70)
{
Left=470
Top=255
link(onClick,4839525:doEvent1,[])
}
Add(Button,11032099,56,224)
{
Left=135
Top=255
link(onClick,10204277:doEvent1,[])
}
Add(MST_RowAction,3856168,343,238)
{
MSTControl="123"
}
Add(For,9565864,168,238)
{
End=10000
IncludeEnd=1
link(onEvent,6805564:doAdd,[])
link(onStop,8893523:doWork3,[(221,251)])
}
Add(Memory,1561361,231,168)
{
Default=String(Привет HiAsm!)
}
Add(Hub,10204277,119,224)
{
OutCount=3
link(onEvent1,10790807:doClear,[(151,230)(151,202)])
link(onEvent2,11962247:doWork3,[(214,237)])
link(onEvent3,9565864:doFor,[])
}
Add(HubEx,11962247,210,126)
{
link(onEvent,2944267:doStart,[])
}
Add(HubEx,8893523,217,133)
{
link(onEvent,2944267:doStop,[])
}
Add(MST_Clear,10790807,168,196)
{
MSTControl="123"
}
Add(MT_AddData,6805564,231,238)
{
Count=8
link(onAdd,3856168:doRowAction,[])
link(Data1,12537115:Var2,[])
link(Data2,1224103:Var2,[])
link(Data3,14997863:Var2,[])
link(Data4,12333375:Var2,[])
link(Data5,12429783:Var2,[])
link(Data6,10247107:Var2,[])
link(Data7,10508326:Var2,[])
link(Data8,10508326:Var3,[(286,212)])
}
Add(GetDataEx,12537115,224,203)
{
link(Data,1561361:Value,[])
}
Add(GetDataEx,1224103,231,203)
{
Angle=3
link(Data,12537115:Var3,[])
}
Add(GetDataEx,14997863,238,203)
{
Angle=3
link(Data,1224103:Var3,[])
}
Add(GetDataEx,12333375,245,203)
{
Angle=3
link(Data,14997863:Var3,[])
}
Add(GetDataEx,12429783,252,203)
{
Angle=3
link(Data,12333375:Var3,[])
}
Add(GetDataEx,10247107,259,203)
{
Angle=3
link(Data,12429783:Var3,[])
}
Add(GetDataEx,10508326,266,203)
{
Angle=3
link(Data,10247107:Var3,[])
}


Tad, у меня закралось смутное сомнение, что ты не до конца понимаешь принцип MT и чем его разбор отличается от обычного парсирования строки (и генерация, кстати, тоже)
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#21: 2009-04-21 10:20:22 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 19:37:00
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#22: 2009-04-21 10:26:53 ЛС | профиль | цитата
Выше, это я.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#23: 2009-04-21 11:57:00 ЛС | профиль | цитата
89-139-40-117.bb.netvisio писал(а):
что она работает в два раза быстрее

А вот тут сомневаюсь, что при длинных строках она буде работать быстрее. Увеличь в три раза длину строки каждой ячейки и помотри. Парсер строки посимвольно перебирает всю строку на предмет поиска разделителя, а в MT все сводится к нахождению адреса следующего элемента. Дальше объяснять или сам догадаешься. Да и не понял я вообще, к чему весь этот разговор, что бы просто что-то сказать. Ну есть у тебя старая таблица, вот и работай в ней, ее же никто не убирает. И больше давай эту тему не поднимать, по причине отсутствия смысла обсуждения.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#24: 2009-04-21 12:13:46 ЛС | профиль | цитата
Увеличил. Не в три а больше. Разница ~2 сохранилась.

Add(MainForm,8802421,126,135)
{
Width=980
Height=342
}
Add(MTStrTbl,4798402,371,359)
{
Left=635
Top=10
Width=320
Height=235
Name="123"
Columns=#4:Tab1|4:Tab2|4:Tab2|4:Tab4|4:Tab5|4:Tab6|4:Tab7|4:Tab8|4:Tab9|
Grid=0
}
Add(StringTableMT,3278214,371,233)
{
Left=310
Top=10
Width=320
Height=235
Columns=#4:Tab1|4:Tab2|4:Tab2|4:Tab4|4:Tab5|4:Tab6|4:Tab7|4:Tab8|4:Tab9|
TabGrid=0
TabGridFrame=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
}
Add(For,12369341,224,233)
{
End=10000
IncludeEnd=1
link(onEvent,1776252:doString,[])
link(onStop,2944267:doStop,[(274,246)(274,295)])
}
Add(TimeCounter,2944267,308,282)
{
Precision=1
link(onStop,11875275:doText,[])
}
Add(Hub,4839525,182,219)
{
OutCount=3
link(onEvent1,3278214:doClear,[(356,225)(356,246)])
link(onEvent2,2944267:doStart,[(282,232)(282,288)])
link(onEvent3,12369341:doFor,[])
}
Add(Button,6952537,119,219)
{
Left=445
Top=280
Width=100
Caption="StringTableMT"
link(onClick,4839525:doEvent1,[])
}
Add(Button,11032099,105,394)
{
Left=760
Top=280
Width=100
Caption="MTStrTbl"
link(onClick,10204277:doEvent1,[])
}
Add(MST_RowAction,3856168,371,408)
{
MSTControl="123"
}
Add(For,9565864,217,408)
{
End=10000
IncludeEnd=1
link(onEvent,6805564:doAdd,[])
link(onStop,7646791:doStop,[(264,421)(264,470)])
}
Add(Hub,10204277,168,394)
{
OutCount=3
link(onEvent1,10790807:doClear,[(200,400)(200,372)])
link(onEvent2,7646791:doStart,[(271,407)(271,463)])
link(onEvent3,9565864:doFor,[])
}
Add(MST_Clear,10790807,217,366)
{
MSTControl="123"
}
Add(MT_AddData,6805564,280,408)
{
Count=9
link(onAdd,3856168:doRowAction,[])
link(Data1,9565864:Position,[(286,396)(254,396)(254,452)(223,452)])
link(Data2,1224103:Var2,[])
link(Data3,14997863:Var2,[])
link(Data4,12333375:Var2,[])
link(Data5,12429783:Var2,[])
link(Data6,10247107:Var2,[])
link(Data7,10508326:Var2,[])
link(Data8,15468241:Var2,[])
link(Data9,15468241:Var3,[(342,382)])
}
Add(GetDataEx,1224103,280,373)
{
Angle=3
link(Data,12453975:Var3,[(288,220)(333,220)])
}
Add(GetDataEx,14997863,287,373)
{
Angle=3
link(Data,1224103:Var3,[])
}
Add(GetDataEx,12333375,294,373)
{
Angle=3
link(Data,14997863:Var3,[])
}
Add(GetDataEx,12429783,301,373)
{
Angle=3
link(Data,12333375:Var3,[])
}
Add(GetDataEx,10247107,308,373)
{
Angle=3
link(Data,12429783:Var3,[])
}
Add(GetDataEx,10508326,315,373)
{
Angle=3
link(Data,10247107:Var3,[])
}
Add(StringTable,10922876,378,72)
{
Left=10
Top=10
Width=290
Height=235
Columns=#4:Tab1|4:Tab2|4:Tab2|4:Tab4|4:Tab5|4:Tab6|4:Tab7|4:Tab8|4:Tab9|
Grid=0
}
Add(Button,16363492,126,58)
{
Left=135
Top=280
Width=100
Caption="StringTable"
link(onClick,12501624:doEvent1,[])
}
Add(For,8937000,245,72)
{
End=10000
IncludeEnd=1
link(onEvent,9533336:doString,[])
link(onStop,7273391:doStop,[(293,85)(293,141)])
}
Add(FormatStr,9533336,315,72)
{
Mask="%1;%2;%2;%2;%2;%2;%2;%2;%2"
link(onFString,10922876:doAdd,[])
link(Str2,12453975:Var2,[])
}
Add(Hub,12501624,182,58)
{
OutCount=3
link(onEvent1,10922876:doClear,[(362,64)(362,85)])
link(onEvent2,7273391:doStart,[(302,71)(302,134)])
link(onEvent3,8937000:doFor,[])
}
Add(Memory,15128745,322,16)
{
Default=String(Также неплохо иметь еще одну програму-программу для редактирования баз данных.)
}
Add(FormatStr,1776252,308,233)
{
Mask="%1;%2;%2;%2;%2;%2;%2;%2;%2"
link(onFString,3278214:doAdd,[])
link(Str2,12453975:Var1,[(321,58)])
}
Add(GetDataEx,15468241,322,373)
{
Angle=3
link(Data,10508326:Var3,[])
}
Add(Label,3939151,371,464)
{
Left=785
Top=250
Width=4
Height=4
Caption=""
}
Add(Label,11875275,371,289)
{
Left=445
Top=255
Width=4
Height=4
Caption=""
}
Add(Label,7889834,378,135)
{
Left=130
Top=255
Width=4
Height=4
Caption=""
}
Add(TimeCounter,7646791,287,457)
{
Precision=1
link(onStop,3939151:doText,[])
}
Add(TimeCounter,7273391,315,128)
{
Precision=1
link(onStop,7889834:doText,[])
}
Add(GetDataEx,12453975,315,49)
{
link(Data,15128745:Value,[])
}

Да и компонент нужно в два раза меньше. А все, что ты рассказал в предыдущем посте это, как говорил Galkov, лапша.
nesco писал(а):
И больше давай эту тему не поднимать
Согласен.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#25: 2009-04-21 12:15:55 ЛС | профиль | цитата
89-139-40-117.bb.netvisio писал(а):
А почему ты не поставил старую StringTable в те-же условия ?

Кстати, разговор, зашел о разделители в новой таблице, в таком случае надо сравнивать таблицы одного класса, с похожими внутренними методами, а не укороченный вариант стандартной таблицы, естественно, который даст лучший результат, в силу того, что там куча всего отсутствует
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#26: 2009-04-21 12:19:05 ЛС | профиль | цитата
Да и компонент нужно в два раза меньше. А все, что ты рассказал в предыдущем посте это, как говорил Galkov, лапша.
nesco писал(а):
И больше давай эту тему не поднимать
Согласен.

P.S.Че-то пост разбило надвое.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 5227
Рейтинг: 587
#27: 2009-04-21 12:26:29 ЛС | профиль | цитата
nesco, а если возможность динамической загрузки таблицы данными только в видимую область?, т.е постоянно подгружать её при перемещении скролбаром из массива данных
карма: 4
Мой форум - http://hiasm.bbtalk.me/ схемы, компоненты...
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#28: 2009-04-21 12:30:34 ЛС | профиль | цитата
Tad, ну вот так и не в два раза, и не сильно отличается


Add(MainForm,8802421,203,231)
{
Width=980
Height=342
}
Add(MTStrTbl,4798402,448,504)
{
Left=635
Top=10
Width=320
Height=235
Name="123"
Columns=#4:Tab1|4:Tab2|4:Tab2|4:Tab4|4:Tab5|4:Tab6|4:Tab7|4:Tab8|4:Tab9|
Grid=0
}
Add(StringTableMT,3278214,448,329)
{
Left=310
Top=10
Width=320
Height=235
Columns=#4:Tab1|4:Tab2|4:Tab2|4:Tab4|4:Tab5|4:Tab6|4:Tab7|4:Tab8|4:Tab9|
TabGrid=0
TabGridFrame=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
}
Add(For,12369341,301,329)
{
End=10000
IncludeEnd=1
link(onEvent,1776252:doString,[])
link(onStop,2944267:doStop,[(351,342)(351,391)])
}
Add(TimeCounter,2944267,385,378)
{
Precision=1
link(onStop,11875275:doText,[])
}
Add(Hub,4839525,259,315)
{
OutCount=3
link(onEvent1,3278214:doClear,[(433,321)(433,342)])
link(onEvent2,2944267:doStart,[(359,328)(359,384)])
link(onEvent3,12369341:doFor,[])
}
Add(Button,6952537,196,315)
{
Left=445
Top=280
Width=100
Caption="StringTableMT"
link(onClick,4839525:doEvent1,[])
}
Add(Button,11032099,182,532)
{
Left=760
Top=280
Width=100
Caption="MTStrTbl"
link(onClick,10204277:doEvent1,[])
}
Add(MST_RowAction,3856168,448,553)
{
MSTControl="123"
}
Add(For,9565864,294,553)
{
End=10000
IncludeEnd=1
link(onEvent,5144540:doAdd,[])
link(onStop,7646791:doStop,[(341,566)(341,615)])
}
Add(Hub,10204277,245,532)
{
OutCount=4
link(onEvent1,6805564:doAdd,[(269,538)(269,468)])
link(onEvent2,10790807:doClear,[(277,545)(277,517)])
link(onEvent3,7646791:doStart,[(348,552)(348,608)])
link(onEvent4,9565864:doFor,[])
}
Add(MST_Clear,10790807,294,511)
{
MSTControl="123"
}
Add(MT_AddData,6805564,280,462)
{
Count=9
link(onAdd,5168452:doValue,[])
link(Data1,11683894:Var2,[(286,450)(279,450)])
link(Data2,1224103:Var2,[])
link(Data3,14997863:Var2,[])
link(Data4,12333375:Var2,[])
link(Data5,12429783:Var2,[])
link(Data6,10247107:Var2,[])
link(Data7,10508326:Var2,[])
link(Data8,15468241:Var2,[])
link(Data9,15468241:Var3,[(342,429)])
}
Add(GetDataEx,1224103,280,420)
{
Angle=3
link(Data,11683894:Var3,[])
}
Add(GetDataEx,14997863,287,420)
{
Angle=3
link(Data,1224103:Var3,[])
}
Add(GetDataEx,12333375,294,420)
{
Angle=3
link(Data,14997863:Var3,[])
}
Add(GetDataEx,12429783,301,420)
{
Angle=3
link(Data,12333375:Var3,[])
}
Add(GetDataEx,10247107,308,420)
{
Angle=3
link(Data,12429783:Var3,[])
}
Add(GetDataEx,10508326,315,420)
{
Angle=3
link(Data,10247107:Var3,[])
}
Add(StringTable,10922876,455,168)
{
Left=10
Top=10
Width=290
Height=235
Columns=#4:Tab1|4:Tab2|4:Tab2|4:Tab4|4:Tab5|4:Tab6|4:Tab7|4:Tab8|4:Tab9|
Grid=0
}
Add(Button,16363492,203,154)
{
Left=125
Top=280
Width=100
Caption="StringTable"
link(onClick,12501624:doEvent1,[])
}
Add(For,8937000,322,168)
{
End=10000
IncludeEnd=1
link(onEvent,9533336:doString,[])
link(onStop,7273391:doStop,[(370,181)(370,237)])
}
Add(FormatStr,9533336,385,168)
{
Mask="%1;%2;%2;%2;%2;%2;%2;%2;%2"
link(onFString,10922876:doAdd,[])
link(Str1,1401086:Var1,[(391,135)])
link(Str2,12453975:Var2,[(398,163)(405,163)])
}
Add(Hub,12501624,259,154)
{
OutCount=3
link(onEvent1,10922876:doClear,[(439,160)(439,181)])
link(onEvent2,7273391:doStart,[(379,167)(379,230)])
link(onEvent3,8937000:doFor,[])
}
Add(Memory,15128745,399,70)
{
Default=String(Также неплохо иметь еще одну програму-программу для редактирования баз данных.)
}
Add(FormatStr,1776252,371,329)
{
Mask="%1;%2;%2;%2;%2;%2;%2;%2;%2"
link(onFString,3278214:doAdd,[])
link(Str1,14029428:Var1,[(377,121)])
link(Str2,12453975:Var1,[(384,156)])
}
Add(GetDataEx,15468241,322,420)
{
Angle=3
link(Data,10508326:Var3,[])
}
Add(Label,3939151,448,609)
{
Left=760
Top=255
Width=100
Height=20
Caption=""
}
Add(Label,11875275,448,385)
{
Left=445
Top=255
Width=100
Height=20
Caption=""
}
Add(Label,7889834,455,231)
{
Left=130
Top=255
Width=100
Height=20
Caption=""
}
Add(TimeCounter,7646791,364,602)
{
Precision=1
link(onStop,3939151:doText,[])
}
Add(TimeCounter,7273391,392,224)
{
Precision=1
link(onStop,7889834:doText,[])
}
Add(GetDataEx,12453975,392,147)
{
link(Data,1401086:Var2,[])
}
Add(GetDataEx,1401086,392,126)
{
link(Data,14029428:Var2,[])
}
Add(GetDataEx,14029428,392,112)
{
link(Data,15128745:Value,[])
}
Add(GetDataEx,11683894,266,420)
{
Angle=3
link(Data,12453975:Var3,[(259,429)(259,302)(410,302)])
}
Add(MT_Memory,5168452,371,462)
{
}
Add(MT_Add,5144540,371,553)
{
link(onAdd,3856168:doRowAction,[])
link(Data,5168452:Value,[])
}

------------ Дoбавленo в 12.38:
Tad писал(а):
Да и компонент нужно в два раза меньше

Чего Ну вот не гони. Подцепи к базе SQLIte или к любому источнику и посмотри, сколько у тебя уйдет компонентов и где будет твое быстродействие с таким преобразованиями


Add(MainForm,2953706,56,119)
{
Width=639
}
Add(MTStrTbl,6394437,315,119)
{
Left=10
Top=10
Width=295
Height=200
Name="123"
}
Add(StringTable,15231697,315,182)
{
Left=310
Top=10
Width=310
Height=200
Point(doAddColumn)
}
Add(SQLite_DB,6216691,119,119)
{
FileName="test.db"
link(onOpen,10431521:doEvent1,[])
}
Add(SQLite_Query,16757139,196,182)
{
SQL="Select * from test"
link(onQuery,13982973:doStr,[])
link(onColumns,13697305:doEnum,[(240,195)(240,223)])
}
Add(SQLite_Query,5780421,210,119)
{
SQL="Select * from test"
link(onQuery,3924882:doAddRow,[])
link(onColumns,3924882:doAddCols,[])
}
Add(Hub,10431521,168,119)
{
link(onEvent1,5780421:doQuery,[])
link(onEvent2,16757139:doQuery,[(192,132)(192,188)])
}
Add(MST_DB,3924882,259,119)
{
MSTControl="123"
}
Add(MT_String,13982973,252,182)
{
link(onResult,15231697:doAdd,[])
}
Add(MT_Enum,13697305,252,217)
{
link(onItem,15231697:doAddColumn,[])
}


Tad, еще раз вразумительно объясни, чего ты хочешь Я никак тебя понять не могу, складывается впечатление, что ты усиленно хочешь доказать, что MT технология -- это ...авно, а разделители -- рулез, и все срочно надо вернуть взад, а с дальнейшим развитием -- а кому оно надо...
Galkovа тоже не устраивали наши действия, и он пошел своим путем, может ты тоже хочешь последовать по его стопам

andrestudio писал(а):
а если возможность динамической загрузки таблицы данными только в видимую область?

Пока нет, это реализовать можно, но весьма непросто, как оказалось
карма: 22

0
Администрация
Ответов: 15295
Рейтинг: 1519
#29: 2009-04-21 17:40:16 ЛС | профиль | цитата
nesco, несмотря на преимущественное игнорирование тем с участием Tad-а я таки за чашкой чая прочел два последних сообщения и ознакомился с предложенной методикой тестирования господина Tad, а... и таки был заинтересован. Во-первых, схема+цифры, полученные после ее запуска нельзя контаргументировать такими словами
nesco писал(а):
что ты усиленно хочешь доказать, что MT технология -- это ...авно

пользователю тоже так отвечать?

во-вторых, предложенная модификация
nesco писал(а):
ну вот так и не в два раза, и не сильно отличается

вообще говоря не есть честная и скажем у меня никакого плюса вообще не дает.

теперь по порядку. Разберемся, что у нас не так. Для начала предлагаю сверить результаты запуска вот такой схемы:

Add(MainForm,8802421,252,210)
{
Width=980
Height=342
}
Add(Button,11032099,231,392)
{
Left=760
Top=280
Width=100
Caption="MTStrTbl"
link(onClick,10204277:doEvent1,[])
}
Add(For,9565864,343,413)
{
End=10000
IncludeEnd=1
link(onEvent,6805564:doAdd,[])
link(onStop,7646791:doStop,[(390,426)(390,475)])
}
Add(Hub,10204277,294,392)
{
OutCount=4
link(onEvent3,7646791:doStart,[(397,412)(397,468)])
link(onEvent4,9565864:doFor,[])
}
Add(MT_AddData,6805564,490,413)
{
Count=10
InputMT=0
link(Data2,11683894:Var2,[])
link(Data3,1224103:Var2,[])
link(Data4,14997863:Var2,[])
link(Data5,12333375:Var2,[])
link(Data6,12429783:Var2,[])
link(Data7,10247107:Var2,[])
link(Data8,10508326:Var2,[])
link(Data9,15468241:Var2,[])
link(Data10,15468241:Var3,[(559,373)])
}
Add(GetDataEx,1224103,497,364)
{
Angle=3
link(Data,11683894:Var3,[])
}
Add(GetDataEx,14997863,504,364)
{
Angle=3
link(Data,1224103:Var3,[])
}
Add(GetDataEx,12333375,511,364)
{
Angle=3
link(Data,14997863:Var3,[])
}
Add(GetDataEx,12429783,518,364)
{
Angle=3
link(Data,12333375:Var3,[])
}
Add(GetDataEx,10247107,525,364)
{
Angle=3
link(Data,12429783:Var3,[])
}
Add(GetDataEx,10508326,532,364)
{
Angle=3
link(Data,10247107:Var3,[])
}
Add(Button,16363492,252,126)
{
Left=125
Top=280
Width=100
Caption="StringTable"
link(onClick,12501624:doEvent1,[])
}
Add(For,8937000,371,147)
{
End=10000
IncludeEnd=1
link(onEvent,9533336:doString,[])
link(onStop,7273391:doStop,[(419,160)(419,216)])
}
Add(FormatStr,9533336,441,147)
{
Mask="%1;%2;%2;%2;%2;%2;%2;%2;%2"
link(Str2,12453975:Var2,[])
}
Add(Hub,12501624,308,126)
{
OutCount=4
link(onEvent3,7273391:doStart,[(428,146)(428,209)])
link(onEvent4,8937000:doFor,[])
}
Add(Memory,15128745,448,70)
{
Default=String(Также неплохо иметь еще одну програму-программу для редактирования баз данных.)
}
Add(GetDataEx,15468241,539,364)
{
Angle=3
link(Data,10508326:Var3,[])
}
Add(Label,3939151,490,469)
{
Left=760
Top=255
Width=100
Height=20
Caption=""
}
Add(Label,7889834,504,210)
{
Left=130
Top=255
Width=100
Height=20
Caption=""
}
Add(TimeCounter,7646791,413,462)
{
Precision=1
link(onStop,3939151:doText,[])
}
Add(TimeCounter,7273391,441,203)
{
Precision=1
link(onStop,7889834:doText,[])
}
Add(GetDataEx,12453975,441,105)
{
link(Data,15128745:Value,[])
}
Add(GetDataEx,11683894,490,364)
{
Angle=3
link(Data,12453975:Var3,[(478,373)(478,114)])
}

имеем 230к против 95к при нажатии кнопок слева на право, и 70к против 220к при нажатии в обратном порядке(интересная особенность кстате), т.е. МТ формирует данные в 2-3 раза быстрее. Теперь подключаем таблицу и видим обратный результат. Вот и вопрос - почему Может быть не стоит наседать на Tad-а, а стоит посмотреть внимательнее на код элемента?
карма: 27
1
Голосовали:Andrey
Ответов: 3851
Рейтинг: 159
#30: 2009-04-21 17:57:14 ЛС | профиль | цитата
показательный результат, неплохо бы схемку в help (ну или в советы) для понимания..
карма: 0
начавший
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)