Сайт программы vkACL: http://kohnvict.ucoz.ru/vkacl/vkACLdr.htm
автор - Виктор Кон (Курчатовский институт), URL: http://kohnvict.narod.ru
программа написана на языке программирования Java, URL: https://www.java.com/en/
Данная программа имеет двойное назначение. Ее главная функция -- быть средой разработки новых программ на языке программирования ACL (advanced command language) то есть программировать. Программы на языке ACL любой пользователь может разрабатывать по своим потребностям. Дополнительно она является исполнителем (интерпретатором) большой серии готовых ACL программ, написанных мной. Некоторые из этих программ при желании можно вызывать из Меню главного окна, а также из других программ. Много программ (но далеко не все) общего назначения находятся в Таблице иконок программ. Как Меню, так и Таблицу можно перенастраивать самостоятельно. Таблица показывается по клику на кнопке
Для удобства введем терминологию. Будем называть главное окно интерпретатора, написанного на языке Java и имеющего название файла vkACL.jar, "Рамой" (frame), а программы, написанные на языке ACL, просто программами. Сразу замечу, что название vkACL не является обязательным. Файл можно переименовать на любое другое имя. Первые 4 раздела меню Рамы являются встроенными, их нельзя изменить без изменения программы интерпретатора, написанной на Java. Остальные разделы можно добавлять, менять и перенастраивать, как это написано в этой ссылке .
При этом первые 2 раздела меню Рамы предназначены для разработки новых программ. Код программ пишется во встроенном текстовом редакторе обычным текстом, который может иметь латинские и русские буквы. Редактор имеет возможность исправлять неправильную кодировку букв и даже имеет встроенный руссификатор, который позволяет писать по русски на компьютере без переключателя клавиатуры. Для написания или редактирования программы нужно заказать файл. Это делается в первом разделе меню [Program]. Здесь есть три возможности. Рассмотрим первую. Предположим, что вы уже работали с каким-то файлом накануне и хотите вызвать его снова. Рама запоминает имя последнего файла, с которым вы работали. Если выбрать кнопку [Current], то содержимое этого файла сразу появится в окне редактора. Вторая возможность - вы знаете имя вашего файла и папку, в которой он лежит. Тогда выбирая кнопку [Open] вы получаете возможность ввести полное имя файла отсчитывая от папки Рамы. Это общий принцип -- файлы с кодом ACL за пределами папки Рамы, в основном, не учитываются и не работают, хотя бывают исключения. Преимущество этой кнопки в том, что если файл с заданным вами именем не существует, то будет создан новый файл с данным именем и пустым содержанием. Наконец, третья кнопка [Choose] позволяет выбрать файл с помощью Менеджера файлов, который показывает все файлы. Я для файлов с кодом ACL использую расширение acl. Далее файл выбирается обычным образом.
После того, как вы отредактировали файл, снова есть три возможности. Вы можете выйти из редактора по кнопке
Выбор кнопок определен моим новым ноутбуком. У него только эти кнопки работают без дополнительной клавиши. Все остальные [FN] работают с одновременным нажатием кнопки [fn], что не так быстро. Фирма DELL решила передать эти кнопки в чистом виде для управления параметрами компьютера. Это, действительно, полезно для кнопки [T-PAD], которая отключает Тач-пад. Это реально приходится часто делать, иначе сложно пользоваться клавиатурой в некоторых быстрых играх.
Если программа выполнилась успешно, то вы можете повторить процесс с помощью [F1]. При этом курсор будет автоматически установлен на первом появлении трех знаков @@@. Это следует учитывать при записи файлов. Если же в процессе выполнения программы интерпретатор зафиксировал ошибку, то вам будет показано окно с информацией об ошибке. При переходе в редактор с помощью [F1] курсор будет автоматически показывать место ошибки. При использовании процедур это не всегда работает и курсор может показать только процедуру, в которой была сделана ошибка. Вы исправляете ошибку и снова нажимаете [F12]. Таким образом процесс отладки программы достаточно прост. В процессе написания программы можно пользоваться описанием языка ACL на сайте автора http://kohnvict.ucoz.ru/acl/acl.htm . При желании описание можно скачать на свой компьютер. Но архив описания иногда отстает от реального описания. Это надо иметь в виду.
Итак, процедура написания и отладки программ является достаточно удобной и быстрой. Кроме того, в процессе написания новой программы можно открыть и выполнить любую уже написанную программу. Описание готовых программ обычно дается отдельной кнопкой в меню этих программ. Рассмотрим назначение других кнопок меню [Execute], а именно [Show textarr] и [Stop execution]. Первая показывает содержание текстового массива после выполнения программы. В принципе, это не нужно, но иногда может быть полезным при отладке. Эта кнопка появилась в самом начале разработки программы vkACL.jar. Сейчас есть возможность проверки содержания текстового массива в процессе выполнения программы, а также запись данных в файлы. Но иногда можно просто напечатать в текстовый массив, а потом посмотреть результат по этой кнопке. Это может быть удобным для начинающих. Вторая кнопка необходима для того, чтобы вывести программу из бесконечного цикла.
Дело в том, что ACL, в принципе, позволяет организовать бесконечный цикл, который должен прерываться разными способами. Но в результате ошибки можно сделать бесконечный цикл в чистом виде. Тогда программа никогда не закончится. Как раз выбор этой кнопки в процессе выполнения программы будет блокировать все циклы и программу можно вывести из комы. Но это работает только в том случае, когда в цикле нет вызова диалога в виде окон подсказок, графиков и так далее. К сожалению бесконечные циклы с диалогами нельзя прекратить и таким способом. Так что надо быть осторожными и думать о такой опасности. В этом случае единственный способ -- это убить процесс, связанный с JRE и потом запустить программу снова. В Виндовс процесс убивается через программу операционной системы Task Manager или Диспетчер Задач, но со временам системы меняются и как это будет в будущем я не знаю. Поэтому при отладке программы полезно запускать Раму, то есть файл vkACL.jar через bat-файл. В этом случае сохраняется возможность закрыть окно bat-файла крестиком и спасти компьютер от зависания.
Окно bat-файла удобно еще тем, что в нем могут появляться ошибки, которые обнаружила JRE при выполнении программы vkACL.jar. Эти ошибки не всегда приводят к фатальному исходу, часто они могут инициироваться ошибками ACL программы, которые ACL интерпретатор не блокирует. Тогда это уже моя недоработка, но к сожалению число возможных ошибок огромно и мне даже не всегда удается их все себе представить. Сам я ошибки делаю редко, но тоже делаю. Тогда я переписываю интерпретатор так, чтобы их блокировать. Если кто заметит какую ошибку -- сообщайте мне по электронной почте.
Собственно говоря, вот и все относительно разработки программ. Остальные разделы меню Рамы касаются запуска готовых программ или изменения внешнего вида. Раздел меню [Run] прямо предназначен для запуска готовых программ. По кнопке
По кнопке
Второй способ -- выбрать клавишу стрелки вправо. В этом случае картинка перерисовывается в другом статусе и не исчезает. Появляется менеджер файлов, можно выбрать новую картинку и на экране окажутся две картинки. Если со второй проделать то же самое и так длаее, то можно получить сколько угодно картинок на экране одновременно. Даже если закрыть менеджер файлов, картинки все равно останутся. Их можно двигать по экрану и размещать как удобно. При клике на любой из картинок она исчезнет. Поэтому перемещать надо только цепляя рамку картинки. Третий способ -- выбрать клавищи стрелок вверх или вниз. Тогда появляется таблица из 99 чисел. Выбирая любое число мы получаем ту же картинку в другом размере, больше или меньше на указанное число процентов. Например, при выборе 50 картинка увеличится (елавиша вверх) или уменьшится (вниз) в полтора раза. При клике на ней она исчезает.
Третья кнопка
Раздел меню [View] достаточно простой. Он позволяет изменить внешний вид Рамы и всех стандартных окон. Такую возможность предоставляет Java. Так как программа может работать в разных операционных системах (ОС), то Java разработала три внешних вида программы: собственный (Metal), похожий на OC Sun (Solaris) с названием Motif и похожий на Windows. Я сам работаю с внешним видом Java и все окна оптимизированы на этот внешний вид. Но если кому интересно как все выглядит в других ОС - можете попробовать.
Дополнительные разделы меню Рамы прописаны во внешнем файле (start.acl), который запускается в самом начале работы Рамы, и его каждый пользователь может легко редактировать. В текущей версии программы я поставил 2 раздела [General] и [Popular]. Они вызывают те же самые программы, что и указанные в Таблице по кнопке
Первая программа запускает большой редактор текстов с файлом (pro/note.txt). Это так же, как в Таблице. Но в Таблице редактор надо обязательно закрыть, иначе программа не сможет работать. Он запускается в Диалоге. А редактор по кнопке закрывать не надо. Окно остается на экране и после выполнения программы. И таких окон можно открыть очень много. В программе есть возможность открыть любой другой файл или спасти данный файл с другим именем. То есть такая система позволяет редактировать сразу много файлов с помощью одной программы. И эти окна имеют собственные иконки для перехода к какому-либо из них. Разумеется есть альтернативный подход -- открывать много окон программы ( vkACL), но это очень затратно для памяти компьютера.
Вторая программа работает аналогично, но она сночала показывает список файлов, который можно редактировать, а потом сразу открывает редактор с нужным файлом. Но у нее есть дополнительная возможность. При указании пути к файлу первым символом может быть + (плюс). Он указывают, что нужно открыть втроенный редактор, который эквивалентен редактору ACL программ, но имеет собственное окно. Для чего это надо. Дело в том, что встроенный редактор использует логические фонты. Их 5 штук и не всегда ясно какому конкретно фонту на компьютере они соответствуют. Так же точно работает браузер. Это делается для того, чтобы программа могла работать в любой операционной системе и с любым набором фонтов. А большой редактор использует конкретные фонты конкретного компьютера. И если используются символы Таб и пробелы, то часто тексты в виде таблиц показываются в разных редакторах по разному и не точно соответствуют друг другу.
Например, для сравнения текстов во встроенном редакторе ACL программы удобнее использовать вторую программу с символлом + перед именем файла, тогда редактор будет иметь такие же фонты и точно соответствовать редактору программы. Встроенный редактор не умеет менять файлы и спасать их под другим именем. Поэтому имя файла надо задавать в списке. Это пока единственный способ решить проблему несоответствия фонтов.
Из остальных программ интересна новая программа [Runner]. Она показывает собственную таблицу для запуска файлов. Но, в отличие от заранее заготовленных таблиц, эту таблицу можно самому настраивать и изменять. Для этого запускается программа по первой кнопке таблицы, которая как раз такую работу и выполняет. У нее есть собственное описание и там можно узнать как с ней работать. Остальные программы тоже очень интересные, но про них уже есть лекции на Ютубе и отдельные подробные тексты. Все ссылки можно посмотреть в списке ссылок.
.
.