Вверх ↑
Этот топик читают: Гость
Ответов: 1058
Рейтинг: 76
#1: 2011-01-26 08:34:51 ЛС | профиль | цитата
Здравствуйте Господа.
Нужен совет.
Можно ли реализовать средствами HiAsm добавление компонентов в панель по такому принципу:
Есть таблица с несколькими пунктами при нажатии на которые на панели будут появляться соответствующие компоненты.
Типа так:

Add(MainForm,51201,392,91)
{
Width=527
Height=200
Color=-16777197
Caption="Пример использования Menu"
link(onCreate,10649805:doEnum,[])
}
Add(ChildPanel,16150330,532,105)
{
}
BEGIN_SDK
Add(EditMulti,10711050,21,21)
{
WorkCount=1
Height=340
link(doWork1,2058346:doOperation,[(49,27)(49,132)])
}
Add(Panel,1819230,105,28)
{
Left=300
Width=220
Height=167
}
Add(Label,3236964,280,28)
{
Left=5
Top=10
Width=200
Height=20
Visible=1
Point(doVisible)
}
Add(Label,7388289,280,70)
{
Left=5
Top=40
Width=195
Height=20
Visible=1
Point(doVisible)
}
Add(Hub,10698384,245,35)
{
link(onEvent1,3236964:doVisible,[])
link(onEvent2,7388289:doVisible,[(269,48)(269,83)])
}
Add(Edit,15205644,280,119)
{
Left=5
Top=5
Width=205
Visible=1
Point(doVisible)
}
Add(Label,6692592,280,161)
{
Left=5
Top=35
Width=195
Height=20
Visible=1
Point(doVisible)
}
Add(Hub,14389159,238,133)
{
OutCount=3
link(onEvent1,15205644:doVisible,[])
link(onEvent2,6692592:doVisible,[(266,146)(266,174)])
link(onEvent3,10518411:doVisible,[(266,153)(266,251)])
}
Add(ComboBox,10518411,280,203)
{
Left=5
Top=65
Width=200
Height=21
Visible=1
Point(doVisible)
}
Add(Math,2058346,63,126)
{
OpType=9
Op1=1
ResultType=0
Default=1
link(onResult,10689961:doBits,[])
}
Add(IntToBits,10689961,140,126)
{
Count=3
Data_0=Integer(0)
Data_1=Integer(1)
link(onBit1,10698384:doEvent1,[(216,132)(216,41)])
link(onBit2,14389159:doEvent1,[])
link(onBit3,1031515:doVisible,[(226,146)(226,293)])
}
Add(CheckBox,1031515,280,280)
{
Left=5
Top=5
Width=205
Visible=1
Point(doVisible)
}
END_SDK
Add(StringTable,4191623,490,105)
{
Width=300
Height=165
Columns=#8:name=300|0:|
link(onClick,16150330:doWork1,[])
}
Add(ArrayEnum,10649805,441,105)
{
link(onItem,4191623:doAdd,[])
link(Array,7133126:Array,[])
}
Add(StrList,7133126,427,35)
{
Strings=#1:1|1:2|1:3|
}


Но сейчас заранее известно количество пунктов и компонентов и проблем нет. Мне же нужно чтобы компоненты загружались с файла.
К примеру в понедельник в таблице 3 пункта при нажатии на которые появляется одно количество компонентов , а в среду 10 пунктов с другим количеством компонентов. В принципе реализация может быть какой угодно но обязательно с использованием Edit, Label и ComboBox.
Конечно все ето дело надо сохранять и значения для Edit, Label и ComboBox надо брать с файла но с етим думаю разберусь, интересует сам процесс создания компонентов на панели. Возможно такое или нет?
карма: 0

0
файлы: 1code_22297.txt [2.1KB] [144]
Гость
Ответов: 17029
Рейтинг: 0
#2: 2011-01-26 09:51:16 правка | ЛС | профиль | цитата


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

0
Ответов: 1058
Рейтинг: 76
#3: 2011-01-26 12:44:04 ЛС | профиль | цитата
Хм, не очень то понятная картина, точнее не то что ожидал, но принцип ясен буду экспериментировать.
Спасибо +1
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#4: 2011-01-26 12:49:41 правка | ЛС | профиль | цитата


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

0
Ответов: 8930
Рейтинг: 823
#5: 2011-01-26 13:00:01 ЛС | профиль | цитата
178.123.119.180, коллега tom-it, ясно обрисовал: число элементов заранее неизвестно, надо применять динамические панели, как-то так: code_22301.txt
карма: 19

1
файлы: 1code_22301.txt [8.9KB] [378]
Голосовали:tom-it
Гость
Ответов: 17029
Рейтинг: 0
#6: 2011-01-26 13:08:53 правка | ЛС | профиль | цитата


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

0
Ответов: 8930
Рейтинг: 823
#7: 2011-01-26 13:11:49 ЛС | профиль | цитата
178.123.119.180,
tom-it писал(а):
значения для Edit, Label и ComboBox надо брать с файла но с етим думаю разберусь

карма: 19

0
Гость
Ответов: 17029
Рейтинг: 0
#8: 2011-01-26 13:23:24 правка | ЛС | профиль | цитата


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

0
Ответов: 8930
Рейтинг: 823
#9: 2011-01-26 13:34:51 ЛС | профиль | цитата
178.123.119.180, да ничем Ваш пример не плох, мы по разному поняли объяснения коллеги tom-it-а (Вот приедет барин, барин нас рассудит! )
карма: 19

0
Ответов: 1058
Рейтинг: 76
#10: 2011-01-26 15:25:22 ЛС | профиль | цитата
Господа соблюдайте спокойствие и уж тем более не ссорьтесь. Никакая схема не стоит крепкой мужской дружбы
Значит так. Сначала создается файл с нужными настройками а уж потом на основе записей создаются нужные компоненты в нужном количестве. Также заранее не известно скоко записей и со временем они изменяются.

Пример с панелью прокрутки более привлекательный, но на мой взгляд вызывает больше трудностей с запись/чтением,
вариант с динамическими панелями вызывает страх но всеже более универсален.

Но ето не все, пока экспериментировал пригляделся к панели "свойства" среды HiAsm и пришел к выводу, что зачем изобретать велосипед? Ведь вот же оно, то что нужно, токо глаза разуть. Ведь при кликах по компонентах в етой панели изменяется число полей ввода да и возможность выбора как
ComboBox тоже поддерживается.
Остался вопрос: можно ли реализовать в HiAsm что то на подобие етой панели?
Сейчас прицепился к StringTableMT, думаю на нем можно добиться подобного.
Но всеже если у кого есть предположения буду рад, да и от критики не откажусь. Ведь знания приобретаются методом проб и ошибок, высказывания о которых с удовольствием выслушаю.

карма: 0

0
Ответов: 4641
Рейтинг: 334
#11: 2011-01-26 15:37:02 ЛС | профиль | цитата
tom-it, все понятно, но ничего не понятно. может расскажешь зачем все это?
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 1058
Рейтинг: 76
#12: 2011-01-26 16:07:13 ЛС | профиль | цитата
Ravilr ответ намного банальней чем Вам могло показаться на первый взгляд.
Я уже упоминал на страницах форума что когдато занимался радиотехникой, сейчас же нет возможности работать по специальности, но всеже люблю я поковыряться в технике и подышать свежей канифолью.
Так вот за несколько лет собралось несколько десятков гигов разной справочной литературы, вот решил потихоньку все ето дело объединять,
сделать одну универсальную прогу для просмотра справочных характеристик, быстрого поиска по названиям, параметрам и т.п., вычисления сопротивлений, емкостей, индуктивностей и т.д. Короче все в одном.
Но вот беда, что количество параметров к примеру в полевых и биполярных транзисторах разное не говоря уже о других радио компонентах, вот и пришла в голову мысль чтобы для каждого типа деталей была общая панель но с разным количеством компонентов для навигации.
карма: 0

0
Разработчик
Ответов: 26163
Рейтинг: 2127
#13: 2011-01-26 16:07:28 ЛС | профиль | цитата
tom-it писал(а):
Но всеже если у кого есть предположения буду рад

Использовать динамический PolyMorphMulti

[flood]tom-it, мнохобукв ниасилил [/flood]
карма: 22

0
Гость
Ответов: 17029
Рейтинг: 0
#14: 2011-01-26 16:08:52 правка | ЛС | профиль | цитата


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

0
Ответов: 1058
Рейтинг: 76
#15: 2011-01-26 16:10:52 ЛС | профиль | цитата
178.123.119.180 писал(а):
Вместо StringTableMT пробуй лучше MTStrTbl

Мля, боюсь я етих МТ, боюсь до безумства
карма: 0

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