powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Графическое программирование для пользователя
42 сообщений из 42, показаны все 2 страниц
Графическое программирование для пользователя
    #32835458
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа, как Вы думаете, стоит ли продвинутому пользователю (но никоим образом не не программисту) давать в руки такое средство - продвинутую альтернативу скрипту (VBA). Как, по Вашему, если, скажем, в Офисе заменить VBA такими схемами, стало бы лучше для пользователя или хуже ? И примерчик маленького скрипта здесь есть .
Скрипты предполагаются в большинстве (80%) маленькие (до 30 строк), но их будет много.
Проще ли человеку, никогда не программировавшему, использовать такое средство, или выучить Basic ?
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32835531
Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще для чего?
Человеку, который никогда никаким образом не программировал и не знает что такое блок-схемы, алгоритмы и тому подобное не вижу смысла подпускать к какому-либо, даже "псевдопрограммрованию" вообще.

Andrey
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32836182
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и что юзер будет таким образом программировать? Бизнес-логику? У приятеля на работе один крендель предложил поставить юзерам кристалл-репортс, чтобы они сами могли какие угодно отчеты делать, юзера пожаловались на него и этого "изобретателя" выгнали. И я считаю очень правильно сделали.

------------------
Best regards, _bob
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32836298
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я же сказал : "продвинутые пользователи". Бабушек-одуванчиков в расчет не берем, их на рассматриваемой работе нет :-)
Crystal Reports вполне нормальная вещь, но у которой а) нет русификации (или я о ней не знаю), б) сложноват интерфейс и в) экспорт в Excel нас не устраивал (тщательно смотрелась 8-я версия, сейчас не в курсе). А так, вполне серьезно рассматривали. Понятно, что в этом средстве будут создавать отчеты только 5 наиболее продвинутых человек из 50, а остальные будут лишь пользоваться, но программистов можно реально разгрузить.

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

Мне-то интересно, как для непрограммиста - картинками рисовать удобнее или текстом писать ? Хотя подозреваю, надо на какой-то форум математиков этот вопрос бросить, вот только не знаю таких :-(
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32836585
Programmer_Ortodox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Серьезные вещи в виде плоских простых схем смоделировать никто не сможет, даже если вы ему будете платить 1000000$ в час или грозиться застрелить! Топология хоть сколько-нибудь простых вещей - многомерна! А вот программы, которые проектировались 20 лет назад, этого еще не знали...Ну а куда же их девать прикажете?
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32836655
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже думаю, что ползатель вряд ли сможет грмотно работать...
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32836687
Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто будет этим "продвинутым пользователям" растолковывать структуру вашей системы? А кто потом будет отслеживать изменения в тех репортах, которые эти пользователи наваяют, когда Вы внедрите очередное изменение в структуре? И тд. и тп. Подобных ньюансов полно.

Мы в свое время также рассматривали вопрос о предоставлении некоторого инструмента, но после первого же опыта отказались от идеи. И хотя инструмент, тем не менее, существует и мы его включали в поставку, он предлагается для использования только администраторам системы (у клиентов). При этом мы слагаем с себя полную ответственность за эти репорты.

Andrey
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837049
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Programmer_Ortodox:
>Топология хоть сколько-нибудь простых вещей - многомерна! Многомерна она, когда мы переходим к многомерному анализу, OLAP и т.п.
А типовой отчет в виде План/Факт/Остаток к многомерности относится очень ... опосредованно :-)
И инструмент дается именно для того, чтобы пользователи выполняли не особо сложные вещи в меру их разумения.

2Andrey:
>А кто будет этим "продвинутым пользователям" растолковывать структуру вашей системы? А кто потом будет отслеживать изменения в тех репортах, которые эти пользователи наваяют, когда Вы внедрите очередное изменение в структуре? И тд. и тп. Подобных нюансов полно.
Естественно !
Но, говоря про Crystal я-то имел в виду уже пользование "под надзором" программистов, это отдельная тема. Вообще-то все эти проблемы решаются, просто надо оповещать таких разработчиков отчетов об изменениях в структуре и надо очень осторожно относиться к изменениям структуры вообще !
Вот, например, в своей основной "задаче жизни" на Fox, 140 таблиц, 4Мб кода программ, мы, по достижению некоторого объема задачи, ПРАКТИЧЕСКИ ПЕРЕСТАЛИ ИЗМЕНЯТЬ структуру основных таблиц. Добавлять новые связи и таблицы - сколько угодно, после этого идет период стабилизации решения, пока к-во отчетов не слишком велико, но вот уж когда наваяна масса отчетности - извини, должен быть ОЧЕНЬ весомый аргумент, почему требуется переделка. И, честно говоря, обычно, переделки в позднем периоде -это признак некомпетентности архитектора системы.

>Мы в свое время также рассматривали вопрос о предоставлении некоторого инструмента, но после первого же опыта отказались от идеи.
а) Неверно выбран инструмент
б) Неверно выбрана целевая аудитория
Опять же б) сводится к а) :-)
Вот я и хотел в топике выяснить, а как к новому инструменту может народ отнестись...

>При этом мы слагаем с себя полную ответственность за эти репорты.
За сами репорты - естественно, но за инструмент-то ответственность сохраняется.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837323
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я правильно понял, задача - перевести пользователей на самообслуживание в части разработки отчетов.

Вопрос:
-- Зачем использовать средство программирования, если для подготовки 80% отчетов достаточно одного-двух SQL запросов?

Ну и вопрос по мотивам предыдущего:
-- Почему не использовать великолепно интегрирующуюся связку MS Query + MS Excel для создания отчетов?

Можете меня опровергнуть, конечно, но SQL куда проще в изучении, чем любой процедурный язык программирования, не говоря уж об ОО.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837488
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я конечно не знаю, что имеется ввиду под продвинутыми пользователями. По моему опыту - это те, которые могут работать с Excel. Непродвинутые - это те, которые могут кликнуть по одной..двум иконкам на рабочем столе и работать с жестко детерминированной программой, про которую предварительно долго рассказывали (да еще и периодически задавать вопросы).
С другой стороны, я видел людей, которые, получив компьютерную специальность, не могли написать ни строчки программы (независимо от языка), особенно, если сразу после института этим не занимались.
В связи с этим я оч-ч-чень сильно сомневаюсь, что пользователи смогут изучить хоть какой-то язык (что процедурный, что SQL). Для этого нужно иметь определенный склад ума. Я уж не говорю о том, что они, скорее всего, и не захотят. Зачем осваивать что-то новое, если за это не прибавят зарплату
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837498
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну вот, увели тему.
Речь изначально была не про отчеты, а именно о настройке работы кусочков бизнес-логики приложения.
Т.е. речь идет про скриптики типа :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub MyInit
  If Document.Debet='1234' Then
    Document.Type= 5 
  Else
    For i= 1  to Document.DetailsCount
      Document.Details(i).Cost= 1 
    Next
  End If
End Sub
Все совершенно условно. Необходимость скрипта не обсуждается, обсуждается инструмент.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837575
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Речь изначально была не про отчеты, а именно о настройке работы кусочков бизнес-логики приложения.

Мое мнение такое: сам подход, когда пользователи программируют приложение (бизнес-логику), порочен. Это - прямой путь к хаосу.
Тут никакой инструмент не спасет.

Думаю, не вызывает сомнений следующее:
Программист должен создавать программу (программировать), пользователь - работать с готовой программой .
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837624
Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Программист должен создавать программу (программировать), пользователь - работать с готовой программой.

Я и стал делать упор именно на отчеты, посколько это единственная вещь, которую можно доверить ну "оочень продвинутым пользователям".

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

Andrey
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837644
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отказываете Вы людям в праве на творчество ! А всякие Автокады, Офисы, Маткады и т.д. не образец ?
А то, что люди, не зная в принципе о СУБД ничего, делают таблицы в Excel почти без макросов на 100 листов (по 4-6 Мб. файл) (у жены такое на работе) ?
Видел как-то лизинг на Excel - порядка 15 связанных многолистовых таблиц, созданный человеком, ничего не знавшим о программировании.
Несколько мед.систем автоматизации видел (и даже одну весьма приличную), которые врачи "без отрыва от производства" делали.
Так что Вы народ недооцениваете, кому надо - все освоит ! Просто большинство пользователей - серая масса, тупо смотрящая в экран, и это развращает и расхолаживает программистов :-(

У меня в данном случае весьма узкоспециализированное приложение, где отвественный человек сам должен определить, какое решение по профильной области выбрать, вот только вживую физически это сделать весьма сложно, посему для принятия решения будут писаться скрипты. А готовых моделей нету, решения эвристические, увы...
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837710
Фотография Jimmy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFF

Отказываете Вы людям в праве на творчество !

Меня жена в эти выходные меня просто "переехала" насчет того, что у крана (водопроводного) в кухне напор слабый.
Так вот, как "пользователь" крана мне творчество по его разборке и наладке нафиг не сдалось - предложил вызвать "программиста" сантехника :0)))

ЗЫ Не призываю всех отказаться от творчества, отнюдь. Это - мой частный случай.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32837751
Andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JimmyOFF
Меня жена в эти выходные меня просто "переехала" насчет того, что у крана (водопроводного) в кухне напор слабый.
Так вот, как "пользователь" крана мне творчество по его разборке и наладке нафиг не сдалось - предложил вызвать "программиста" сантехника :0)))


оххх... как знакомо :))

и между прочим в Автокадах и маткадах работают не просто "продвинутые пользователи", а специалисты в данных областях. Наверняка, если я сам залезу в Автокад, то буду выглядеть примерно так же, как пользователь с моим построителем отчетов. Так что пущай каждый занимается своим делом.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32838604
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mik ProkoshinОтказываете Вы людям в праве на творчество ! А всякие Автокады, Офисы, Маткады и т.д. не образец ?
А то, что люди, не зная в принципе о СУБД ничего, делают таблицы в Excel почти без макросов на 100 листов (по 4-6 Мб. файл) (у жены такое на работе) ?
Видел как-то лизинг на Excel - порядка 15 связанных многолистовых таблиц, созданный человеком, ничего не знавшим о программировании.
Несколько мед.систем автоматизации видел (и даже одну весьма приличную), которые врачи "без отрыва от производства" делали.
Так что Вы народ недооцениваете, кому надо - все освоит ! Просто большинство пользователей - серая масса, тупо смотрящая в экран, и это развращает и расхолаживает программистов :-(

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

Mik, я вас уверяю, что этот ответственный человек с гораздо большим успехом проанализирует данные, выгруженные в excel тем же excel'ем. А если Вы хотите дать пользователям писать скрипты для системы принятия решений... по-моему дешевле будет прииставить к этому ответственному человеку программера (на соседнем форуме присутствуют вакансии, где ищут людей, которые будут делать сложные выборки).

по существу вопроса: программировать картиночками чуть-чуть проще, но гораздо более неудобно, так что раз уж писать скрипты, то по-человечески (в коде)
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32839345
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наконец-то первый отклик по существу !
Правда не очень понятно, как это " программировать картиночками чуть-чуть проще, но гораздо более неудобно " ? Так проще или неудобно ?

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

Может кто математиков/физиков форумы знает ?
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32839632
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mik ProkoshinМожет кто математиков/физиков форумы знает ?Самих форумов я не знаю, но знаю волшебное средство GOOGLE в котором надо сказать волшебную фразу "математический форум"
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32839638
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пользователю - ни в коем случае, а вот сотруднику службы поддержки (но не программисту) - безусловно. Если конечно это средство позволит охватить достаточно широкий круг решаемых задач.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32841573
DataDigger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вижу такое применение данному средству.
У клиентов стоит система, в которой есть такая надстройка для написания скриптов, корректирующих отчеты.
Вдруг клиенту срочно понадобилось что-то в каком-то отчете срочно поменять.
- Нам нужно, чтобы в третьей колонке сумма выводилась 16 шрифтом, в пятой формат отбражения был в % и чтоб была еще дополнительная колонка, в которой...
Человек, зная структуру базы, говорит - зайдите туда-то, вытащите оттуда-то то-то. Если речь идет о 3-5 операциях, то по телефону это сделать - нет проблем.
5 минут - и проблема решена.
Клиент экономит средства на наем квалифицированных сотрудников и время.
Контора получает с этого дивидент, поделившись мозгами своего сотрудника.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32842293
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mik ProkoshinНаконец-то первый отклик по существу !
Правда не очень понятно, как это " программировать картиночками чуть-чуть проще, но гораздо более неудобно " ? Так проще или неудобно ?



и проще и неудобно, как пример могу привести построитель представлений в EM для MSSQLServer (такая же самая графическая штуковина, как у вас, только для других целей), представления там писать проще, нагляднее, но только простенькие, т.к. "руки связаны" графическим интерфейсом, отсюда и неудобство
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32846825
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. продвинутый пользователь (например бухгалтер 1с 6.0) легко залезает в в ее нутро и правит типовые операции.
2. продвинутый пользователь легко может поправить формат готового отчета (ну там шрифты как ие или даже довавить поляну путем выбора из списка)

3. Продвинутый разработчик может описать всю свою прогу (инфо_модель) в собственных терминах (списках) и дать юзеру МАСТЕР постороения Отчета (такой как в акцесс) ПРИ условии что любая выборка строится по одному представлению (таблице или вью)

4. продвинутый разработчик может дать инструмент юзеру_админу, что будет ваять sql_предложения ( в текстовом редакторе например) и кидать из уже в что описано в п.3

5. Для запуска модулей системы в различной последовательности с заданными параметрами и обменом параметрвми - очень легко создать ...ИНТЕРПРЕТАТОР сценарием, где сценарий - это не VB, а простой текстовый файл типа

номер строки команда параметры
------------- -------- ----------
1. ПрисвоитьЗначение, ИмяРегистра, Валуе
2. ОткрытьФорму, ИмяФормы, ИмяФильтра,
3. ВызватьФорму
4. ВызватьПрограмму (любой *.EXE) что делает че угодно
5. АнализРегистра, GOTO строка сценария
6. ВызватьОтчет, ИмяОтчета, ИмяФильтра
......

Достаточно все иметь 6-10 команд, все можно ими окрутить, если к томуже ваши ИмяРегистра - есть нечто шаред_переменных, и Модули - могут САМИ знать их значения (описано в теле модуля) или в списке_параметров_модуля

Нотация должна быть предельно простой, не как в ООП.

Я так говорвю потому что делал так - постоил свою "СУБД" (давно) Где, разрабюотка велась в два смычка - (Модули + Генераторы) = Интерпритаторы моих файлов описания ....форм, отчетов, фильтров, сценариев, вычислений...
так - чтобы ЛЮБАЯ прога могла быть изменена БЕЗ ПЕРЕКОМПИЛЯЦИИ.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32847759
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UK0IAI Интерпритаторы моих файлов описания ....форм, отчетов, фильтров, сценариев, вычислений...
так - чтобы ЛЮБАЯ прога могла быть изменена БЕЗ ПЕРЕКОМПИЛЯЦИИ. Наверное это OFF для данной темы, но меня всегда удивляло, когда люди подобные решения выдают за некое огромное достижение.
Когда программирование сводится к программированию гигантских INI файлов. Как правило, всем этим делом заправляет "суперуниверсальный движек" написаный только для того, чтобы написать "суперуниверсальный движек"

А на вопрос - "а смысл ?" следует ответ "ну как же, чтобы ЛЮБАЯ прога могла быть изменена БЕЗ ПЕРЕКОМПИЛЯЦИИ"

Мое мнение такое: подобный подход - это искусство ради искусства. Тоже самое думаю и о теме "Графическое программирование для пользователя"
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32849573
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Один
Наверное это OFF для данной темы, но меня всегда удивляло, когда люди подобные решения выдают за некое огромное достижение.
Когда программирование


Согласен целиком и полностью. Просто это был...1991 г, во времена РС 286 и dBASE... И было просто жутко интересно - самим нечто подобное наваять.

Система...управл..базами данных... включает в себя Генератор БД, Генератор Экранных форм, Генератор Отчетов, Меню...

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

Короче, все это очень интересно, но для промышленного использования требуется вложение ОЧЕНЬ большого труда. Особенно, если это для Юзера.

Но ничего страшного здесь нет. Начать и закончить.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32849951
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UK0IAI И было просто жутко интересно - самим нечто подобное наваять.
Ага, я это и имел ввиду, когда писал <Как правило, всем этим делом заправляет "суперуниверсальный движек" написаный только для того, чтобы написать "суперуниверсальный движек">
Все мы были молодыми "крутыми програмерами", которые стремились поразить мир. Я тоже в свое время Paradox узлом завязывал, какой-то генератор форм на нем делал или отчетов, уже и не помню.

Просто недавно зашел к знакомым "на фирму", решили они похвастаться своей немереной крутостью.
- "У нас вся система основана на XML" (многозначительный взгляд)
- "Это как ?"
- "Ну вот смотри, настройки всех форм и меню хранятся в XML " (многозначительный взгляд) " и изменить весь интерфейс можно без перекомпиляции"
- "И что ?"
- "Ну как же, изменить весь интерфейс можно без перекомпиляции"

Как водится, всем этим заведует Engine, написаный местным гением, который при старте втягивает в себя xml и разрисовывает интерфейс. Само собой "гений" занят исключительно совершенствованием своего engin-а и прикручиванием к нему очередной фичи, которая кому-то понравилось. Чтобы все было "суперуниверсально"

Engine называется "корпоративной средой разработки", а гений "ведущим системным программистом"
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32850061
Фотография _bob
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
однажды в нашей стране один крупный партийный чиновник похвалил злаковое растение "кукуруза", после чего его начали пытаться выращивать даже за полярным кругом, доведя хорошую идею до маразма, нечто похожее происходит сейчас с XML, который пытаются всунуть во все дыры, лишь бы всунулся

хотел бы я посмотреть как этот деятель с помощью XML будет НАРАЩИВАТЬ функционал без перекомпиляции

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

а вот считывать из базы структуру меню, из базы же выгружать dll-ки, содержащие дополнительный функционал - вот это по нашему
------------------
Best regards, _bob
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32850544
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_bob
хотел бы я посмотреть как этот деятель с помощью XML будет НАРАЩИВАТЬ функционал без перекомпиляции

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

а вот считывать из базы структуру меню, из базы же выгружать dll-ки, содержащие дополнительный функционал - вот это по нашему
------------------
Best regards, _bob

Ага, "завелись" ....без_перекомпиляции...компиляции... А почему бы и нет?
Собственно, Engine - это что?. Ну, то что читает ресурсы и предоставляет интерфейс + обработчик событий. Например - Oracle Developor. Читает описания форм и интерпретирут их. Круто и мощно. Щас поясню, ту самую светлую идею, что однажды нас завела...

1. Дано. Есть язык высокого уровня, в который уже встроен движок (ISAM) по работе с базами данных. (открыть, закрыт, найти...откатить).

2. Есть (уже есть) крутая библиотека полномаштабного оконного интерфейса символьного режима (окна рисует, айтемы в нем, клики ловит и вообще - она многооконная). ну в общем - есть фича, разобрались однако (она в DEMO в скриптах поставлена).

3. Что еще нужно?
1. Делаем микро_CASE. То бишь в "трех" таблах БД описываем инфо_модель приложения. ОК - описали.

2. Хотим формочку в проге создать. в первый раз все скриптами...чисто в теле проги описано. Ха - да этот же скрипт на 90% УНИВЕРСАЛЬНЫЙ!!!!.
Смотрим на форму - что там за свойства?...размер, цвет, рамка,....
Смотрим на айтем - что там за свойства? ..позиция, цвет, длина, тип данных...ИМЯ ПОЛЯ БД... ба!! да мы в двух полянах еще все опишем (код триггрера_обработчика_события... + свойства....куда че и как пишем (откуда читаем и пишем)... Короче, таких СВОЙСТВ всего штук этак 15.

Тупо ...в текстовом файле, лепим свою модель формы (ну там все по ключам,все там прописано...можно в brife руками поправить...)

И строим движок - открытия файла описания формы и отражения на экране ее айтемов.

И строим движок - исполнения типовых событий (типа...закрыть форму+ записать валуе в глобал_регистры....или просто закрыть форму....или просто вызвать новую форму_сценарий...)

Ну в общем - творческое это дело. Понятно - это все чисто абзац. Чисто - прикол..вроде как. Но что выходит в итоге?

Для нового проекта БД (изменения структыры БД) - да, надо кнопкой..батничек запустить....компилировать и линковать. (ибо как не крути...а структура БД ...она в "инклюдах" объявлена...как переменные пользовательского типа. ПЛЮС всего ТРИ процедуры (что на автомате скриптуются - Открытия таблицы БД, Чтения из данных строки таблицы в ...символьный массив, Записи в строку таблицы...данных из символьного массива...)

И все - система готова к работе. Например - сама даст интерфейс для правки строк таблиц...(на лету)...

Теперь берем то, что теперь тулзами зовется (ну генераторы наши ту бишь). И все ...мышою ...рисуем.

и ВСЕ.

Ага, форма готова, ...а нужен сложный расчет. Ну типа что посчитать, себестоимость тут на пример. Уходим в среду языка высокого уровня, в ней - пишем скрипту....что все считает...КОМПИЛИРУЕМ ....и из Формы - мы ее уже "Позовем". А если расчетик простой (ну плюс минус прибавить) - то вот нам простейший прикладной арифмометер....когда этапы расчета в файле ресурсов описаны....файлик читаем, расчет получаем...


Ну ладно, это все треп.

по хорошему интерфейс действительно программно рисуется, из БД берутся настройки конкретного пользователя, что не нужно/запрещено - становится невидимо, и это - нормальная практика, т.е. многозначительных взглядов нет
Кстати - про интерфейс -что программно рисуется - ЭТО ОЧЕНЬ ЛЕГКО, я ВАС УВЕРЯЮ. Если один раз все продумать - что есть Экранная Форма (из чего она состоит ....кстати, это все в 30 праметров "влезет").

И вот одна фишка, так сказать на последок.

Майн_модуль вызвал процедуры - типа
1. Читать сценарий, выполнить строку сценария.
2. Если в сроке вызов формы - Отрыть форму и в ней работать.

...работаем в форме и вдруг надо повер старой - еще форму открыть. (и вернуться потом все обратно). РЕКУРСИЯ Сэр. Тупо все что было - в стек и вызов из Майна - процы еще раз "Отрыть форму и в ней работать". Короче, благодаря тому что все "коренные" процедуры могли САМИ СЕБЯ по рекурсии вызывать - это было чисто фантастик. САМО все работало.... однако уже лет этак 13 в работе...в цехах все живое ищо...












.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32850579
Один
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 UK0IAI
А почему бы и нет? ....
Кстати - про интерфейс -что программно рисуется - ЭТО ОЧЕНЬ ЛЕГКО, я ВАС УВЕРЯЮ
Да фигня вопрос.
"переписать этот кусок займет один день, не больше. Да, не больше. Ну, в крайнем случае, два, если учесть все риски" (С)

Вы не пробовали когда нибудь автоматически расставлять Tab Order в формах ?

Это - вообще не задача, а так, семечки. На час работы. Слева направо, сверху вниз. На вход передается форма.

ИМХО: Автопостроение форм оправдано для задач уровня "редактирование справочников вида ID, Наименование"
Все.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32850909
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Один2 UK0IAI
ИМХО: Автопостроение форм оправдано для задач уровня "редактирование справочников вида ID, Наименование"
Все.

Замечу (для автора топика если он еще здесь), что в 93 г, "лично" внедрял "крутую" систему бухучета "Турбосальдо". И не переставал восхищаться - братцы, там все, ВСЕ формы ввода данных + табулеграммы - все АВТОПОСТРОЕНИЕМ делалось. То есть, все формы описаны в журнале БД - и 99% всех бухгалтерских документов_операций - все интерфейсы - они системой САМИ строились. И это даже было удобно, однако. (интерфейс массового ввода по полной программе). Понятно, что это было возможно благодяря исключительно возможностям FoxBase...ну макроподстановкам...когда имя переменной можно передать как параметр..и считать имена переменных из журнала БД.
Все.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32850977
Dik76
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UK0IAIПонятно, что это было возможно благодяря исключительно возможностям FoxBase...ну макроподстановкам.. Почему же было? ;) в vfp и сейчас есть макроподстановки, т.е. прямая дорога VFP+MSSQL открыта
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32857678
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 UK0IAI :
>И не переставал восхищаться - братцы, там все, ВСЕ формы ввода данных + табулеграммы - все АВТОПОСТРОЕНИЕМ делалось. То есть, все формы описаны в журнале БД - и 99% всех бухгалтерских документов_операций - все интерфейсы - они системой САМИ строились. И это даже было удобно, однако. (интерфейс массового ввода по полной программе).

Между прочим, идеи весьма актуальны, просто весьма немного систем, которые могут похвастаться оптимальным соотношением : легкость разработки/гибкость/удобство пользователя. ИМХО из того, что видел я - близки к оптимуму Аксапта и 1С. Но сами понимаете, 1С - в плане технологий фи, а Аксапта в плане денег.
Вот только в топике-то речь опять же шла не про формирование интерфейса, а про скрипт, который выполнение массы разных безинтерфейсных задач автоматизирует ! Т.е. программирование удобнее для человека, учившего Васик (Паскаль, Рапиру или что уж там сейчас учат) в школе, в текстовом виде с Инеллисенс и т.д., или "в картинках" ?
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32858526
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mik Prokoshin2 UK0IAI :
>... только в топике-то речь опять же шла не про формирование интерфейса, а про скрипт, который выполнение массы разных безинтерфейсных задач автоматизирует ! Т.е. программирование удобнее для человека, учившего Васик (Паскаль, Рапиру или что уж там сейчас учат) в школе, в текстовом виде с Инеллисенс и т.д., или "в картинках" ?

Не вижу, почему бы благородному дону (Румата) и не... построить...скрипты ...для юзера..собственного изготовления

"Скрипт с человеческим лицом". Три стратегии такой системы:
1. Лаконичная - широко используя спец_символы, создаем предельно "шифрованную" нотацию, плюс извращенную логику интерпретации
2. Гибкая - подражаем VBX, и создаем нечто гибридное между естественным языком и ООП.
3. Разумная - продумываем лексику Контстант и кроме круглых скобок и запятых - "вообще ничего не используем". Последнее - требует тщательной подготовки.

Кроме того - нужен "генератор скриптов". Это может быть графический (иконки таскать) или семантический (имя_айтема из списка выбирать). Тогда Юзеры смогут самостоятельно строить собственные скрипты. Вне зависимсти от собственной квалификации.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32862295
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>3. Разумная - продумываем лексику Констант и кроме круглых скобок и запятых - "вообще ничего не используем". Последнее - требует тщательной подготовки.

Э-э-э, а можно вопрос, это как ? Может образец, где так сделано, укажете, а то не совсем понятно...
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32862419
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mik Prokoshin>3. Разумная - продумываем лексику Констант и кроме круглых скобок и запятых - "вообще ничего не используем". Последнее - требует тщательной подготовки.

Э-э-э, а можно вопрос, это как ? Может образец, где так сделано, укажете, а то не совсем понятно...

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

В общем случе, Ваш Engine должен воспринять инструкцию из скрипта - команду (оператор) + параметры..

Вопрос - как вы это изобразите визуально? Ну например, Вы в обычном текстовом файле создадите строку(и)... И что же там будет?

1. Вариант пишем в строке нечто...
Код: plaintext
#p$_<value= 100 >#FF000_##CF000......ну и так далее, 
где например....#p$ - есть команда PUT символьного значения.... (так там есть $)

2 Вариант - вы создаете движек что умеет исполнять, например, такое;

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "100"
    Range("B3").Select
    With Selection.Interior
        .ColorIndex =  6 
        .Pattern = xlSolid
    End With
    Selection.Font.ColorIndex =  3 
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone.......


3 Вариант - просто и красиво

Код: plaintext
PUT (n_row,n_col,  100 , RED,BOLD,BORDER, CENTER)

Здесь эти самые ...RED,BOLD,BORDER ....- это имена Констант, объявленных в Вашем модуле. Слово "Put" - это имя вашей процедуры, с перегруженными параметрами...когда все будет работать и в такой нотации (например)

Код: plaintext
PUT (n_row,n_col,  100 ) 
(все цвета..форматы...- по дефалту САМИ получатся.

Более того:

Ваш скрипт ДОЛЖЕН САМ РАБОТАТЬ, если его поместить в тело листинга Вашей программы. Это значит, что Вам не надо строить ДВИЖОК для отладки скрипта. С этой задачей справится уже имеющийся у вас компиляатор или дебугер Вашей системы программирования.

Что для этого требуется? Всего лишь написать свой API. Где будет объявлена процедура PUT () и константы типа RED,BOLD,BORDER, CENTER....
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32863177
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю.
Хочу отметить, что константы прекрасно комбинируются с подходом 2.

Мне кажется наиболее оптимальной примерно такая конструкция :
Код: plaintext
1.
2.
    Range("B3").Formula = "100"
    Range("B3").SetFont Name="Arial", Size= 12 , Color:=xlBlack, Position:=xlCenter
    Range("B3").SetInterior Color:=xlRed, Borders:=xlAround+xlDiagRightDown BorderPattern:=xlSolid
Понятно, что надо найти компромисс между удобством использования методов и их количеством. Интеллисенс (подсказка по мере набора) мне тоже кажется обязательным условием. Т.е. VBA в лучшем его виде, вот только мучаюсь, стоит ли сверху еще графику навешивать ? ...
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32864037
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mik Prokoshin
Мне кажется наиболее оптимальной примерно такая конструкция :
Код: plaintext
1.
2.
    Range("B3").Formula = "100"
    Range("B3").SetFont Name="Arial", Size= 12 , Color:=xlBlack, Position:=xlCenter
    Range("B3").SetInterior Color:=xlRed, Borders:=xlAround+xlDiagRightDown BorderPattern:=xlSolid


Конечно, есть проблема выбора. Нотация типа Color:=xlBlack - она явно указывает Юзеру что здесь прописано, и можно все произвольно менять своими местами. Но - эта фишка расчитана на интерфейс редактирования типа "текстовый редактор". Да, Юзеру так будет удобнее.

Хотя, мне больше нравится идея включать/выключать (опции), т.е:

Код: plaintext
1.
2.
3.
4.
5.
FontColor = RED ; Border = TRUE; -- включили дополнит_опции
PUT (n_row,n_col,  100 ) ;
PUT (n_row,n_col,  120 ) ;
....
FontColor = NULL ; Border = FALSE;        -- выключили опции

Когда все эти "Border" - это типа глобальных переменных сессии, и мы из своего скрипта задаем им значения - самым простым способом и что удобно, эти "опции" ...без них ведь и так все работает, а значит это все можно "прописывать" ПОСЛЕ ТОГО КАК (типа сервис навешивать).

Т.е при разрабтке алгоритма скрипта можно не думать о "красоте"

Касательно Графики. Это вопрос принципиальный. Наличие графики - снижает требования в Юзеру. Но - она весьма не удобна для правки "больших" скриптов. Графика удобна для разработки с нуля. Но Править скрипт удобнее через редактор.

Возможно можно делать гибрид. Создаем этакий Scheet из одних строк с тремя колонками. (Номер строки, Текст, Примечание).

И для заполнения Текста - для правки - всегда(иногда) используем МАСТЕР. Например, вызывая список (list_item) Команд_скрипта с последующим заполнением Опций Команды (ну например, как в екселе - мастер функций).
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32866201
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Mik Prokoshin
Еще раз помотрел на вашу ссылку http://www.envox.com/img/content-design/screen1.jpg, и задумался... (есть парочка минут и настроение...)

Както мне не нравится это все и кажется есть некая идейка.... Не нравится тем, что слишком много ...квадратиков разных, и они еще по всему скрину раскиданы. Стрелки в глазах мельтешат...

Итак попробуем:

1. При вызове редактора (юзером) уже готового скрипта - он должен все сразу четко понять - что там к чему. В этом нам хорошо нотация ) с именоваными параметрами),

Name="Arial", Size=12, Color:=xlBlack, Position:=xlCenter

Например, в скрипте можно сделать запись (команды).

Команда
"Установить Параметры которые повлияют на дальнейшею работу Системы, Так - что пока не отменено - все актуально. После отмены - все становится по дефалту."

В нашем редакторе (это тот самый grid из трех колонок), мы можем прописать:

на картинке - это примерно то - что может увидать Юзер. Важно = нельзя делать "толстые строки" - все должно умещаться в одну тонкую и короткую строку.

Но наш грид (это ведь не тупой текстовый редактор!) мы можеv сделать весьма дружелюбным, например:

В режиме EDIT Юзер попадая курсором в колонку Команда - на автомате получит типа выпадающего списка с перечнем, с сервисом контексного поиска...по первым символам...

В колонке = Опции - при попадания курсора, в зависимости от Команды, вызывается нужное ОКНО (Мастер) с полями заполнения всех возможных
Параметров.

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

Что интересно - такую фичу можно сначала создать (движек) на основе чтнетия текстового файла скрипта - а потом = уже наладить сервис - ввиде вызуального отображения (для Юзера).
.....
Ну так немного...
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32875951
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если кто помнит междумордие sss1024.narod.ru

пользователь может всё двигать мышкой, строить сложные запросы без программирования. Логика пишется программистом. Всё корректно.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32878106
Фотография UK0IAI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1024если кто помнит

Изящно.
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32879157
Mik Prokoshin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 1024:
Между прочим, там ссылка Download не работает - сервер ошибку дает. Причем какое отношение к download имеет трансформация Фурье, слабо понятно :-)
...
Рейтинг: 0 / 0
Графическое программирование для пользователя
    #32881264
Фотография 1024
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сейчас вроде работает. Можно напрямую на http://www.universalthread.com/wconnect/wc.dll?LevelExtreme~2,54,33,20426

Я собсно для чего написал - для больших проектов (да часто и небольших) легче натаскать юзеров и дать свободу в пределах заданных правил чем создавать ПО со всей возможной функциональностью. Полнофункциональное ПО? Да ещё и без ошибок? Не встречал к сожалению. Всегда чего-то не хватает.

Конечно, все эти писатели объектных БД пытаются компенсировать своё незнание скл. К сожалению получается плохо. Если же конструктор основан на чёткой логике то получается вполне красиво. Я делал с помощью этого шедовера какие-то проекты, были диалоги с юзерами вроде:
- нам неудобно, хотим чтоб цена не в конце стояла а в начале
- перетащите столбец мышкой куда вам надо
- и чё, так просто?

но если в БД задано что дата не может быть новее сегодняшней то никакими средствами юзер такую дату не внесёт.
Причём если что-то в структуре данных изменится что не затрагивает конкретного пользователя то он этого даже не заметит (например добавить возможность использования иерархической структуры сотрудников вместо плоской - девочке вбивающей накладные это ни к чему)
...
Рейтинг: 0 / 0
42 сообщений из 42, показаны все 2 страниц
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Графическое программирование для пользователя
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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