|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Вот и я про тоже, но это не пункты, а разные допустимые значения для разных edit_box, которые вы предлагаете проверять одной библиотечной функцией.
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Поясняю, как использовать библиотечную функцию ru-dcl-check-tile-param для контроля ввода во множестве программ.
Библиотечная - это функция, которая уже находится в памяти, наподобие штатных. Т.е. она доступна всегда, в любой программе. Допустим, есть программа с диалоговым окном, в котором вводятся длина, ширина и отметка отверстия. Ввод описан в соответствующих action_tile: Код:
Контроль ввода спрятан в локальные функции _edit_*: Код:
Код:
|
|||
![]() |
|
||||
а так
Код:
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Можно полностью отказался от action_tile и пользоваться функцией отклика диалога, которая указывается третим аргументом функции new_dialog. А в ней уже обрабатывать события, используя переменные действия диалога. В таком варианте вопросов по формированию строки вообще не возникает.
|
||||
![]() |
|
||||
А не чего, что этот третий аргумент является строкой?
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
Ну, и попробуй, какой будет получаться результат, учитывая последовательное применение функций. А ведь в action_tile надо всего лишь передать имя в виде строки. Или выражение, которое надо выполнить. На других языках сделать это чрезвычайно сложно. |
|||
![]() |
|
||||
Последний раз редактировалось Do$, 15.04.2011 в 11:24. |
||||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
|
|||
![]() |
|
||||
Инженер LISP Регистрация: 11.05.2005
Минск
Сообщений: 6,996
|
ALFMario, приложи файл с примером где не работает
__________________
Как использовать код на Лиспе читаем здесь |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Повторюсь здесь... ну очень уж интересная задачка... Вот условие...
На железнодорожных путях стоит товарный состав состоящий из цистерн и товарных вагонов. Определить сколько цистерн в составе и первую максимальную по количеству цистерн цепочку, ее начало и длину. Состав может выглядеть так: '( 0 0 1 0 1 1 1 0 0 0 1 1 0 0 1 1 1 ... ) '( 0 0 1 0 1 1 1 0 0 0 1 2 1 1 0 0 1 1 1 ... ) общий случай, когда в нем не только цистерны и вагоны... где 1 - цистерны, 0 - вагоны 2 ... - еще чего нибудь прицепили Нужно решение именно на лиспе ... |
|||
![]() |
|
||||
Вполне простая задачка, другой вопрос как её максимально изящно решить в пару действий...
вот мой вариант: Код:
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,411
|
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
строю, ломаю Регистрация: 03.04.2008
Украина
Сообщений: 5,515
|
Я специально выбрал именно эту тему... так как интересовало решение именно на лиспе... воть
![]() Хотелось бы увидеть решение от Димы_ ... ... ... Disney, пасиб... и hwd тоже... Мое решение... 1. Сгруппировать вагоны и цистерны по спискам: '((0 0) (1) (0) ... ) 2. найти максимальный по длине, а заодно и его длину 3. отрезать его вместе с хвостом 4. собрать остальное и вычислить длину получившегося списка... Вопрос собственно в том, как объединить по п.1 Последний раз редактировалось gomer, 22.04.2011 в 21:52. |
|||
![]() |
|
||||
gomer, я тебе удивляюсь, там же совсем всё просто, или тебе рекурсии ни как покоя не дают?
Код:
__________________
Почему все вдруг становятся умными, когда уже не надо? |
||||
![]() |
|
||||
Программист-энтузиаст Регистрация: 17.07.2009
Воронеж
Сообщений: 575
|
У меня вот такой вариант. Без рекурсии правда, но и без вложенного цикла.
Код:
__________________
cadtools |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |