Вверх ↑
Этот топик читают: Гость
Ответов: 875
Рейтинг: 322
#1: 2008-10-13 15:42:52 ЛС | профиль | цитата
Не могу сообразить, что делаю неправильно. Точка doReplace должна заменить строку с индексом из потока на стороку str. Но почему-то не получается, что не так?code_10274.txt
карма: 1

0
файлы: 1code_10274.txt [2.4KB] [252]
Разработчик
Ответов: 26305
Рейтинг: 2146
#2: 2008-10-13 15:48:02 ЛС | профиль | цитата
kamakama, попробуй в таблице поcтавить свойство Table -> Redaction=False
карма: 22

0
Ответов: 875
Рейтинг: 322
#3: 2008-10-13 16:49:39 ЛС | профиль | цитата
Большое данке nesco, честно я даже и не предпологал о таком ходе. Думал что добавление в строку это своего рода редактирование. Но тогда возникает вопрос на тему - А если: а если мне потребуется еще и где-то подкорректировать строку, как перевести это свойство в true, все таки точки как таковой нет. Или это запрещенная комбинация?
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#4: 2008-10-13 18:24:46 ЛС | профиль | цитата
kamakama писал(а):
Или это запрещенная комбинация?

Нет, не запрещенная, но делается совсем по-другому
карма: 22

0
Ответов: 3851
Рейтинг: 159
#5: 2008-10-13 19:13:12 ЛС | профиль | цитата
[b]kamakama[/b], можно через Matrix изменять значения ячеек
Add(MainForm,8559275,105,77)
{
Width=525
link(onCreate,16712708:doEnum,[])
}
Add(StringTableMT,12733129,294,126)
{
Left=5
Top=45
Width=505
Height=175
Columns=#7:aaa=500|
Grid=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
SaveColProp=0
Point(onDblClick)
Point(doReplace)
Point(Matrix)
link(onClick,10811814:doEvent1,[(338,132)(338,202)])
link(Str,5222457:Var,[])
link(onDblClick,13468710:doPopupHere,[])
}
Add(StrList,10473108,161,35)
{
Strings=#4:1111|4:2222|4:3333|4:4444|4:5555|4:6666|4:7777|4:8888|4:9999|
}
Add(ArrayEnum,16712708,175,91)
{
link(onItem,11888807:doEvent1,[])
link(Array,10473108:Array,[])
}
Add(PopupMenu,13468710,357,126)
{
Menu=#7:удалить|8:добавить|
link(onClick,8396180:doEvent,[])
}
Add(IndexToChanel,8396180,406,126)
{
link(onEvent1,3451024:doData,[])
link(onEvent2,9375105:doData,[(454,139)(454,202)])
}
Add(DoData,3451024,469,126)
{
link(onEventData,12733129:doDelete,[(529,132)(529,74)(282,74)(282,146)])
link(Data,2161818:Var,[])
}
Add(GlobalVar,9071262,399,189)
{
Name="index"
}
Add(GlobalVar,2161818,469,91)
{
Name="index"
}
Add(FormatStr,3902727,294,273)
{
Mask="xxxx%2"
link(onFString,13434815:doValue,[])
link(Str2,12733129:Select,[])
}
Add(GlobalVar,13434815,357,273)
{
Name="str"
Data=String()
}
Add(GlobalVar,5222457,294,91)
{
Name="str"
Data=String()
}
Add(Hub,9695503,539,196)
{
link(onEvent1,3902727:doString,[(600,202)(600,240)(282,240)(282,279)])
link(onEvent2,12733129:doReplace,[(593,209)(593,185)(282,185)(282,167)])
}
Add(DoData,9375105,469,196)
{
link(onEventData,9695503:doEvent1,[])
link(Data,5694733:Var,[])
}
Add(GlobalVar,5694733,469,161)
{
Name="index"
}
Add(Hub,11888807,224,91)
{
link(onEvent1,5222457:doValue,[])
link(onEvent2,12733129:doAdd,[(269,104)(269,132)])
}
Add(Label,15591199,154,182)
{
Left=355
Top=235
Width=15
Height=17
Caption="str"
}
Add(Label,15292269,357,322)
{
Left=390
Top=235
link(Text,13434815:Var,[])
}
Add(Label,11612342,112,182)
{
Left=25
Top=235
Width=29
Height=17
Caption="index"
}
Add(Label,9618935,357,399)
{
Left=60
Top=235
Width=55
Caption=""
link(Text,4436578:Var,[])
}
Add(GlobalVar,4436578,357,364)
{
Name="index"
}
Add(Timer,6286126,259,322)
{
Interval=100
link(onTimer,9952426:doEvent1,[])
}
Add(Hub,9952426,301,322)
{
link(onEvent1,15292269:doText,[])
link(onEvent2,9618935:doText,[(345,335)(345,405)])
}
Add(Edit,2700763,567,301)
{
Left=165
Top=5
Width=75
}
Add(Button,1517663,455,308)
{
Left=240
Top=6
Width=75
Caption="заменить"
link(onClick,11651543:doWrite,[])
}
Add(MatrixRW,11651543,511,301)
{
link(onRead,2700763:doText,[])
link(Matrix,12733129:Matrix,[(517,236)(314,236)])
link(Value,2700763:Text,[(524,289)(548,289)(548,345)(573,345)])
link(X,451314:Value,[])
link(Y,9071262:Var,[(538,282)(405,282)])
}
Add(Hub,10811814,350,196)
{
link(onEvent1,9071262:doValue,[])
link(onEvent2,11651543:doRead,[(429,209)(429,307)])
}
Add(Memory,451314,525,245)
{
Default=Integer(0)
}
.
карма: 0
начавший
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#6: 2008-10-13 19:25:54 ЛС | профиль | цитата
Андрей. писал(а):
можно через Matrix изменять значения ячеек

Можно и через матрицу. Но для редактора существуют специальные события onBeforLineChange и onLineChange, а также специальная верхняя точка EndEdit
карма: 22

0
Ответов: 875
Рейтинг: 322
#7: 2008-10-14 14:45:38 ЛС | профиль | цитата
Продолжаю задавать вопросы. Сейчас включено мультивыделение. Должны удаляться стороки от первого выделенного до последнего выделенного индекса, но почему-то не удаляются. Где ошибка.code_10287.txt
карма: 1

0
файлы: 1code_10287.txt [3.2KB] [294]
Ответов: 3851
Рейтинг: 159
#8: 2008-10-14 15:43:54 ЛС | профиль | цитата
kamakama писал(а):
Должны удаляться стороки от первого выделенного до последнего выделенного индекса
Включи точку SelectArray..
карма: 0
начавший
0
Ответов: 875
Рейтинг: 322
#9: 2008-10-14 18:18:37 ЛС | профиль | цитата
И снова что не так, все время выдает от нулевого до четвертого индекса.code_10288.txt
карма: 1

0
файлы: 1code_10288.txt [2.6KB] [272]
Разработчик
Ответов: 26305
Рейтинг: 2146
#10: 2008-10-14 18:33:50 ЛС | профиль | цитата
kamakama, выбранному пункту в массиве соответствует 1

карма: 22

0
Ответов: 3851
Рейтинг: 159
#11: 2008-10-14 18:45:10 ЛС | профиль | цитата
1. удалять правильнее декрементом (ArrayEnum).
2. SelectArray имеет размер = размеру списка, а "1" в нём - это выделенный пункт.
3. Открой для себя Dubug (и его свойство Synchronize), ставится он из контекстного меню (правой кнопкой на линке).
карма: 0
начавший
1
Голосовали:nesco
Разработчик
Ответов: 26305
Рейтинг: 2146
#12: 2008-10-14 18:53:23 ЛС | профиль | цитата
Про Decrement ты правильно заметил, тогда правильнее будет так



Add(MainForm,10735212,77,140)
{
Width=398
Height=268
link(onCreate,16712708:doEnum,[])
}
Add(StringTableMT,12733129,322,189)
{
Left=10
Top=15
Width=225
Height=175
Columns=#7:aaa=200|
Redaction=0
MultiSelect=0
Grid=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
SaveColProp=0
Point(onDblClick)
Point(doReplace)
Point(Index)
Point(SelectArray)
Point(onChange)
link(onClick,5694733:doValue,[(475,195)(475,328)])
link(Str,5222457:Var,[])
}
Add(StrList,10473108,133,98)
{
Strings=#4:1111|4:2222|4:3333|4:4444|4:5555|4:6666|4:7777|4:8888|4:9999|
}
Add(ArrayEnum,16712708,147,154)
{
link(onItem,11888807:doEvent1,[])
link(Array,10473108:Array,[])
}
Add(PopupMenu,13468710,378,252)
{
Menu=#7:удалить|8:добавить|
link(onClick,8396180:doEvent,[])
}
Add(IndexToChanel,8396180,420,252)
{
link(onEvent1,1846565:doEnum,[])
link(onEvent2,9375105:doData,[(467,265)(467,349)])
}
Add(DoData,3451024,679,252)
{
link(onEventData,12733129:doDelete,[(780,258)(780,119)(310,119)(310,209)])
link(Data,6843246:Data1,[])
}
Add(FormatStr,3902727,322,343)
{
Mask="xxxx%2"
link(onFString,4050859:doEvent2,[(361,349)(361,280)(233,280)(233,167)])
link(Str2,12733129:Select,[])
}
Add(GlobalVar,5222457,322,154)
{
Name="str"
Data=String(0)
}
Add(Hub,9695503,525,343)
{
OutCount=4
link(onEvent1,3902727:doString,[(576,349)(576,386)(310,386)(310,349)])
link(onEvent2,12733129:doReplace,[(568,356)(568,310)(307,310)(307,230)])
}
Add(DoData,9375105,483,343)
{
link(onEventData,9695503:doEvent1,[])
link(Data,5694733:Var,[])
}
Add(GlobalVar,5694733,483,322)
{
Name="index"
Data=Integer(0)
}
Add(Hub,11888807,189,154)
{
link(onEvent1,4050859:doEvent1,[])
link(onEvent2,12733129:doAdd,[(227,167)(227,195)])
}
Add(Hub,4050859,245,154)
{
InCount=2
link(onEvent1,5222457:doValue,[])
}
Add(Timer,3219179,217,77)
{
Interval=10
link(onTimer,14048885:doReadKey,[])
}
Add(Keyboard,14048885,266,77)
{
Key=2
link(onReadKey,969818:doData,[])
}
Add(ChangeMon,969818,315,77)
{
link(onData,13468710:doPopupHere,[(364,83)(364,265)])
}
Add(ArrayEnum,1846565,490,252)
{
Type=1
link(onItem,2544112:doCompare,[])
link(Array,12733129:SelectArray,[(496,243)(349,243)])
}
Add(ListBox,7752760,721,189)
{
Left=275
Top=20
Height=170
link(Str,6843246:Data2,[(727,181)(692,181)])
}
Add(Hub,12491275,630,252)
{
link(onEvent1,3451024:doData,[])
link(onEvent2,7752760:doAdd,[(670,265)(670,195)])
}
Add(GetData,6843246,679,140)
{
link(Data,1846565:Index,[(685,128)(541,128)(541,296)(503,296)])
}
Add(Button,7212975,483,196)
{
Left=275
Top=205
link(onClick,7752760:doClear,[])
}
Add(If_else,2544112,567,252)
{
Op2=Integer(1)
link(onTrue,12491275:doEvent1,[])
}

карма: 22

0
Ответов: 875
Рейтинг: 322
#13: 2008-10-14 23:14:55 ЛС | профиль | цитата
Спасибо неско и Андрей. Последний код то что мне нужно. И самое интересное что если в коде 10274 редакцию перевести в труе то строку не добавиш а в последнем коде работает и так и этак, но после редактирования стороки выделение становится не синим а серым. Честно сказать эта МТ таблица сложный элемент а в справке о нем и его возможностях не густо. Но думаю с вашей помощью и какой-то матери потихоньку овладеем.
карма: 1

0
Разработчик
Ответов: 26305
Рейтинг: 2146
#14: 2008-10-14 23:55:43 ЛС | профиль | цитата
kamakama писал(а):
а в справке о нем и его возможностях не густо

Да не писал я на него справку, все руки не доходят

kamakama писал(а):
но после редактирования стороки выделение становится не синим а серым

Из-за потери фокуса
карма: 22

0
Ответов: 875
Рейтинг: 322
#15: 2008-10-15 22:03:27 ЛС | профиль | цитата
Продолжаю задавать вопросы. Добавляются стороки, появляется полоса прокрутки, но видимы только начальные стороки, как добиться что бы было видно последнию введенную строку.code_10297.txt
карма: 1

0
файлы: 1code_10297.txt [499B] [282]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)