Вверх ↑
Этот топик читают: Гость
Разработчик
Ответов: 26151
Рейтинг: 2127
#16: 2015-06-22 09:32:56 ЛС | профиль | цитата
Tad писал(а):
Штатными потребуется минимум 3 компонента. С нудным заполнением StrList или Array (ещё и алфавит знать нужно )

Какие 3 компонента, какие StrList-ы, если в своем компоненте ты применяешь функции штатного if_else
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#17: 2015-06-22 12:58:58 ЛС | профиль | цитата
Задача
Tad писал(а):
Что такое "Ю" ? Буква или нет ?
Схемку можно ?

nesco писал(а):
ты применяешь функции штатного if_else
Это что недостаток ?
В компоненте Case тоже применяются функции штатного if_else. Ну и что ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#18: 2015-06-22 17:26:53 ЛС | профиль | цитата
Tad писал(а):
Схемку можно ?


Add(MainForm,2953706,84,126)
{
}
Add(If_else,12700373,203,196)
{
Type=4
link(onTrue,9091150:doCompare,[])
link(onFalse,2248002:doWork3,[(263,209)(263,237)(327,237)])
link(Op1,7343483:Var2,[])
link(Op2,8554288:Text,[])
}
Add(LED,4328692,350,182)
{
Left=225
Top=10
}
Add(Edit,4295131,147,126)
{
Left=10
Top=10
Text="Ю"
}
Add(Edit,8554288,210,126)
{
Left=80
Top=10
Text="А"
}
Add(Edit,5671420,280,126)
{
Left=150
Top=10
Text="Я"
}
Add(Button,12089519,147,196)
{
Left=75
Top=45
TabOrder=-1
link(onClick,12700373:doCompare,[])
}
Add(If_else,9091150,273,196)
{
Type=3
link(onTrue,4328692:doOn,[])
link(onFalse,2248002:doWork2,[])
link(Op1,7343483:Var3,[(279,177)])
link(Op2,5671420:Text,[])
}
Add(HubEx,2248002,323,203)
{
Angle=3
link(onEvent,4328692:doOff,[(327,195)])
}
Add(GetDataEx,7343483,203,172)
{
Angle=3
link(Data,4295131:Text,[(153,177)])
}


Твой компонент -- это два if_else и один полукомпонент -- HubEx
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#19: 2015-06-22 18:42:13 ЛС | профиль | цитата
nesco писал(а):
Твой компонент -- это два if_else и один полукомпонент -- HubEx
Ну и в чем криминал ?
Зато мой один компонент делает то, что у тебя четыре (или три, как я и предсказывал) :
komp_4.png
И вообще, чего мы спорим ?
Я пользуюсь своим Between и доволен.
Будет он в пакете или нет - мне совершенно по барабану.

Вынес ссылку на компонент в "Компоненты". Кому нужно - скачает.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1komp_4.png [4.7KB] [382]
Разработчик
Ответов: 26151
Рейтинг: 2127
#20: 2015-06-22 19:10:05 ЛС | профиль | цитата
Tad писал(а):
И вообще, чего мы спорим ?

nesco писал(а):
Вот мультидиапазонный вариант был бы интересен

Потому, что лепить кучу компонентов для нескольких диапазонов представляется как-то нерентабельным
К тому же, я бы добавил возможность учитывать или не учитывать границы -- учитывать, не учитывать левую, не учитывать правую, не учитывать обе
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#21: 2015-06-22 19:41:15 ЛС | профиль | цитата
Насчет multi. Не всегда оно и нужно.
В одной программе - "подсчет знаков в произведении" (такой заказ был) стоит цепочка из 5 компонентов Between.
1. А..Я
2. а..я
3. A..Z
4. a..z
5. 0..9
Текст читался построчно, потом строка перебиралась посимвольно и, в зависимости от результата, каждый из 6-ти обрабатывался своей схемой.
Как решить мультидиапазонный в таком случае я не представляю. Разве что генерить раздельные Event-точки.

------------ Дoбавленo в 19.41:
К тому же, я бы добавил возможность учитывать или не учитывать границы -- учитывать, не учитывать левую, не учитывать правую, не учитывать обе

Учитывать - А..Я
Не учитывать левую Б..Я
Не учитывать правую А..Ю
Не учитывать обе Б..Ю
Ещё можно задать - А..Я, но не учитывать слева 10 и справа 15
nesco, ты меня удивил.
И так уже некоторые думать разучились. Хоть чуть-чуть оставлять нужно для работы мозгов. ИМХО
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 62
Рейтинг: 1
#22: 2015-06-22 20:14:57 ЛС | профиль | цитата
Вау, спасибо! Множество замечательных решений
карма: -1

0
Разработчик
Ответов: 26151
Рейтинг: 2127
#23: 2015-06-22 23:16:52 ЛС | профиль | цитата
Tad писал(а):
Текст читался построчно, потом строка перебиралась посимвольно и, в зависимости от результата, каждый из 6-ти обрабатывался своей схемой.

Это не тот случай, когда нужен мультидиапазон. Результат должен быть однозначным -- попадает значение в группу диапазонов или не попадает. Я пишу реальный случай, потому, что мне пришлось разрабатывать целую схему для этой реализации. И диапазонов у меня было не один или два, а под сотню и выше и их количество не должно было ничем ограничиваться
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#24: 2015-06-23 00:03:39 ЛС | профиль | цитата
nesco писал(а):
Я пишу реальный случай
Заметь, сам написал, "случай".
А для разового, того что просил ТС, multi совершенно не нужен.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#25: 2015-06-23 00:53:06 ЛС | профиль | цитата
Добавил, немного изменив, но код не трогал
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#26: 2015-06-23 08:32:20 ЛС | профиль | цитата
Зря поменял onTrue и onFalse местами.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#27: 2015-06-23 09:25:10 ЛС | профиль | цитата
Tad писал(а):
Зря поменял onTrue и onFalse местами.

Должно все соответствовать тому, что есть. У нас If_else имеет именно такое расположение точек. А почему ты их поменял, чем это обусловлено
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#28: 2015-06-23 13:24:27 ЛС | профиль | цитата
nesco писал(а):
Должно все соответствовать тому, что есть.
Смотрим Case (автор nesco у него спроси ).
Так же смотрим StrMask (автор Dilma).
Так же смотрим SearchInFile.
Что (я так думаю(с)) совершенно логично.
nesco писал(а):
А почему ты их поменял, чем это обусловлено ?
1. Нормально False=0, True=1
2. С моей точки зрения, цепочка Between на схеме смотрится лучше, чем лесенка.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26151
Рейтинг: 2127
#29: 2015-06-23 13:48:07 ЛС | профиль | цитата
Tad писал(а):
Смотрим

Да, но в if_else-то наоборот. А компонент Between больше относится к каскадному if_else
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#30: 2015-06-23 13:58:29 ЛС | профиль | цитата
nesco писал(а):
Да, но в if_else-то наоборот.
Будь моя воля, я бы и в If-else поменял
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)