Вверх ↑
Этот топик читают: Гость
Ответов: 175
Рейтинг: 10
#1: 2009-10-19 23:35:06 ЛС | профиль | цитата
Мой первый и очень простой компонент If_In
Проверяет вхождение аргумента arg в диапазон от Left до Right

http://www.hiasm.com/forum_serv.php?q=56&id=598

пример прилагается
------------ Дoбавленo в 00.11:
добавил иконку
------------ Дoбавленo в 09.28:
Dilma, заметил, что после заполнении даных в ECreator в поле Info вылетает Hiasm (acsess violation adress......), а после перезапуска hiasm такая же ошибка появляется при вставке своего компонента.
Из-за этого уже два раза переустанавливал компонент.
Это только у меня такая неприятность?
карма: 1

0
Ответов: 4641
Рейтинг: 334
#2: 2009-10-20 09:45:44 ЛС | профиль | цитата
а почему left right, а не 1 2 3 4 5 6 ? Установил сколько надо и вперед!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 175
Рейтинг: 10
#3: 2009-10-20 10:05:47 ЛС | профиль | цитата
----
карма: 1

0
Ответов: 4641
Рейтинг: 334
#4: 2009-10-20 10:18:00 ЛС | профиль | цитата
ну ты сравниваешь с данными left и right т.е 2 сравниваемых значения, а если у меня таких данных 10, то чего?
Сделай включаемые точки сверху, указал сколько надо точек (данных сравнить) и все.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 175
Рейтинг: 10
#5: 2009-10-20 10:23:22 ЛС | профиль | цитата
Ravilr, внимательно читай - ты сравниваешь не с двумя операторами, а проверяешь, находится ли arg в диапазоне от left до right. то есть при случае, когда нужно будет ставить два if_else, можно обойтись одним квадратиком
карма: 1

0
Ответов: 4641
Рейтинг: 334
#6: 2009-10-20 10:28:46 ЛС | профиль | цитата
a0005d26f писал(а):
объясни, что ты имеешь ввиду

вот

Add(MainForm,16129841,98,105)
{
Width=334
Height=246
}
Add(Edit,4361413,273,105)
{
Left=35
Top=40
Text="100"
}
Add(Edit,4552377,392,105)
{
Left=90
Top=40
Text="200"
}
Add(BitBtn,7892078,98,175)
{
Left=140
Top=110
Height=55
Caption="doCheck"
link(onClick,16538618:doEvent1,[])
}
Add(Edit,5700794,469,182)
{
Left=195
Top=65
Width=90
}
Add(DoData,2076938,392,182)
{
Data=String(true)
link(onEventData,5700794:doText,[])
}
Add(DoData,13628608,392,238)
{
Data=String(false)
link(onEventData,5700794:doText2,[(457,244)(457,195)])
}
Add(Edit,4427266,336,105)
{
Left=60
Top=105
Text="100"
}
Add(Label,12607721,280,0)
{
Left=35
Top=20
Width=18
Height=17
Caption="left"
}
Add(Label,5975164,315,0)
{
Left=90
Top=20
Width=24
Height=17
Caption="right"
}
Add(Label,5508748,385,0)
{
Left=195
Top=45
Width=29
Height=17
Caption="result"
}
Add(Label,4837856,350,0)
{
Left=60
Top=85
Width=48
Height=17
Caption="argument"
}
Add(If_else,11151094,329,182)
{
link(onTrue,2076938:doData,[])
link(Op1,13117522:Var,[(335,170)(315,170)(315,226)(279,226)])
link(Op2,4427266:Text,[])
}
Add(For,12435810,224,182)
{
Start=-1
End=1
link(onEvent,13117522:doIndex,[])
}
Add(GetIndexData,13117522,273,182)
{
Count=4
link(onIndex,11151094:doCompare,[])
link(Data1,4361413:Text,[])
link(Data2,4552377:Text,[(286,152)(398,152)])
}
Add(InfoTip,12743690,161,168)
{
Info=#
Width=211
Height=88
}
Add(Hub,16538618,175,175)
{
link(onEvent1,13628608:doData,[(202,181)(202,244)])
link(onEvent2,12435810:doFor,[])
}




а у тебя вот так

Add(MainForm,11763044,98,126)
{
Width=334
Height=246
}
Add(Edit,4361413,245,126)
{
Left=35
Top=40
Text="100"
}
Add(Edit,4552377,364,126)
{
Left=90
Top=40
Text="200"
}
Add(BitBtn,7892078,98,196)
{
Left=140
Top=110
Height=55
Caption="doCheck"
link(onClick,16538618:doEvent1,[])
}
Add(Edit,5700794,441,203)
{
Left=195
Top=65
Width=90
}
Add(DoData,2076938,371,203)
{
Data=String(true)
link(onEventData,5700794:doText,[])
}
Add(DoData,13628608,371,287)
{
Data=String(false)
link(onEventData,5700794:doText2,[(429,293)(429,216)])
}
Add(Edit,4427266,301,126)
{
Left=60
Top=105
Text="100"
}
Add(Label,12607721,252,21)
{
Left=35
Top=20
Width=18
Height=17
Caption="left"
}
Add(Label,5975164,287,21)
{
Left=90
Top=20
Width=24
Height=17
Caption="right"
}
Add(Label,5508748,357,21)
{
Left=195
Top=45
Width=29
Height=17
Caption="result"
}
Add(Label,4837856,322,21)
{
Left=60
Top=85
Width=48
Height=17
Caption="argument"
}
Add(If_else,11151094,301,203)
{
link(onTrue,13020512:doWork2,[])
link(Op2,4361413:Text,[(314,168)(251,168)])
}
Add(InfoTip,12743690,182,182)
{
Info=#
Width=176
Height=130
}
Add(Hub,16538618,196,196)
{
link(onEvent1,13628608:doData,[(222,202)(222,293)])
link(onEvent2,16595600:doData,[])
}
Add(If_else,5729082,308,252)
{
link(onTrue,13020512:doWork3,[(347,258)])
link(Op2,4552377:Text,[(321,169)(370,169)])
}
Add(HubEx,13020512,343,203)
{
link(onEvent,2076938:doData,[])
}
Add(DoData,16595600,231,203)
{
link(onEventData,4297568:doEvent1,[])
link(Data,4427266:Text,[(237,188)(307,188)])
}
Add(Hub,4297568,273,203)
{
link(onEvent1,11151094:doCompare,[])
link(onEvent2,5729082:doCompare,[(297,216)(297,258)])
}


карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2009-10-20 10:40:44 правка | ЛС | профиль | цитата


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

0
Ответов: 4641
Рейтинг: 334
#8: 2009-10-20 10:42:06 ЛС | профиль | цитата
пойми..новый элемент хорошо.....но когда он заменяет 2-3 элемента это не дело, а так для собственого удоблетворения.
А для дела, он не только должен заменить например 5 элементов, но и должен быть лучше, универсальней, удобней и интересней и востребованней.
------------ Дoбавленo в 10.43:
bzq-79-178-190-19.red.bez писал(а):
Ну и выбирай на свой вкус

причем тут мой? мой вкус ты видел!!
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#9: 2009-10-20 10:56:39 ЛС | профиль | цитата
И чем предложенное отличается вот от такого


Add(MainForm,2953706,154,154)
{
Width=284
Height=131
}
Add(Edit,10335565,252,154)
{
Left=10
Top=10
Width=125
Text="20"
DataType=2
}
Add(Edit,10985242,294,154)
{
Left=140
Top=10
Width=125
Text="50"
DataType=2
}
Add(Edit,10222338,210,154)
{
Left=10
Top=35
Width=125
Text="25"
DataType=2
}
Add(Button,15551742,154,217)
{
Left=100
Top=65
Width=90
Caption="_IsInBound"
link(onClick,11906283:doCalc,[])
}
Add(Label,14183859,385,182)
{
Left=140
Top=35
Width=125
Caption=""
AutoSize=1
Alignment=2
}
Add(MathParse,11906283,210,217)
{
DataCount=3
MathStr="(%1 >= %2) * (%1 <= %3) "
link(onResult,11784498:doGetString,[])
link(X1,10222338:Text,[])
link(X2,10335565:Text,[(223,201)(258,201)])
link(X3,10985242:Text,[(230,207)(300,207)])
}
Add(StrList,11784498,336,175)
{
Strings=#5:False|4:True|
Point(doGetString)
Point(onGetString)
link(onGetString,14183859:doText,[])
}
карма: 22

0
Ответов: 4641
Рейтинг: 334
#10: 2009-10-20 11:02:22 ЛС | профиль | цитата
nesco писал(а):
И чем

да ни чем. что мои, что твои, что его...только способом достижения цели.

кстати nesco, не каждый сходу может как ты (%1 >= %2) * (%1 <= %3)
у нас все таки квадратики, а потом формулы.
да и сравниваем мы букавки....
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Разработчик
Ответов: 26170
Рейтинг: 2127
#11: 2009-10-20 11:08:33 ЛС | профиль | цитата
Ravilr писал(а):
да и сравниваем мы букавки....

Аааа... Ну, тады -- Ой!
карма: 22

0
Ответов: 175
Рейтинг: 10
#12: 2009-10-20 11:28:11 ЛС | профиль | цитата
И чем предложенное отличается вот от такого

nesco, мизерностью кода

Мужики, вы все перевели в тему "Кто круче?"

Я не могу соперничать с Гуру, а просто попытался написать компонент.

Если кому-то он пригодится , я буду рад.

А пока работает он хреново.

И в форуме я задал по крайней мере два вопроса - и НИ ОДНОГО конструктивного ответа.

вот еще почва для размышлений

code_15302.txt
карма: 1

0
файлы: 1code_15302.txt [1.6KB] [398]
Ответов: 4641
Рейтинг: 334
#13: 2009-10-20 11:35:51 ЛС | профиль | цитата

a0005d26f писал(а):
вот еще почва для размышлений

и что?
------------ Дoбавленo в 11.38:
a0005d26f писал(а):
Мужики, вы все перевели в тему "Кто круче?"

причем тут это.... не в этом дело.

мое мнение.
зачем заменять два элемента - одним компонентом? Для собственного удовольствия.

но это мое мнение. Так что дерзай.
карма: 1
Время верстки: %cr_time% Текущее время: %time%
0
Администрация
Ответов: 15295
Рейтинг: 1519
#14: 2009-10-20 11:39:12 ЛС | профиль | цитата
a0005d26f писал(а):
заметил, что после заполнении даных в ECreator в поле Info вылетает Hiasm (acsess violation adress......), а после перезапуска hiasm такая же ошибка появляется при вставке своего компонента.

в отдельную тему с пошаговым описанием получения проблемы
карма: 27
0
Ответов: 175
Рейтинг: 10
#15: 2009-10-20 11:43:05 ЛС | профиль | цитата
Ravilr писал(а):
и что?

проведи медленно бегунок от начала до конца. у тебя корректно сравнивает?
карма: 1

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