Вверх ↑
Этот топик читают: Гость
Ответов: 16
Рейтинг: -1
#1: 2008-03-05 15:24:14 ЛС | профиль | цитата
Доброго времени суток!
помогите разобраться с зап. и чтением данных в массиве
Если можно какой-нибудь не сложный примерчик для наглядности
Просто как считывать данные забитые мною в массив я понял
а вот как их туда записать и потом считать что-то туго
карма: 0

0
Разработчик
Ответов: 26322
Рейтинг: 2147
#2: 2008-03-05 15:31:46 ЛС | профиль | цитата
Zell, можно вот так писать в массив


Add(MainForm,2990946,91,161)
{
Left=20
Top=105
Width=347
}
Add(ListBox,11449578,140,161)
{
Left=10
Top=10
Width=135
Height=215
Strings=#4:AAAA|4:BBBB|4:CCCC|4:DDDD|4:EEEE|4:FFFF|4:GGGG|
}
Add(ListBox,8795414,217,161)
{
Left=155
Top=10
Width=145
Height=215
Strings=#4:1111|4:2222|4:3333|4:4444|4:5555|4:6666|4:7777|4:8888|4:9999|4:0000|
}
Add(Button,5935238,91,238)
{
Left=125
Top=240
link(onClick,15658650:doEnum,[])
}
Add(ArrayEnum,15658650,154,238)
{
link(onItem,14892405:doWrite,[])
link(Array,11449578:Array,[])
}
Add(ArrayRW,14892405,231,231)
{
link(Array,8795414:Array,[])
link(Index,15658650:Index,[(244,219)(206,219)(206,282)(167,282)])
}

карма: 22

0
Ответов: 16
Рейтинг: -1
#3: 2008-03-06 10:09:20 ЛС | профиль | цитата
code_8558.txt
------------ Дoбавленo:

Вот моя схема в ней уже реализрван выбор данных из массива и вывод их в соответствующие textbox
я дополнтельно создал еще 3-и textbox для создания новых данных
Так вот мне необходимо что бы у меня при создании нового материала горения я мог в 2-а других окошка забить спрвочные данные о температуре и удельном весе дыма
и в последствии что бы была возможность при выборе вновь созданного пункта в Combobox получить данные
карма: 0

0
файлы: 1code_8558.txt [2.7KB] [195]
Разработчик
Ответов: 26322
Рейтинг: 2147
#4: 2008-03-06 11:32:46 ЛС | профиль | цитата
Zell, что-то типа вот этого

Add(MainForm,1895565,140,112)
{
Left=20
Top=105
Width=960
Height=544
}
Add(IntegerArray,13370142,567,175)
{
IntArray=['0'=0,'0'=500,'0'=450,'0'=300,'0'=220]
}
Add(ArrayRW,2524837,567,259)
{
link(onRead,5707135:doValue,[])
link(Array,15566735:Var2,[(573,248)(573,248)])
}
Add(IntegerArray,14605750,567,301)
{
IntArray=['0'=0,'0'=4,'0'=5,'0'=6,'0'=7]
}
Add(Hub,8654052,448,259)
{
link(onEvent1,2524837:doRead,[])
link(onEvent2,2638493:doRead,[(525,272)(525,391)])
}
Add(ArrayRW,2638493,567,385)
{
link(onRead,2232415:doValue,[])
link(Array,8102328:Var2,[])
}
Add(Memory,2232415,616,385)
{
link(onData,15453670:doText,[])
}
Add(Memory,5707135,616,259)
{
link(onData,2564894:doText,[])
}
Add(ComboBox,5186030,357,252)
{
@Hint=#23:Выбор материала горения|
Left=20
Top=45
Width=320
Height=21
Strings=#5:-----|24:горение жидкости и газов|19:горение твердых тел|27:горение волокнистых веществ|44:горение бумаги,войлока(склады бумаги,архивы)|
Text="-----\n\rгорение жидкости и газов\n\rгорение твердых тел\n\rгорение волокнистых веществ\n\rгорение бумаги,войлока(склады бумаги,архивы)"
link(onClick,8654052:doEvent1,[])
}
Add(Edit,2564894,763,259)
{
Left=505
Top=100
Width=100
Text=""
}
Add(Edit,15453670,763,385)
{
Left=505
Top=50
Width=100
Text=""
}
Add(Label,10286483,420,112)
{
Left=495
Top=80
Width=113
Height=17
Caption="температура горения"
}
Add(Label,10282187,462,112)
{
Left=505
Top=25
Width=105
Height=17
Caption="удельный вес дыма"
}
Add(Edit,16559367,133,196)
{
Left=25
Top=215
Width=320
Text=""
}
Add(Label,4534205,378,112)
{
Left=135
Top=195
Width=97
Height=17
Caption="материал горения"
}
Add(Button,1281421,49,252)
{
Left=25
Top=295
Width=85
Height=40
Caption="Добавить"
link(onClick,12670593:doData,[])
}
Add(DoData,12670593,133,252)
{
link(onEventData,3185196:doEvent1,[])
link(Data,16559367:Text,[])
}
Add(Label,4560565,294,112)
{
Left=270
Top=150
Width=178
Height=20
Font=[MS Sans Serif,10,0,0,1]
Caption="Добавить новый материал"
}
Add(Edit,12114786,308,287)
{
Left=405
Top=265
Width=100
Text=""
DataType=2
}
Add(Edit,4000446,371,399)
{
Left=405
Top=215
Width=100
Text=""
DataType=2
}
Add(Label,492326,336,112)
{
Left=400
Top=240
Width=113
Height=17
Caption="температура горения"
}
Add(Label,9657232,504,112)
{
Left=400
Top=190
Width=105
Height=17
Caption="удельный вес дыма"
}
Add(ArrayRW,5536123,294,343)
{
link(Array,15566735:Var1,[(300,233)])
link(Value,12114786:Text,[])
}
Add(GetDataEx,15566735,560,224)
{
link(Data,13370142:Array,[])
}
Add(ArrayRW,15865605,357,455)
{
link(Array,8102328:Var1,[(363,359)])
link(Value,4000446:Text,[])
}
Add(GetDataEx,8102328,560,350)
{
link(Data,14605750:Array,[])
}
Add(Hub,3185196,189,252)
{
OutCount=3
link(onEvent1,5186030:doAdd,[])
link(onEvent2,5536123:doAdd,[(257,265)(257,363)])
link(onEvent3,15865605:doAdd,[(289,272)(289,475)])
}

карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#5: 2008-03-06 11:59:51 правка | ЛС | профиль | цитата


Редактировалось 1 раз(а), последний 2025-01-12 10:55:41
карма: 0

0
Ответов: 16
Рейтинг: -1
#6: 2008-03-06 15:51:36 ЛС | профиль | цитата
помогите плиз теперь при работе с массивами и элементом управления treeview
code_8560.txt
------------ Дoбавленo:

помогите плиз теперь при работе с массивами и элементом управления treeview

#sha
Add(MainForm,2096711,26,42)
{
Left=20
Top=105
Width=908
Height=550
}
Add(TreeView,11201536,558,245)
{
Left=30
Top=25
Width=145
Height=265
Icons=[]
Point(Index)
Point(doSelect)
link(onClick,6354254:doData,[(616,258)(616,440)])
}
Add(Edit,1278949,159,301)
{
@Hint=#19:Добавляет помещение|
Left=335
Top=105
Width=25
Text="1"
}
Add(Button,5083420,89,371)
{
Left=335
Top=150
Width=135
Height=25
Caption="Добавить"
link(onClick,14203681:doData,[])
}
Add(FormatStr,2314672,292,301)
{
DataCount=1
Mask="Помещение№ %1"
link(onFString,3118501:doEvent2,[(376,307)(376,235)])
}
Add(UpDown,969234,103,301)
{
Left=360
Top=105
Max=1000
Position=1
link(onPosition,1278949:doText,[])
}
Add(DoData,14203681,159,371)
{
link(onEventData,10873745:doEvent1,[])
link(Data,1278949:Text,[])
}
Add(Hub,10873745,243,371)
{
link(onEvent1,2314672:doString,[(283,377)(283,307)])
link(onEvent2,6848557:doAdd,[])
}
Add(ArrayRW,6848557,845,364)
{
@Hint=#27:Записывает элемент в массив|
link(Array,11016127:Data2,[(851,338)(809,338)])
link(Value,6056204:Text,[(865,338)(907,338)])
}
Add(Edit,6056204,901,280)
{
Left=395
Top=105
Width=75
Text=""
}
Add(IntegerArray,7622284,796,210)
{
IntArray=[]
}
Add(GetData,11016127,796,280)
{
link(Data,7622284:Array,[])
}
Add(ArrayRW,612930,768,434)
{
@Hint=#25:Находит элемент в массиве|
link(onRead,8084837:doValue,[])
link(Array,11016127:Data1,[(774,339)(802,339)])
}
Add(Memory,8084837,838,434)
{
link(onData,6056204:doText,[(886,440)(886,286)])
}
Add(DoData,6354254,642,434)
{
link(onEventData,612930:doRead,[])
link(Data,11201536:Index,[(648,366)(578,366)])
}
Add(UpDown,10521347,169,68)
{
Left=65
Top=350
Max=100
Min=-100
Position=1
link(onPosition,2359047:doText,[])
}
Add(Edit,2359047,239,68)
{
@Hint=#14:Добавляет этаж|
Left=30
Top=350
Width=35
Text="1"
}
Add(Hub,7101797,295,215)
{
link(onEvent1,7919297:doData,[(335,221)(335,186)])
link(onEvent2,3118501:doEvent1,[])
}
Add(DoData,7919297,386,180)
{
Data=Integer(-1)
link(onEventData,11201536:doSelect,[(533,186)(533,286)])
}
Add(Hub,3118501,428,222)
{
InCount=2
OutCount=1
link(onEvent1,11201536:doAdd,[(509,228)(509,251)])
}
Add(Button,254400,176,215)
{
Left=100
Top=350
Width=65
Caption="Добавить"
link(onClick,16394970:doString,[])
}
Add(FormatStr,16394970,239,215)
{
DataCount=1
Mask="Этаж№ %1"
link(onFString,7101797:doEvent1,[])
link(Str1,2359047:Text,[])
}
Add(Label,118523,14,126)
{
Left=80
Top=300
Width=38
Height=20
Font=[MS Sans Serif,10,0,0,1]
Caption="Этаж"
}
Add(Label,10630445,14,266)
{
Left=40
Top=325
Width=15
Height=17
Caption="№"
}
Add(Label,2885050,14,175)
{
Left=360
Top=45
Width=80
Height=20
Font=[MS Sans Serif,10,0,0,1]
Caption="Помещение"
}
Add(Label,9732190,14,217)
{
Left=345
Top=80
Width=15
Height=17
Caption="№"
}
Add(Label,15039751,14,77)
{
Left=410
Top=80
Width=51
Height=17
Caption="Площадь"
}


------------ Дoбавленo:

Так вот в чем проблемма когда добавляешь данные в разделе помещение а именно "№" потом "площадь"
потом кнопку добавить
все нормально в последствии он при выборе элемента в treeview выводит данные из массива в textbox
а вот если предварительно была созданна корневая ветка "Этаж№..." и потом начать создавать дочернюю ветку "помещение" по тому же алгоритму то "Болт" изменений нет
Что Делать ???
карма: 0

0
файлы: 1code_8560.txt [3KB] [191]
Ответов: 3851
Рейтинг: 159
#7: 2008-03-06 19:05:47 ЛС | профиль | цитата
Zell, тебя нигде не цитировали?
Из текста и схемы "не вполне" понятен замысел..
Что бросилось в глаза: когда что-то добавляешь в TreeView, желательно предварительно указать ему - куда это добавлять (указать строку). У тебя это не везде зделано, хотя быть может так было задумано - разбираться не стал - схема большая (локализуй проблему до 5-10 элементов)..
карма: 0
начавший
0
Ответов: 16
Рейтинг: -1
#8: 2008-03-06 19:17:53 ЛС | профиль | цитата
Андрей я наверное Вас не допонял что значит я не уточнил куда добавляется строка
пока задуманно так что корни "Этажи" а дочерняя ветка это помещение
Вот в чем проблемма
что если я не создаю конри"Этажи" а сразу "помещения" все работает т.е. данные заносятся в массив и потом в последтсвии события onclick выводятся в то же окно "Площадь"
------------ Дoбавленo:

Да и вообще не понятно как можно ограничить создание дочерних веток
т.е. Что бы у меня "помещения" не создавались в "помещениях"
а то получается что схема не стабильна
т.е. мне не нужно больше развитие иерархии дерева

карма: 0

0
Ответов: 5446
Рейтинг: 323
#9: 2008-03-09 16:15:09 ЛС | профиль | цитата
А кто мешает сделать проверку перед добавлением?
карма: 1

0
Ответов: 3851
Рейтинг: 159
#10: 2008-03-10 11:49:39 ЛС | профиль | цитата
Zell писал(а):
что значит я не уточнил куда добавляется строка
добавление строк в TreeView ты делаешь из двух разных веток кнопками "добавить" и только одна ветка предварительно указывает "куда" добавлять (подаёт "-1" на точку doSelect). К слову сказать - doSelect можно делать кликнув мышкой по нужной строчке, иногда такой вариант значительно проще.

Zell писал(а):
т.е. мне не нужно больше развитие иерархии дерева
я бы загнал всё руками и сохранил бы в файл.
карма: 0
начавший
0
Ответов: 8975
Рейтинг: 824
#11: 2008-03-10 13:42:19 ЛС | профиль | цитата
Андрей., я сделал коллеге Zell пример (в созданой им под именем Zell2 другой ветке "помогите плиз при работе с массивами и элементом управления treeview")
карма: 19

0
11
Сообщение
...
Прикрепленные файлы
(файлы не залиты)