Вверх ↑
Этот топик читают: Гость
Ответов: 16884
Рейтинг: 1239
#16: 2012-03-29 12:35:17 ЛС | профиль | цитата
Не только обозвать. Хоть горшком, ато иногда такие перлы попадаются с переключениями, что мама не горюй.
Вот так (примерно без HiAsm-a и без проверки )
#pas
procedure THISwitchPages.SetCount;
begin
SetLength(onSelect, Value);
FOutCount := Value;
end;
procedure THISwitchPages._work_doSelect0; // для Visible
var i, n:integer;
val:cardinal;
begin
val := ReadInteger(_data,_data_Data,0);
n := 1 shl val;
for i := 0 to FOutCount-1 do begin
if ((n shr i) and 1) = 1 then
_hi_OnEvent(onSelect[i],1)
else
_hi_OnEvent(onSelect[i],0);
end;
end;

procedure THISwitchPages._work_doSelect1; // для doBringToFront
var i:integer;
begin
i:= ReadInteger(_data,_data_Data,0);
if(i >= 0)and(i< FOutCount) then
_hi_onEvent(onSelect[i]);
end;

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26160
Рейтинг: 2127
#17: 2012-03-29 13:35:09 ЛС | профиль | цитата
Tad, у тебя чисто плавающая единица, а ведь иногда надо управлять несколькими включеними, как я привел, и как заложено, кстати, у Kazbek17. А плавающая единица -- это уже будет частный случай предложенного решения
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#18: 2012-03-29 16:32:39 ЛС | профиль | цитата
Ты меня извини, но тогда, как ты правильно заметил
nesco писал(а):
название SwitchPage не подходит этому компоненту
это уже не SwitchPage и даже не MultiSetValue, а скорее OnOffObj. Я же предложил именно SwitchPage - в полном соответствии с названием топика.
Т.е. управление страницами, дочерними формами, панелями и т.п.
А управление визуальными компонентами на странице - это совсем другая задача.
------------ Дoбавленo в 15.18:
И решать её нужно не через строки с ';' , а через перебор строки "0101100" простым
for i:=1 to Length[s] do _hi_onEvent(onSelect[i],str2int(s[i]));
Быстрее будет намного. ИМХО

P.S. Где-то есть у меня такая IC поискать надо.
------------ Дoбавленo в 16.32:
Вот то что у меня получилось с моей IC + идея Kazbek17.
selector.rar
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1selector.rar [1.4KB] [463]
Голосовали:MAV
Ответов: 704
Рейтинг: 44
#19: 2012-03-29 16:51:33 ЛС | профиль | цитата
Спасибо всем!!! Я как бы не селен в Kol и делфи, ну кое что немного понимаю, так вот я думаю что Nesco, Tad да и многие другие знатоки могут реализовать компонент, да и может где что подправят, я не против, а то что название не подходит, это уж второе дело, я думаю что этот компонент стоит разработать, поскольку проблем с TabControl есть, т.е переключение у него не удобное. Еще раз спасибо всем.
------------ Дoбавленo в 16.51:
Kazbek17 писал(а):
Вот то что у меня получилось с моей IC + идея Kazbek17.

Кстати Tad неплохой компонент у вас вышел.
карма: 0

0
Разработчик
Ответов: 26160
Рейтинг: 2127
#20: 2012-03-29 16:55:54 ЛС | профиль | цитата
Добавил на SVN компонент MultiSetParam по мотивам идеи от Kazbek17
карма: 22

1
Голосовали:MAV
Ответов: 16884
Рейтинг: 1239
#21: 2012-03-29 16:56:48 ЛС | профиль | цитата
Kazbek17 писал(а):
могут реализовать компонент
Kazbek17, не прибедняйся, и ты сможешь. Может не сразу, со временем, но сможешь. Единственный совет (крамольный) - чаще пользуйся IC, а от IC до компонента - два пальца.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26160
Рейтинг: 2127
#22: 2012-03-29 16:59:49 ЛС | профиль | цитата
Tad писал(а):
Быстрее будет намного. ИМХО

Да какой там быстрее, на 100 максимум точках. Все это существенно урежет функциональность
карма: 22

0
Ответов: 1061
Рейтинг: 22
#23: 2012-03-29 17:03:42 ЛС | профиль | цитата
А пример использования можно увидеть?
карма: 0

0
Ответов: 704
Рейтинг: 44
#24: 2012-03-29 17:03:52 ЛС | профиль | цитата
nesco писал(а):
MultiSetParam
Nesco извините меня за глупый вопрос а как этот компонент мне вытащить с SVN ?
Tad писал(а):
Kazbek17, не прибедняйся, и ты сможешь. Может не сразу, со временем, но сможешь. Единственный совет (крамольный) - чаще пользуйся IC, а от IC до компонента - два пальца.

Спасибо Tad А можно справочку с IC или ссылку буду благодарен.
карма: 0

0
Ответов: 1061
Рейтинг: 22
#25: 2012-03-29 17:06:32 ЛС | профиль | цитата
Kazbek17 писал(а):
извините меня за глупый вопрос а как этот компонент мне вытащить с SVN ?

Подпись у индиго всё решит!

Kazbek17 писал(а):
Tad А можно справочку с IC или ссылку буду благодарен.

lnLineCode
карма: 0

0
Ответов: 704
Рейтинг: 44
#26: 2012-03-29 17:10:16 ЛС | профиль | цитата
RinniX писал(а):
Подпись у индиго всё решит!
Не понял
RinniX писал(а):
lnLineCode
Это я уже читал,я думал может что новое есть.
карма: 0

0
Разработчик
Ответов: 26160
Рейтинг: 2127
#27: 2012-03-29 17:24:12 ЛС | профиль | цитата
RinniX писал(а):
А пример использования можно увидеть?

Тю!


Add(MultiSetParam,13305001,357,322)
{
Count=5
link(Parameters,12863145:Text,[])
link(onSet1,13344119:doEvent1,[(433,328)(433,216)])
link(onSet2,12393346:doEvent1,[(433,335)(433,265)])
link(onSet3,3111659:doEvent1,[])
link(onSet4,15775230:doEvent1,[(433,349)(433,419)])
link(onSet5,15450993:doEvent1,[(433,356)(433,496)])
}
Add(MainForm,7097383,224,259)
{
Width=267
Height=350
Caption="Пример"
Position=1
link(onCreate,5326446:doData,[])
}
Add(TabControl,11626105,259,322)
{
Left=5
Top=10
Width=240
Height=295
Tabs=#1:1|1:2|1:3|1:4|1:5|
Bitmaps=[]
link(onChange,4496350:doWork2,[])
}
Add(Label,38092,539,168)
{
Left=55
Top=160
Width=136
Height=22
Font=[Tahoma,11,1,0,204]
Visible=1
Caption="1-я страница"
Point(doVisible)
}
Add(Label,8805747,539,252)
{
Left=55
Top=160
Width=136
Height=22
Font=[Tahoma,11,1,0,204]
Visible=1
Caption="2-я страница"
Point(doVisible)
}
Add(Label,7931658,539,329)
{
Left=55
Top=160
Width=136
Height=22
Font=[Tahoma,11,1,0,204]
Visible=1
Caption="3-я страница"
Point(doVisible)
}
Add(Label,10903200,539,406)
{
Left=55
Top=160
Width=136
Height=22
Font=[Tahoma,11,1,0,204]
Visible=1
Caption="4-я страница"
Point(doVisible)
}
Add(Label,13224642,539,483)
{
Left=55
Top=160
Width=136
Height=22
Font=[Tahoma,11,1,0,204]
Visible=1
Caption="5-я страница"
Point(doVisible)
}
Add(DoData,5326446,280,273)
{
Data=Integer(0)
link(onEventData,4496350:doWork1,[(326,279)])
}
Add(HubEx,4496350,322,322)
{
link(onEvent,13305001:doSet,[])
}
Add(Hub,13344119,476,210)
{
link(onEvent1,38092:doVisible,[(514,216)(514,181)])
link(onEvent2,10049643:doVisible,[])
}
Add(Hub,12393346,476,259)
{
link(onEvent1,8805747:doVisible,[])
link(onEvent2,9928649:doVisible,[(514,272)(514,300)])
}
Add(Hub,3111659,483,336)
{
link(onEvent1,7931658:doVisible,[])
link(onEvent2,8430857:doVisible,[(515,349)(515,384)])
}
Add(Hub,15775230,476,413)
{
link(onEvent1,10903200:doVisible,[])
link(onEvent2,1955089:doVisible,[(511,426)(511,447)])
}
Add(Hub,15450993,476,490)
{
link(onEvent1,13224642:doVisible,[])
link(onEvent2,13927988:doVisible,[(518,503)(518,531)])
}
Add(VisualStrings,12863145,357,217)
{
Lines=#9:1;1;1;0;0|9:0;1;0;0;0|9:0;0;1;0;0|9:0;0;0;1;0|9:0;0;0;0;1|0:|
Width=60
Height=88
}
Add(CheckBox,10049643,539,210)
{
Left=55
Top=245
Width=115
Visible=1
Point(doVisible)
}
Add(RadioButton,9928649,539,287)
{
Left=55
Top=210
Width=115
Height=30
Visible=1
Point(doVisible)
}
Add(Edit,8430857,539,364)
{
Left=110
Top=190
Visible=1
Point(doVisible)
}
Add(ButtonRush,1955089,539,441)
{
Left=50
Top=270
Visible=1
Glyphs=[]
Point(doVisible)
}
Add(Button,13927988,539,525)
{
Left=55
Top=190
Visible=1
Caption="кнопка"
Point(doVisible)
}

------------ Дoбавленo в 17.24:
Kazbek17 писал(а):
Не понял

У Indigo в подписи стоит ссылка на последнее обнвление среды и пакетов, плюс куча всяких бонусов
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#28: 2012-03-29 17:26:03 ЛС | профиль | цитата
Kazbek17 писал(а):
как этот компонент мне вытащить с SVN
Kazbek17, вроде так
http://svn.hiasm.com/packs/delphi/code/hiMultiSetParam.pas
http://svn.hiasm.com/packs/delphi/conf/MultiSetParam.ini
http://svn.hiasm.com/packs/delphi/icon/MultiSetParam.ico
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1061
Рейтинг: 22
#29: 2012-03-29 20:38:01 ЛС | профиль | цитата
А вот так

code_27429.txt
мне кажется будет проще! Это мне Vovan подсказал!
карма: 0

0
файлы: 1code_27429.txt [2.3KB] [415]
Гость
Ответов: 17029
Рейтинг: 0
#30: 2012-03-29 20:57:56 правка | ЛС | профиль | цитата


Редактировалось 5 раз(а), последний 2021-06-22 14:52:07
карма: 0

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