Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Язык для описания логики на форме / 25 сообщений из 39, страница 1 из 2
07.11.2011, 18:13
    #37514883
ИринаВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Есть задача: допустим что на форме много ComboBox'ов ; когда юзер выбирает в списке строку, то у последующих ComboBox'ов меняются списки, а нек. из них выключаются (Enabled:=False). Как сделать, проблем нет.
Но хотим чтобы юзер (продвинутый, или админ) САМ описывал логику, на своих формах. Думали про таблицу, или про диаграмму (типо UML), но ИМХО не катит: тяжеловато, нужен спец. редактор. Поск. осн. объем описаний пойдет на тексты (списки), то текстовый скрипт ИМХО оптимален.
Те. нужен ЯЗЫК: тупой как грабли, абс. понятный для юзера , и + эфф. реализуемый, чтоб не городить целый движок. В языке нужны:
1) структура (каждый блок соотв. ComboBox'у)
2) строки текста ( для заполнения списков)
3) условия,
4) лог. переменые, оператор присваивания.
Размещение ComboBox'ов на форме описывать не надо, будет автоматически размещаться.

Рыла в инете, чтоб не изобретать велосиаед, ничо не нарыла. Буду признательна, за ссылки на аналоги.
...
Рейтинг: 0 / 0
07.11.2011, 21:27
    #37515167
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Делал как раз такой свой язык. Листы, Комбо, Опшион группы, Чек боксы и группы. На чистом си + своя оконная библиотека в досе. О-о-о-о-о-очень давно. Больше 20 лет назад. Не очень сложно и громоздко. Может быть, что сделать самому проще и быстрее, чем найти готовый.
...
Рейтинг: 0 / 0
07.11.2011, 22:55
    #37515246
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВНо хотим чтобы юзер (продвинутый, или админ) САМ описывал логику, на своих формах.
дайте ему javascript или Python
...
Рейтинг: 0 / 0
08.11.2011, 00:20
    #37515322
ИринаВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Программист-ЛюбительДелал как раз такой свой язык. Листы, Комбо, Опшион группы, Чек боксы и группы. На чистом си + своя оконная библиотека в досе. О-о-о-о-о-очень давно. Больше 20 лет назад. Не очень сложно и громоздко. Может быть, что сделать самому проще и быстрее, чем найти готовый.
Интресует именно язык, заточеный под такие задачи, а не готовая реализация. Если у Вас остался кусочек скрипта на Вашем, то не могли бы Вы выложить? Было бы очень интересно.
...
Рейтинг: 0 / 0
08.11.2011, 09:22
    #37515507
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Увы, исходники и файлы по этому проекту не сохранились...
МС-ДОС 3.3 :: 1мегабайт ОЗУ :: 40мегабайт диск :: ТурбоС...
...
Рейтинг: 0 / 0
08.11.2011, 20:27
    #37516946
ИринаВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Программист-Любитель , скажите плзз: свой язык Вы придуали сами? Искали ли аналоги? Реально похож ли Ваш язык на известные? Очень интересно Все, по этой теме.
...
Рейтинг: 0 / 0
08.11.2011, 21:38
    #37517046
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВ,

язык можно взять любой достаточно распространённый сготовым интерпретатором.Ваша задача в этом случае создать вменяемую объектную модель и предоставить её пользователю.

1С как пример (прошу не кидаться камнями)
...
Рейтинг: 0 / 0
08.11.2011, 23:49
    #37517198
ИринаВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Изопропил , не. Узкая задачка: конечный автомат, состояния в текстах. Зачем на этои вешать движок? И любой язык js/vbs/python/... не заточен под обработку текстов. Это "универсальные" языки, куча синтаксиса. Если в них просто, по условию, присвоить строчку текстовую , то будет языковых элементов, больше, чем сама эта строчка.
Хочу язык для обработки текстов.
...
Рейтинг: 0 / 0
09.11.2011, 00:55
    #37517261
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВЕсли в них просто, по условию, присвоить строчку текстовую , то будет языковых элементов, больше, чем сама эта строчка.$a = 'строчка' if условие; куда уж короче?
ИринаВХочу язык для обработки текстов.Есть такой: Practical Extraction and Report Language, но Вам наверное не понравится :)
...
Рейтинг: 0 / 0
09.11.2011, 08:31
    #37517421
I dont know
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВ,

XUL :)
...
Рейтинг: 0 / 0
09.11.2011, 09:47
    #37517517
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИзопропилИринаВНо хотим чтобы юзер (продвинутый, или админ) САМ описывал логику, на своих формах.
дайте ему javascript или Python

Меня всегда удивлял этот штамп. Зачем для описания форм JS или Pyton? По моему это как-раз то самое место, где декларативные языки рулят и бибикают :) Во вложении примерчик из одного уже закрытого проекта. Кстати, зависимые комбики там таки тоже есть. Если кому интересно, с удовольствием все прокомментирую.
...
Рейтинг: 0 / 0
09.11.2011, 13:20
    #37518033
ИринаВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Сэнкс. Если не нарою, ничего, то будем делать в XML, ясен пень. Но пока еще , есть время на мечты о высоком-светлом-чистом.
Perl не катит, вместе с JS/VBS. Тут ключвое понятие ЮЗЕР. У него своя область, и свои заморочки, хватает без наших.
...
Рейтинг: 0 / 0
09.11.2011, 14:12
    #37518226
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВСэнкс. Если не нарою, ничего, то будем делать в XML, ясен пень. Но пока еще , есть время на мечты о высоком-светлом-чистом.
Perl не катит, вместе с JS/VBS. Тут ключвое понятие ЮЗЕР. У него своя область, и свои заморочки, хватает без наших.

Тут все зависит от того на какие трудозатраты вы готовы пойти. Этот XML писался в рассчете на GUI-редактор, но выяснилось, что дешевле писать его руками. А так заложено было все и GUI и рефакторинг и многое другое :)

Кстати, обратите внимание на template. Они сильно укорачивают описание
...
Рейтинг: 0 / 0
09.11.2011, 14:13
    #37518228
Gluk (Kazan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Кстати и не XML это :)
...
Рейтинг: 0 / 0
10.11.2011, 05:09
    #37519377
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВ,

про реактивное программирование не слыхали? я думаю - норма вариант.
...
Рейтинг: 0 / 0
10.11.2011, 12:05
    #37519544
ИринаВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ZyK_BotaN , не. Как реализовать процесс, тут нет проблем, никаких. В любом языке, напр. в Delphi/C/..., любой. Проблема, чтоб юзер описывал, сам, понятным себе образом.
Можно в лоб написать, напр. опять в Delphi
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Box10.Clear;
 with  Box10.Items  do   begin 
   if  (Box1.Text='ВариантAA')  and  (Box3.Text=...) ...  then  Add('СтрокаXXX');
  .....
   if  (Box5.Text='ВариантBB')  or  (Box9.Text=...) ...  then  Add('СтрокаYYY');
  Box10.Enabled:=Count> 0 ;
 end ;
Что тут не так? ИМХО все не так. Должно быть типо этого (условно)
Код: plaintext
1.
2.
3.
4.
5.
Box10{
  (Box1=ИмяСостА and Box3=... ...) СтрокаXXX -> ИмяСостXXX
  .....
  (Box5=ИмяСостВ or Box9=... ...) СтрокаYYY -> ИмяСостYYY
}
Где ИмяСостXXX, и тд., это имя состояния понятное юзеру, кот. он придумал, для своих ситуаций.
Теперь. Можем придумать такой язык, лехко, за 30 мин. Но вопрос: как реальный юзер, не программер, его воспримет?
Я ищу язык, который проверен, на реальных людях. ИМХО такие задачи кем то делались уже, много раз.
...
Рейтинг: 0 / 0
10.11.2011, 12:12
    #37519569
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВZyK_BotaN , не. Как реализовать процесс, тут нет проблем, никаких. В любом языке, напр.

дак я и предлагаю. что-бы узер в стиле реактивного программирования описывал.

даем пользователю набор необходимых ф-й работы с потоком событий, плюс ф-й работы с примитивами(значениями компонентов)
вот для реализации счетчика пример.
есть на форме две кнопки и текстовое поле, мы хотим реализовать счетчик. текстовое поля изначально равно нулю, а кнопки делают инкремент и декремент соответственно, вот код, который напишет юзер.


собітияИнкремент = отобразить(кнопкаОдин.клик, инкримент)
собитияДекримент = отобразить(кнопкаДва.клик, декремент)
измененияСчетчика = объеденить(собитияинкремент, событияДекремент)
значениТекстовогоПоля = аккумулировать(0, измененияСчетчика
...
Рейтинг: 0 / 0
10.11.2011, 12:32
    #37519648
ИринаВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ZyK_BotaN , ИМХО нужно более высокий уровен, ориент. на юзера. "Не плодить сущности сверх необхдимого" (C)
Не надо инкремента-декремента-акумулятора. А надо типо:
Код: plaintext
1.
2.
Кнопка1->Счетчик+
Кнопка2->Счетчик-
И всио.
...
Рейтинг: 0 / 0
10.11.2011, 12:46
    #37519705
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
Писал однажды язык а ля 1С.
И возился с NANT и Cruise Control.
На мой взгляд, язык вплетенный в XML (например NANT-овский) - плохой язык.
А писать свой собственный язык - это около трех человекомесяцев. Это если редактор языка - больше чем просто работа в командной строке. И если по-старинке, по книге Свердлова например.
Кое-что изменилось в теме создания своих языков, но специально я не изучал.
Например Языковой инструментарий
...
Рейтинг: 0 / 0
10.11.2011, 15:27
    #37520175
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВZyK_BotaN , ИМХО нужно более высокий уровен, ориент. на юзера. "Не плодить сущности сверх необхдимого" (C)
Не надо инкремента-декремента-акумулятора. А надо типо:
Код: plaintext
1.
2.
Кнопка1->Счетчик+
Кнопка2->Счетчик-
И всио.

синтаксис - сути не меняет. но напиши тогда более высокоуровневое непротиворичивое описания этого языка. врядли оно выйдит проще чем я предложил.

суть такая, есть набор ф-й с потоками(очень ограничен: отобразить, аккумулировать, объеденить, и т д и т п.
и есть набор примитивных ф-й нат данными инремент, декремент.


главное правильно подобрать этот набор. ну и синтаксис красивый придумать.

в твоем примере счетчик изменяеться из разных мест, что более высокоуровневым пример не делает, а лишь делает неявным операцию объединения, а также отображения.

был тут один любитель неявных операций, РСтудио его звали...


мое мнение - от неявности суть не меняется, всеравно операции объеденения и отображения реализовать придется.
...
Рейтинг: 0 / 0
10.11.2011, 15:50
    #37520235
ИринаВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ZyK_BotaN , как то Вы мну ИМХО не понимаете . С реализацией ЧЕГО УГОДНО нет проблем, НИКАКИХ. Проблема в пользователях:
1) не умеют программироать, и не должны уметь
2) имеют другое восприятие и мышление, чем прогрммисты
3) заняты своими вопросами, должны находиться в своей нише, обычной.
Юзер не знает такого слова "инкремент" или "объединение". Тока понимает "пункт", "список", и тд, или "если в списке, указали пункт ... , то это значит ...". Вот такой нужен уровеню
Придумать язык, по СВОЕМУ вкусу, это я могу, тож нет проблемм. Но не уверена что юзеру это будет хорошо. Хочу проверенный.
...
Рейтинг: 0 / 0
10.11.2011, 16:05
    #37520275
ZyK_BotaN
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВZyK_BotaN , как то Вы мну ИМХО не понимаете . С реализацией ЧЕГО УГОДНО нет проблем, НИКАКИХ. Проблема в пользователях:
1) не умеют программироать, и не должны уметь
2) имеют другое восприятие и мышление, чем прогрммисты
3) заняты своими вопросами, должны находиться в своей нише, обычной.
Юзер не знает такого слова "инкремент" или "объединение". Тока понимает "пункт", "список", и тд, или "если в списке, указали пункт ... , то это значит ...". Вот такой нужен уровеню
Придумать язык, по СВОЕМУ вкусу, это я могу, тож нет проблемм. Но не уверена что юзеру это будет хорошо. Хочу проверенный.

научить юзера тому языку, что я предложил легко, нужно просто показать картинку, картинку скопировать в блокнотех, а то ничего не видно ))
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
----------      ---------------
| кнопка+ |  -> |заменяем на + 1  | --------
 ----------      ---------------          |            ------------
                                           ---------->|            |     -------------------      ---------
 ----------      ---------------                      | объединяем | -> | накапливаем, с '0'| -> | счетчик |
| кнопка- |  -> |заменяем на - 1  | ------------------->|            |     -------------------      ---------
 ----------      ---------------                       ------------

че тут простому юзеру не понять?
...
Рейтинг: 0 / 0
10.11.2011, 16:05
    #37520277
I dont know
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВ,

Может тогда подходы пересмотреть вообще к организации формы/системы, раз у вас столько диалогов и пользователь должен ими управляться. Может быть эту "кучу Checkbox-ов" можно чем-то заменить?(например таблицей) :)
...
Рейтинг: 0 / 0
10.11.2011, 17:52
    #37520583
belugin4
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
...
Рейтинг: 0 / 0
10.11.2011, 19:05
    #37520723
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Язык для описания логики на форме
ИринаВ1) не умеют программироать, и не должны уметь
2) имеют другое восприятие и мышление, чем прогрммисты
3) заняты своими вопросами, должны находиться в своей нише, обычнойВ такой постановке выход только один: гуи с сильной-сильной защитой от дурака.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Язык для описания логики на форме / 25 сообщений из 39, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]