1 (изменено: gudleifr, 2019-02-17 14:10:38)

Тема: Скриптовые органайзеры?

Кто знает красивые примеры скриптов (желательно простых, не AutoHotKey, не MS Office), которые
1. Являются замкнутыми интерактивными системами;
2. Позволяют править содержимое достаточно сложных объектов (текстов, списков, БД, ЭЛТ)?

2

Re: Скриптовые органайзеры?

В вопросе нет конкретики. Опишите задачу точнее.

3 (изменено: gudleifr, 2019-02-17 14:13:52)

Re: Скриптовые органайзеры?

ypppu пишет:

Опишите задачу точнее.

К сожалению, это невозможно, т.к. интересуют именно общие направления.

4

Re: Скриптовые органайзеры?

Я, честно говоря, вообще не понял вопроса. Скрипты и интерактивность — это две противоположности: скрипты — это, по сути, пакетный режим. Что значит «замкнутыми»? Что значит «править»? Тексты, списки, базы данных (реляционные) — это простейшие структуры (а не объекты). Аббревиатуру «ЭЛТ» — не расшифровал.

5

Re: Скриптовые органайзеры?

alexii пишет:

Скрипты и интерактивность - это две противоположности

Интерактивные программы же бывают. Почему не быть интерактивным скриптам? Я их использовал еще в DOS-времена для замены Norton Commander. Собирал в одном пакете редакторы, компиляторы, отладчики... и вызывал то, что нужно, а потом возвращался в начало и выбирал, что делать потом. Существуют даже игровые скрипты...

alexii пишет:

Что значит «замкнутыми»?

Значит, что нет особой надобности во время сеанса работы вылезать из скрипта и делать что-то "на стороне". Например, я мог целый день просидеть в вышеупомянутом "заменителе Norton", правя и отлаживая программу.

alexii пишет:

Что значит «править»?

Значит, скрипт предназначен для внесения изменения в некий объект. Например, в приведенном примере - в программу. Конечно, пример не совсем честный. Для правки и компиляции программы тот скрипт обращался к сторонним программам. Но если объект простой структуры - текст, список... - скриптовые языки могут обойтись и своими средствами. (Конечно, существуют и скриптовые языки при редакторах, учитывающие структуру "своих" объектов, но это не так интересно).

alexii пишет:

Тексты, списки, базы данных (реляционные) — это простейшие структуры (а не объекты).

Это чисто по ООП-терминологии?

alexii пишет:

Аббревиатуру «ЭЛТ» — не расшифровал.

Электронные таблицы.

6

Re: Скриптовые органайзеры?

Вы смешиваете понятия средства — скрипты и режима работы — пакетный, диалоговый и событийный.

7 (изменено: gudleifr, 2019-02-20 12:37:20)

Re: Скриптовые органайзеры?

alexii пишет:

Вы смешиваете понятия средства — скрипты и режима работы — пакетный, диалоговый и событийный.

Я просто прошу красивых примеров диалоговых скриптов (точнее в первом посте).

Но я так понял, что опять зря заходил...

8

Re: Скриптовые органайзеры?

С такими расплывчатыми вопросами - точно зря.
Чтобы объяснить, чего вы хотите, приведите ссылку на какой-либо существующий скрипт по вашему вопросу.

9

Re: Скриптовые органайзеры?

Malcev пишет:

С такими расплывчатыми вопросами - точно зря.

Я просил примеров! Чем более расплывчатые требования, тем больше примеров приходит в голову. Нет?

Malcev пишет:

Чтобы объяснить, чего вы хотите, приведите ссылку на какой-либо существующий скрипт по вашему вопросу.

Пример - см. в посте 5. Там все очевидно.

Или, вот, один из последних:

https://i.servimg.com/u/f90/19/65/89/34/2p10.jpg
WSH JavaScript + HTML.
В левом окне выводится статистика по частям документа (стек файлов). Кнопки - обычные стековые операции - вызов простеньких cmd-файлов. Справа - окно редактирования файла на вершине стека. Очевидные кнопки отмены/сохранения. Плюс, кнопка поиска в документе нужного фрагмента - JavaScript. За время эксплуатации добавилась еще пара-другая кнопок.

Другие примеры и подробности реализации можете посмотреть во втором томе моих заметок.

Но, я бы не хотел, чтобы вы в это углублялись.
Чем более расплывчатые требования, тем больше примеров!

10

Re: Скриптовые органайзеры?

То есть у вас есть только пример своей собственной реализации?

11

Re: Скриптовые органайзеры?

Malcev пишет:

То есть у вас есть только пример своей собственной реализации?

Не буду отвечать. Не хочу, чтобы свободный поиск превратился в ловлю блох.
Мне кажется, это дает Вам замечательный шанс меня уесть. Мол, Вы забыли очевидный шедевр!

12

Re: Скриптовые органайзеры?

gudleifr пишет:

Я просил примеров! Чем более расплывчатые требования, тем больше примеров приходит в голову. Нет?

Ну, коль Вы застали NC, должны отлично помнить редакторы edlin и debug. Вот Вам один пример. Из нынешних — diskpart. Но это не скрипты. Скрипты предназначены для дугих целей. Хотя никто не мешает Вам взять WSH и наваять какой угодно сложности диалоговый инструмент: читаете из stdin, пишете в stdout и stderr, прямой доступ к этим потокам у WSH есть. Пиши-не хочу.

13

Re: Скриптовые органайзеры?

alexii пишет:

...

Спасибо. Вас вычеркиваем.

14 (изменено: gudleifr, 2019-06-17 13:19:06)

Re: Скриптовые органайзеры?

Ну, что, никто ничего так и не вспомнил?

15 (изменено: gudleifr, 2019-06-21 11:47:47)

Re: Скриптовые органайзеры?

Кстати, подумалось, что, если во времена Никсо-подобных ОС такие органайзеры естественно писались в виде зацикленного скрипта, то в МастДае, с его ориентацией на окошки, "более естественной" будет папка, заполненная файлами-командами и файлами-данными.

Например, папка "ЛУНОЛЕТ-1" с такими именами файлов:

1.КОРАБЛЬ.Емкость топливных баков 3500кг
1.КОРАБЛЬ.Масса 2250кг
1.КОРАБЛЬ.Минимальное время реакции 0.7с
1.КОРАБЛЬ.Предельная перегрузка 29.43м.с2
1.КОРАБЛЬ.Расход 1ед.с
1.КОРАБЛЬ.Скорость истечения 3660м.c
2.ЛУНА.Ускорение силы тяжести 1.62м.с2
3.СОСТОЯНИЕ.Верт.координата 0м
3.СОСТОЯНИЕ.Верт.скорость 0м.с
3.СОСТОЯНИЕ.Запас 3600ед.
3.СОСТОЯНИЕ.Запас топлива 400кг
4. ВВОД.Впрыск 65кг
4. ВВОД.Промежуток 3с
ПРОГОН.cmd

Состояние модели видно из имен файлов. Управлять можно вводя другие цифры в имена. Осталось написать программу ПРОГОН, которая будет эти файлы перетасовывать...

16

Re: Скриптовые органайзеры?

Сколько всего текстовых (типов) машин (нужных для построения органайзера) приходит в голову?

1. Разборщик (конечный автомат) текстового формата. Переводит структурный текст в размеченный список команд. Конечно, можно просто встроить его в программу, исполняющую команды (например "Найти все названия глав романа с латинскими буквами"). Но, со "скриптовой точки зрения" удобнее сначала выявить главы и их названия, а искать - уже в другой программе.

2. Фильтр. Исполнитель команд для (1). Вырезает из текста нужный фрагмент (для редактирования).

3. Переупаковка текста . Исполнитель команд для (1). Производит операции над структурой текста, не касаясь самого содержимого текста. Например выбрать все названия глав и создать раздел оглавления.

4. Машина работы с файлами (не вникая в их содержимое). Удобнее всего организовать стек файлов и реализовать обычный набор стековых операций (DUP, SWAP, ROT и т.д.). Если ваш формат данных, подобно моему, чисто последовательный, то можно сливать несколько файлов в один простым копированием.

5. Отображающая машина.  Исполнитель команд для (1). Переводит текст в визуальную форму (например, html-файл).

6. Интерпретатор команд пользователя и вызов других машин.

Какие еще?

17

Re: Скриптовые органайзеры?

gudleifr, всё это, за исключением п.6, называется «фильтр».

18 (изменено: gudleifr, 2019-10-20 22:35:33)

Re: Скриптовые органайзеры?

alexii пишет:

Всё это, за исключением п.6, называется «фильтр».

Это не важно. Меня интересует не UNIX-традиция, а решение конкретной задачи.

19

Re: Скриптовые органайзеры?

gudleifr пишет:

…а решение конкретной задачи.

А какое может быть решение? Садиться и писать. Вот и всё. Причём в Ваших формулировках нет никакой «конкретной» задачи. Есть только общие рассуждения о некоторых классах задач.

20

Re: Скриптовые органайзеры?

alexii пишет:

А какое может быть решение?

Ответ на вопрос: "Какие еще?"

Вы работали с базами данных, содержащими большие текстовые куски? Пытались свести все к фильтрам (в Вашем смысле этого слова)? Их набор сильно отличался от предложенного мной?

21

Re: Скриптовые органайзеры?

gudleifr пишет:

1...6...
Какие еще?

7. Виртуализатор.  (Разновидность Визуализатора (5)). По опыту постоянного перетаскивания с настольника на наладонник и обратно. Удобно представлять большой файл, как набор маленьких (в стиле старого доброго QBASIC), производя сборку-разборку на лету.
8. Архиватор. Что удобнее хранить: версии или изменения (как в классическом скрипте К&П)? Как, вообще, делать это удобно? (У меня чаще организовано как просто набор напоминалок...)