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

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

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

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

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

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

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

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

про реактивное программирование не слыхали? я думаю - норма вариант.
...
Рейтинг: 0 / 0
Язык для описания логики на форме
    #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
Язык для описания логики на форме
    #37519569
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИринаВZyK_BotaN , не. Как реализовать процесс, тут нет проблем, никаких. В любом языке, напр.

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

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


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

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

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


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

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

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


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

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

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

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


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