Вверх ↑
Этот топик читают: Гость
Ответов: 157
Рейтинг: 1
#1: 2011-05-04 13:53:19 ЛС | профиль | цитата
А можно для каждого чекбокса выставить подсказку по названию автоматически, ну вот если у меня 200 чекбоксов как автоматизировать этот процесс ?
И еще такой вопрос можно в редакторе выровнять компоненты по горизонтали а втоматически ? В ручную долговато будет.

карма: 0

0
Ответов: 3889
Рейтинг: 362
#2: 2011-05-04 13:55:30 ЛС | профиль | цитата
Мартынов, при отсутствии каких-либо функций массовой вставкизамены, с sha всегда можно работать, как с текстом.
карма: 1

0
Разработчик
Ответов: 4698
Рейтинг: 426
#3: 2011-05-04 14:33:41 ЛС | профиль | цитата
Мартынов писал(а):
вот если у меня 200 чекбоксов

, то надо пересмотреть свой проект, так как там в 99% случаев можно применить динамические панели
карма: 10
0
Ответов: 157
Рейтинг: 1
#4: 2011-05-04 18:37:22 ЛС | профиль | цитата
1nd1g0 писал(а):
Мартынов, при отсутствии каких-либо функций массовой вставкизамены, с sha всегда можно работать, как с текстом.

Не ну не так же сурово.

Assasin писал(а):
динамические панели

За динамические панели я думал но их не получается использовать, в программе есть много значений и у каждого есть особая форматированная строка, динамически создать их не получится, или я не прав ?
Вообще в Hiasm было бы неплохо ввести массовые функции упорядочивание компонентами.
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#5: 2011-05-04 20:06:05 ЛС | профиль | цитата
Мартынов писал(а):
в программе есть много значений и у каждого есть особая форматированная строка,
Собери их в StrList и создавай дин.панели.
Пример строки в StrList: 123;100;Надпись;Особая форматированная строка и т.д.
123 - х вернего угла
100 - y верхнего угла
.....
Подаешь строку на ##Add, в панели разбиваешь строку компонентом MultiStrData и подаешь куда надо.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8926
Рейтинг: 823
#6: 2011-05-04 20:08:35 ЛС | профиль | цитата
Мартынов, вот-вот, как коллега Tad подсказывает code_23712.txt
карма: 19

0
файлы: 1code_23712.txt [3.6KB] [132]
Ответов: 157
Рейтинг: 1
#7: 2011-05-04 23:25:48 ЛС | профиль | цитата
Всем спасибо за подсказки, все понял этот метод будет проще.
------------ Дoбавленo в 23.25:
Леонид писал(а):
Мартынов, вот-вот, как коллега Tad подсказывает code_23712.txt

Замечательный пример, подскажите как весь масив подсказаок сохранить по очереди в один файл text.txt не понятно как сделать перебор по массиву созданных элементов.
карма: 0

0
Ответов: 463
Рейтинг: 9
#8: 2011-05-04 23:56:11 ЛС | профиль | цитата
Мартынов, попробуй сформулировать свою задачу понятней, может и не нужно столько чекбосов выводить?
Насколько могу догадаться то идет речь о каком-то списке с флажками? если да, то намного удобней пользоваться StringTableMT
тогда и управление компактней и все нагляднее вроде.
а из уже брать параметры для маски своего формата:
Add(MainForm,12857184,77,126)
{
Width=460
Height=340
link(onActivate,956490:doFor,[(145,132)(145,188)])
}
Add(StringTableMT,7917674,322,182)
{
Width=392
Height=355
Align=2
Columns=#5:check|8:номер=60|12:свойства=200|13:параметры=300|10:лабуда=200|22:последняя колонка=1000|
AllMT_AddCol=1
TabGrid=0
TabGridFrame=0
CheckBoxes=0
Grid=0
IconsCheck=[]
MiscIcons=[]
Icons=[]
Point(Index)
Point(CheckBoxes)
link(onClick,7259262:doData,[(362,188)(362,237)])
}
Add(For,956490,182,182)
{
End=200
link(onEvent,11567357:doString,[])
}
Add(FormatStr,11567357,245,182)
{
DataCount=6
Mask=";%1;%2;%3добавь;%4добавь;%5добавь"
Point(doMask)
link(onFString,7917674:doAdd,[])
}
Add(FormatStr,5080859,483,224)
{
DataCount=6
Mask=";%1;%2;%3добавь;%4добавь;%5добавь"
Point(doMask)
}
Add(DoData,7259262,378,231)
{
link(onEventData,5080859:doMask,[])
link(Data,7917674:Select,[(384,225)(335,225)])
}



code_23715.txt
карма: 0

0
файлы: 1code_23715.txt [671B] [124]
Ответов: 16884
Рейтинг: 1239
#9: 2011-05-04 23:58:57 ЛС | профиль | цитата
У тебя что подсказки уже есть ? Или sha готовый ?
Если хочешь выбрать из готового sha, то никаких проблем.
Make(delphi)
ver(4.04 build 185)
Add(MainForm,2953706,21,105)
{
}
Add(CheckBox,5480376,119,49)
{
Left=115
Top=45
Hint="Хинт 1"
}
Add(CheckBox,5662375,119,91)
{
Left=115
Top=90
Hint="Хинт 2"
}
Add(CheckBox,13873667,119,140)
{
Left=115
Top=140
Hint="Хинт 3"
}
распарсить готовый sha - тоже будешь спрашивать как ?Тут тебе полностью и координаты и хинты. и формируй динамически
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 157
Рейтинг: 1
#10: 2011-05-05 11:47:14 ЛС | профиль | цитата
ajaxii, идея интересная но если присмотреться то не слишком читабильно. Есть список Переменная=значение (иногда бывает так Переменная=значение=значение2) если все это делать в таблице выйдет ненаглядно потому как чек боксы это только часть айзберга их нужно отмечать не всегда а в таблице место под них будет разбито.

Tad, Если парсить да это не проблема для небольшого sha а если размер программы большой ? нужно найти подходящее место где хранятся нужные компоненты а потом вставлять в конец блока кострукцию AddHint(69,-30,48,13,Hint) это геморно лучше уже вручную. А вообще можно плагином эту функцию к Hiasm добавить ?
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#11: 2011-05-05 12:56:53 ЛС | профиль | цитата
Мартынов, товарищ не допонял (это про тебя) Если есть готовый sha файл (любой длинны), то составить список для динамики - дело 10-15 минут.
Вот если начинать с 0 (нет готового sha файла) тогда прийдется включать мозги.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 463
Рейтинг: 9
#12: 2011-05-05 13:01:01 ЛС | профиль | цитата
Мартынов, я привел один из примеров решения. Повторяю, если поставить людям задачу =объяснить что это за монстр с 200 чекбоксами, то они найдут решение поаккуратнее= меньше элементов, проще и легче код.
Может просто интерфейс и описалово выложить, тогда подкинут идею. Насколько я знаю, местные форумчане чужие идеи не воруют а наоборот делятся.

Мартынов писал(а):
Tad, Если парсить да это не проблема для небольшого sha а если размер программы большой ? нужно найти подходящее место где хранятся нужные компоненты а потом вставлять в конец блока кострукцию AddHint(69,-30,48,13,Hint) это геморно лучше уже вручную.

Ха, сами себе противоречите сударь, вручную посложнее будет
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#13: 2011-05-05 13:02:59 ЛС | профиль | цитата
А вообще, чтобы точно подсказать, нужно видеть твою схему.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1841
Рейтинг: 369
#14: 2011-05-05 13:09:18 ЛС | профиль | цитата
Мартынов писал(а):
если размер программы большой ? нужно найти подходящее место где хранятся нужные компоненты а потом вставлять в конец блока кострукцию AddHint(69,-30,48,13,Hint) это геморно лучше уже вручную.

Создай новый проект, вынеси чекбокс(ы) с шаблонным(и) хинтом(ами) и распарсивай,добовляй,изменяй что нужно... Потом скопируй чекбоксы из схемы и вставляй куда нужно
карма: 1
0
Ответов: 16884
Рейтинг: 1239
#15: 2011-05-05 13:15:24 ЛС | профиль | цитата
CriDos, если уже есть готовый sha файл то оттуда можно вынуть координаты и название чекбокса, хинт к нему и ещё много чего для динамической отрисовки.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)