Всегда последняя версия:
download/file.php?id=1685В этом архиве собраны:
1) усовершенствованный Дракон-редактор Геннадия Тышова (с графическим меню фигур, системой управления мыши, переназначенными клавишами...);
2) исходный текст переназначения клавиш и мыши на языке AutoHotKey;
3) компилятор AutoHotKey и BAT-программка для моментального изменения Дракон-среды на основе исходника (имен файлов вводить не надо),
3) переводчик Дракон-схем на любой текстовый язык программирования (пока есть шаблон только для Visual Basic) - обсуждение перевода вынесено сюда:
viewtopic.php?f=79&t=2768&start=04) подробная справка по всем этим пунктам.
НО! За основу взят DRAKON_2010_06_01. Это та версия, в которой уже проработан алгоритм размещения графа (на больших схемах работает быстро), но ещё не установлена зависимость от ресурсов. Может быть, адаптирую изменения для новой среды.
Итак.
ГЛАВНЫЕ ИЗМЕНЕНИЯ ДРАКОН-СРЕДЫ:
______________________________
1. Можно изменять масштаб! Колесом мыши, удерживая правую кнопку. Очень удобно! А родное предназначение колеса (двигать экран или текст по вертикали) осталось.
______________________________
2. Чтобы перемещаться по схеме, не надо искать и удерживать этот Shift. Есть два варианта:
. а) Кликнуть среднюю кнопку, затем найти нужное место и кликнуть её снова.
. б) Перемещаться по схеме, удерживая левую кнопку. Оно и всегда было, просто у меня при отпуске левой кнопки скрывается сообщение "Выбранный блок...".
______________________________
3. Клик средней кнопки включает и выключает режим перемещения. В режиме перемещения:
. а) вслед за мышью идёт экран;
. б) можно перемещать фигуры, узлы и схемы (левой кнопкой, не нажимая никакого Shifta);
. в) ВРАЩЕНИЕ КОЛЕСА МЫШИ изменяет ширину фигуры под курсором (при этом выделять её левой кнопкой не нужно). Если под курсором не фигура, а:
____ТОЧКА ВВОДА - при вращениии в_в_е_р_х происходит перенос лианы, в_н_и_з - заземление;
____УЗЕЛ ПАРАЛЛЕЛЬНОГО ДЕЙСТВИЯ - создаётся шампур соединения с нижним узлом;
____если под курсором вообще нет фигуры, а есть схема, то обновляется схема;
____если нет схемы (т.е. курсор на листе) - обновляется лист;
. г) ВДАВЛЕННОЕ ВРАЩЕНИЕ колеса мыши (т.е. с нажатой средней кнопкой) отклоняет фигуру в стороны. При этом режим перемещения не выключается, несмотря на то, что нажимается средняя кнопка;
. д) при случайном нажатии на фигуру не появляется окно текста и не закрывает собой полэкрана;
. е) Правая кнопка мыши действует, как в обычном режиме.
Всё в этом пункте - для режима перемещения. Включить или выключить этот режим - одиночное нажание средней кнопки мыши.
Дальше для всех режимов:
______________________________
4. При одиночном нажатии левой кнопкой на узел появляется ГРАФИЧЕСКОЕ МЕНЮ ФИГУР. Действие - в центре и всегда под указателем, так что двойной клик по узлу добавляет действие. Остальные фигуры расположены вокруг по частоте использования.
Это меню вызывается из любой точки экрана. Если оно не влезает - приклеивается к краю экрана, а мышь сама становится в центр, на "Действие".
________________________________
5. Очень удобно использовать смыканье. Смыкнуть вперёд - это значит, нажать левую кнопку мыши и, не отпуская её, нажать правую. Смык назад - правая, затем левая.
ОСНОВА:
. СМЫК ВПЕРЁД - переход или добавление справа,
. НАЗАД - изменение.
Более детально:
С М Ы К В П Е Р Ё Д на фигуре:
. ЗАГОЛОВОК - добавляются параметры;
. ВЕТКА - добавляется ветка;
. ВАРИАНТ - добавляется вариант;
. АДРЕС - Переход на эту ветку;
. ВСТАВКА - Переход на эту схему (если такой схемы нет, сообщение исчезает при отпуске правой кнопки, так что есть время осмыслить это сообщение, а нажимать ОК не нужно);
. ВОПРОС - Поменять ветви местами (рокировка)
. УЗЕЛ ПАРАЛЛ. ДЕЙСТВИЯ - Доб. Параллель справа
. СБОРКА ТЕКСТА и ПРОЕКТ - Запомнить ссылку;
. ТОЧКА ВВОДА - Заземлить лиану на новый адрес;
. Вне фигуры (на схеме) - переход вперёд по вставке (кнопкa "=>" в строке меню);
. Вне схемы (на листе) - добавленеие схемы Силуэт.
С М Ы К Н А З А Д на фигуре:
. ВЕТКА - добавить ещё один вход;
. АДРЕС - Выбрать ветку;
. ВСТАВКА - с возвратом или без;
. ВОПРОС - Да <I> Нет;
. УЗЕЛ ПАРАЛЛ. ДЕЙСТВИЯ - Доб. Параллель слева
. ДЕЙСТВИЕ, КОММЕНТАРИЙ, ТЕКСТ, ТЕКСТ В РАМКЕ - заменить "Действие -> Комментарий -> Всатвка" или "Текст - Текст в рамке - Комментарий - Вставка";
. СБОРКА ТЕКСТА - Править линию
. ТОЧКА ВВОДА - Перенести путь
. СХЕМА - переход назад по вставке;
. ЛИСТ - добавление схемы Примитив.
______________________________
5. Смыкнуть средней-правой (и наоборот) - добавление левого или правого пояснения к фигуре. Режим перемещения при этом не изменяется.
______________________________
6. Клавиша Ins выпихивает текст фигуры в программное приложение. Например, вы написали в тексте: На_вывод = На_вывод & Str(n) & ". " & Mid(список(номер),val(a)-val(b),instr(список(номер),начало,VbCrLf)), а назавтра поняли, как это сформулировать по-человечески: [Добавить к выводу 'n' и строку из текущего пункта 'Списка']. Жмите Ins и пишите русскую фразу. Код перейдёт в приложение.
__________________________
7) Вдвое уменьшил область схемы - в шесть раз быстрее грузится и совершенно не жрёт памяти. Сделал несколько вариантов программы - от самого маленького (грузится мгновенно, но большие схемы нужно перемещать для обзора) до огромных тяжёлых схем - тоже были просьбы.
___Варианты легко переключаются. Измените в самом начале файла "Изменения..." и запустите "Создать программу..." - тогда все схемы будут открываться с указанной областью. Тут нужно найти компромисс между мощью компьютера и размером обрабатываемых схем.
_____________________________
8. Много лексических изменений, добавлены псевдографические значки к пунктам контекстного меню.
_____________________________
9. Скрываются ненужные сообщения "Выбранный блок не допускает использование", "В блоке различные шампуры" и т.д. Экран мигнул, пользователь увидел ошибку. Что ещё надо? Зачем отвлекать внимание на словеса, да ещё заставлять прицелиться и нажать ОК?
______________________________
10. В Драконе текстовое поле старого образца, т.е. Ctrl+Del удаляет до конца строки, а Ctrl+Bs вставляет квадрат. Я переназначил это в удаление слова, как все привыкли. (Это уже мелочь, но мало приятного, когда хотел убрать слово, а убрал строку.)
______________________________
11. Функциональные клавиши:
.
F2 - выбрать лист;
. Ctrl F2 или Ctrl N - создать лист
F3 - << прошлый лист,
F4 - >> следующий лист,
. Ctrl F4 - закрыть лист,
. Ctrl Shift F4 - закрыть все листы,
.
F5 - <= назад по вставке,
F6 - => вперёд,
F7 - < отменить действие,
F8 - > вернуть,
.
F9 -- >[]< сузить фигуру,
F10 - <[]> расширить,
F11 - <[]< отклонить налево,
F12 - >[]> отклонить направо.
. Сtrl f12 - перевести все листы в этой папке на язык Visual Basic. Об этом рассказано в папке "Как составлять схемы..." в этом архиве.
.
И неважно, откуда нажимать: из окна текста или нет, в режиме перемещения или нет...
__________________________
12. Кнопки цифровой клавиатуры добавляют фигуры, наравне с графическим меню:
Вложение:
Цифровая клавиатура.gif [ 6.52 КБ | Просмотров: 22241 ]
Опять же, всё можно нажимать и из окна текста, и в режиме перемещения...
___________________________
13. в режиме "Чертёж" изменены цвета на более тёмные, чтобы глаза не уставали.
_____________________________
14. Дракон-редактор всегда запускается на весь экран (для тех, у кого разрешение экрана 640х480, это не имеет значения).
____________________________
15. Автозамена ключевых слов Visual Basic (это может быть любой другой язык, измените в исходнике). При наборе на клавиатуре первых двух букв и пробела они превращаются в ключевое слово. Причём не важно, какая стоит раскладка: можно напечатать "ms ", "mb ", "ьы ", "ьи " и даже "ьыпищч " - слово превратится в "MsgBox ". Заменяются все знаки, которые пишутся только в англ. раскладке, так что можно все переменные и задачи называть по-русски и не прикасаться к переключению раскладки. Продуманы все взаимоисключения слов. Подробнее в комментариях к исходнику.
________________________
16. Дракон-схемы можно перевести в полноценные Bas-файлы (язык VB). Скоро будет поддержка всех языков и пользовательской настройки как схем для перевода, так и самого перевода. Правила перевода - в теме "Рабочий Дракон-Базик", а также в этом архиве.
==========================
КАК СДЕЛАТЬ ТАК, ЧТОБЫ ЭТИ ИЗМЕНЕНИЯ ВСТУПИЛИ В СИЛУ?
1. Распакуйте в любую папку архив в начале этого ообщения.
2. Сделайте так, чтобы все файлы DRT открывались программой "Дракон.exe" из этого архива.
При запуске программы "Дракон.exe":
1) в системный лоток загружается "хук";
2) запускается файл "Дракон Геннадия Тышова.exe" (с передачей параметров);
3) если не было задано параметров, сразу открывается "Новый файл".
Если запустить программу "Дракон.exe", когда DRAKON уже запущен, он только активизируется. Если Дракон уже открыт, а пользователь запустил другую DRT-схему, активизируется Дракон и в нём открывается эта схема (в исходном Драконе запускается вторая копия программы, у меня пишет нехватку памяти). Правда, при этом в Драконе должна стоять та же раскладка, в которой названы папки и файлы, иначе будет ошибка. Это уже заморочки AutoHotKeя.
Значок из лотка убирается после закрытия DRAKONa.
ИСТОРИЯ ВЕРСИЙ:;22мая 2010:
; 1) Исправлена ошибка при щелчке мышью (он ждал целую секунду сообщения "Выбранный блок" и не успевал работтаь).
; 2) Графическое меню фигур при щелчке на узел;
; 3) Ins выпихивает текст фигуры в программное приложение (номер приложения задаётся в начале этого файла, ведь мой Дракон-Бейсик использует первое приложение, а предусмотрено третье). Но! Нельзя нажимать Ins на фигурах с пустым текстом (то есть "?Действие" и т.п.) и если активно какое-л. приложение, а не текст.
; 4) Смык назад на листе добавляет схему Примитив, вперёд - Силуэт.
; 5) Кнопками цифровой клавиатуры добавляются фигуры.
;
;23 мая 2010:
; 1) При добавлении фигуры через графическое меню текст пишется в добавленной фигуре, а не там, где отпустили мышь;
; 2) Кнопки цифровой клавиатуры действуют и в режиме перемещения, выключая его;
; 3) Исправлены ошибки смыканья (бывало, жмёшь одну кнопку, а он смыкает);
; 4) Всегда убирается контекстное меню при смыках (бывали пропуски);
; 5) При добавлении фигур правильно сбрасывается режим перемещения.
; 5) Правильная передача параметров в Дракон Тышова;
; 6) Если Дракон не активен, а режим перемещения включён (т.е. Shift нажата), Shift отпускается; при возврате в Дракон режим перемещения восстанавливается как был.
; 7) Если Дракон уже открыт, а пользователь запустил другую DRT-схему, активизируется Дракон и в нём открывается эта схема. Правда, при этом в Драконе должна стоять та же раскладка, в которой названы папки и файлы, иначе будет ошибка. Это уже заморочки AutoHotKeя.
; 8) Дракон-редактор всегда запускается на весь экран.
Прилагаю исходный текст. Изменяйте, дополняйте, публикуйте! Саму программу AutoHotKey можно запросто найти в Интернете. Советую в любом случае: с её помощью, подключив ещё и Ресторатор, можно творить чудеса.
Это сообщение я всегда обновляю.========================================
========================================
========================================
Дальше первое, самое старое сообщение. Можно бы удалить, но были ответы.
==========================================
Владимир Паронджанов и Геннадий Тышов сотворили титанический труд, нужный и крайне необходимый в программировании. Притом сотворили бескорыстно, на человеческое благо, а не себе в карман, поэтому мы все здесь втройне обязаны этим двум гигантам. И в первую очередь обязаны им помогать, направлять, советовать. Пусть хоть сотая доля советов претворится в дело (я понимаю, как это сложно), и всё-таки польза авось да будет.
. Итак, "Дракон" имеет железобетонную основу. Но добра без худа не бывает. Сейчас я намерен поверхностно, не углубляясь в придирки, разобрать только самые вопиющие недостатки программы "Дракон".
. Но я не буду голословным. В этом сообщении я раскрою только те недостатки, которые я уже устранил с помощью "Ресторатора" и прикрепил сюда свой вариант программы. Да простит меня автор за такое внедрение в его творчество, но это всего лишь проба, чтобы оценить, удобнее так или нет.
. Первое, самое неудобное и самое занудное. Для добавления одной фигуры (то есть иконы) нужно произвести 6 (шесть!) действий: навести курсор мыши точно в точку ввода; нажать правую кнопку; навести на пункт "Добавить"; подождать, пока вылезет меню; навести на название нужной фигуры; и нажать левую кнопку.
. В МОЁМ ВАРИАНТЕ все фигуры добавляются функциональными клавишами (F1...F8). Причем нажать такую клавишу можно, когда фокус на точке ввода, на фигуре (тогда новая фигура добавляется после неё) или даже в окне текста (тогда добавляестя после той фигуры, к которой относится это текстовое окно). То есть, нажал F6 (добавилось действие), сразу же написал текст действия; тут же, не прикасаясь к мышке, нажал F4 (добавился вопрос), пишешь вопрос и т.д. Кроме того, основные пункты скопированы прямо в строку меню (а в отдельном подменю - все остальные пункты), так что можно и к клавиатуре не прикасаться, а строить голую схему мышкой.
. Расположение клавиш я прикрепил в графическом файле. На своей клавиатуре я нарисовал всё это фломастером. На первых порах лучше распечатать эту бумажку и наклеить на клавиатуру над функциональными клавишами или накладывать при работе с "Драконом".
. ВТОРОЕ. Очень часто приходится изменять размеры фигур. Когда кнопки <[]> и >[]< были в строке меню, это было неплохо, но затем автор зачем-то убрал их в контекстное меню, и уж это совсем нехорошо: наведи на фигуру, нажми правой кнопкой, затем найди знак ув/ум и затем нажми левую кнопку. Зачем?
. Я вернул эти значки в строку меню и присвоил им клавиши, которые опять-таки можно нажимать или на фигуре, или прямо в окне текста: Alt+вверх - расширить выделенную фигуру, Alt+вниз - сузить, Alt + направо/налево - отклонить направо или налево.
. Управление клавиатурой ещё и расширяет возможности. Например, в любое место обычной схемы (не гном) можно вставлять фигуры гнома, приклеенные левым краем к лиане (я их назвал бы "отклонённые фигуры"). Их можно использовать как второстепенные действия и вставки, которые не так важны в сути программы. В фигуру "Текст без рамки" лучше всего вставлять комментарий, а в фигуру "Комментарий" лучше вводить действия для работы с экраном, тогда визуальный эффект ещё сильнее. Ведь фигура "Комментарий" так похожа на экран! А "Текст без рамки" - это текст, не имеющий преткновения, а напечатанный просто возле лианы, ничем ей не мешая, как и положено настоящему комментарию. Так что в моей редакции "Дракона" фигура "Комментарий" названа "Экран", а "Текст без рамки" - "Пояснение".
. Фигуру "Запоминатель" тоже очень хорошо использовать в обычных схемах: в части "Указатель" новое значение, а в "Мнемоблоке" - переменная, в которую это новое значение вписывается. Сильнейший визуальный эффект! Общепринятое приравнивание имеет много недостатков. Во-первых, переменная-приёмник появляется раньше, чем новое значение, а это противоречит человеческому восприятию: мы привыкли указывать сначала ЧТО, а потом КУДА. Во-вторых, безликий знак "=" не имеет ни малейшего визуального эффекта. Так что бывают сложные ситуации (например, функция сдвига элементов массива), когда довольно трудно разобраться в этих присваиваниях. Лучший выход - использовать фигуру "Запоминатель".
. В принципе, это могла бы быть и простая фигура "Вывод", но она тоже несовершенна, и это может исправить только автор: со стрелкой должна быть ближняя фиура, тогда она указывает на дальнюю, протыкая её. А здесь дальняя указывает куда-то в сторону, а ближняя в форме квадрата на неё наслаивается, и запросто можно перепутать, где значение, а где приёмник. Владимир Паронджанов предполагал, чтобы в верхней строке фигуры писалось только ключевое слово ("Сообщение" и т.п.), но такие слова именно и засоряют внимание, а вот поважнее было бы указать в ней сам приёмник. Причём приёмником могла бы быть не только переменная, но и файл, и область памяти, и программа, которой передаётся внутреннее сообщение, - всё зависит от ключевого слова перед именем приёмника. В таких случаях знак равенства был бы противопоказан, а вот фигурой "Вывод" или пока хотя бы "Запоминателем" - вполне возможно и притом с прекрасным визуальным эффектом.
В конце концов, для этих целей можно использовать не "Вывод", а "Ввод", но тогда внимание напарывается на противоестественное направление влево. Мы читаем текст слева направо, значит и все указатели должны смотреть направо.
Собственно, и всё. Есть ещё замечания по лексике, и в моей редакции, например, схемы называются не "Примитив, Силуэт, Гном", а "Простая схема, Схема с ветками, Сбор текста". Всё по-русски. Хотя схему с ветками можно назвать и разветвлённой, и зеркальной, и многоуровневой, или "Схема с несколькими шампурами"... Пусть длинно, так зато понятно!
Да, ну и значок программы мне не очень нравится. Какой-то дыр: DR. Во-первых, не по-русски (вспомните рашифровку: Дружелюбный Русский...), во-вторых, значок на то и значок, чтобы иметь визуальный эффект, а не повторять название программы. Прилагаю три моих варианта значка, на выбор. Это, может быть, для новых версий...
Но в общем-то это те мелочи, которые неизбежно возникают в программах подобного масштаба. В целом программа выполнена предельно точно, так что моя критика относится больше к Владимиру Даниловичу, хотя было бы неплохо, если бы учёл кое-что и Геннадий Николаевич.
Об остальных недостатках не пишу, так как они само собой разумеются, и я надеюсь, что в следующей версии они будут исправлены автоматически.
И, наконец, вот мои главные аргументы:
1) Моя редакция программы Дракон - для тех, у кого разрешение экрана 640х480 (когда на нём всё крупно). Здесь меньше кнопок в меню и больше выведено в подменю \ЕЩЁ/ , чтобы все команды уместились в одну строку:
http://files.mail.ru/5WO8G3
2) Он же для разрешения 800х600:
http://files.mail.ru/MJN24B
3) И самое высокое разрешение, что позволил мой экранчик, - 1024 х 768. Тут почти все команды уместились в строку меню.
http://files.mail.ru/6SS9XV
4) Мой вариант файла настроек (в режиме "Чертёж" изменены цвета на более тёмные, чтобы глаза не уставали). Этот файл нужно скопировать с заменой в ту папку, где программа Дракон.
http://files.mail.ru/I5CSM1
5) Туда же советую скопировать EXE.exe - пустой exe-файл, который вызывается из Дракона клавишей F12 ("Пуск"). Вместо него с тем же именем должен быть компилятор. Если его нет, Дракон в моей редакции выдаст ошибку. Задача этого файла - всего лишь выдать сообщение, что нужен компилятор.
http://files.mail.ru/OSXIPV
6) Наклейка на клавиатуру. Предполагаемым пользователям моей редакции советую распечатать:
Вложение:
Комментарий к файлу: Клавиши
04-25драко.gif [ 17.06 КБ | Просмотров: 22605 ]
7) Предлагаемый значок программы - неудачный для моего экрана вариант, с множеством деталей (смотрится только крупным). Кому-то, может, и пойдёт:
Вложение:
Значок с мелкими деталями (смотрится только крупным).gif [ 1 КБ | Просмотров: 22587 ]
8) Значок программы - лучший для всех экранов:
Вложение:
Значок оптимальный.gif [ 1.13 КБ | Просмотров: 22587 ]
9) Значок - самый крупный (хорошо смотрится везде), но слишком примитивный:
Вложение:
Значок самый крупный (хорошо смотрится везде, но примитивен).gif [ 1.09 КБ | Просмотров: 22587 ]
И я повторяю: это не есть окончательный вариант программы. Это всего лишь наработка, проба, созданная для того, чтобы автор и другие участники форума оценили (или не оценили) эти идеи вживую, а не на пальцах. А в общем программа "Дракон" мне очень и очень помогла, даже в её исходном виде и в ранней версии. И уверен, не только мне.
Уважаемый Геннадий Николаевич!
Дорогой Владимир Данилович!
Спасибо вам!!!