Часть-4. Парсинг раздела «Uses» FS-скрипта с целями: 1. «отвязки» от «абсолютного пути» в именах файлов; 2. корректной выгрузки библиотечных FS-скриптов, хранящихся в ИБ, и «подключения» их к «вызывающему» FS-скрипту


Библиотека FastScript предоставляет отличную возможность − структурировать функционал скриптов, размещая соответствующие программные объекты (библиотечные функции, переменные, константы) в отдельных файлах, а затем − вызывать их из других FS-скриптов (также, как это реализовано в Delphi).
Для этого (по аналогии с Delphi) используется директива «uses».

Но проблема в том, что в текущей реализации FastScript в директиве «uses» можно использовать только полные имена файлов, что создает ощутимые неудобства при практическом применении библиотеки FastSript.

Причем, эта проблема существенно «мешает» не только при изменении местоположения FS-скриптов (в файловой системе ОС), но и при выгрузке их из БД для выполнения.


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


Открыть статью.

О применении библиотеки FastScript в своих проектах. Цикл статей. Основные тезисы

Используемые сокращения:
FS  – FastScript;
FSI – Интерпретатор скриптов (в части Обвязки для FastScript);
GUI – Графический Пользовательский Интерфейс;
БД  – База Данных;
ИС  – Информационная Система.

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


Существенная часть задач, где может быть применена библиотека FastScript,
это автоматизация выполнения различного рода прикладных (специфичных) задач конечного Пользователя − самим же Пользователем (в рамках эксплуатируемой ИС).
При этом, Пользователь (даже очень продвинутый), как правило НЕ является программистом со «всеми вытекающими». Чем более дружественным (комфортным) для него будет инструментарий, тем эффективнее он будет его применять.
Одним из факторов («облегчающих жизнь» конечному Пользователю), является максимально возможная локализация программного инструментария не только в части GUI, но и в части идентификаторов функций, процедур, переменных и констант (что при использовании FastScript легко реализуемо).


В силу того, что возможности библиотеки FastScript существенно велики, а «аппетит растет во время еды», то через довольно-таки небольшой промежуток времени количество «специальных» функций (которые добавляет Программист) может стать знАчимо «большим» (особенно, в «больших» ИС).
И в этом случае необходимо сразу предусматривать возможность группировки дополнительного функционала по отдельным модулям (которые будут подключаться по мере необходимости в процессе разработки конкретного скрипта или группы скриптов).


В ряде случаев, когда FastScript применяется в гибких ИС, тексты FS-скриптов хранятся в таблицах БД и загружаются для выполнения периодически, согласно принятого регламента, или ситуативно, по «требованию» внешних инициаторов информационного обмена.
«Требования» инициаторов информационного обмена могут включать некие исходные данные, которые должны быть учтены при выполнении FS-скрипта (входные параметры FSI), и возвращаемые данные, полученные в результате выполнения FS-скрипта (вЫходные параметры FSI).
Входные параметры FSI могут быть преобразованы в константы FastScript,
а вЫходные параметры FSI – в переменные FastScript.
Т.е., некий функционал (из состава Обвязки) конвертирует поступившие входные параметры – в константы FastScript, а вЫходные параметры – в переменные FastScript.
А затем, соответствующий FS-скрипт выгружается из БД и (используя компонент TfsScript библиотеки FastScript) запускается на выполнение. После того, как FS-скрипт выполнен, значения соответствующих переменных конвертируются Обвязкой в вЫходные параметры (для предоставления их инициатору информационного обмена в соответствии с требованиями).


В ряде случаев, когда FastScript применяется в гибких, объектно-ориентированных, распределенных (в том числе и иерархически) ИС, тексты FS-скриптов однозначно хранятся в соответствующих таблицах БД и участвуют в миграции данных в составе информационных потоков, предусмотренных соответствующими регламентами.
Кроме этого, определенные FS-скрипты могут реализовывать выполнение одних и тех же алгоритмов, но с специфическими исходными данными (зависящими от конкретных узлов распределенной сети ИС).
Как следствие:
идентификация FS-скриптов должна носить глобальный характер (для всей сети ИС);
процесс выгрузки взаимосвязанных FS-скриптов не должен быть привязан к конкретностям файловых систем.


Список статей цикла:


См., также, здесь (PDF-документ).

О применении библиотеки FastScript в своих проектах. Часть-2. Входные и вЫходные параметры FS-скрипта (при информационном обмене с внешними инициаторами)

Цикл статей по программированию в среде Delphi (ориентирован на FastScript).

См. продолжение:

О применении библиотеки FastScript в своих проектах. Часть-2. Входные и вЫходные параметры FS-скрипта (при информационном обмене с внешними инициаторами)

Программа spPasToHtml.exe

Программа предназначена для конвертации Delphi-файлов ( *.pas, *.dfm и *.dpr) в HTML формат.
Может быть полезной при подготовки исходников для публикации их на сайте.
(Автор разрабатывал под себя)

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

Статус программы: freeware.

ОС: Windows (разрабатывалась под Win-10).

Версия 1.00 от 22.02.2024.

Открыть страницу программы.

О применении библиотеки FastScript в своих проектах. Часть-1 «Расширение функционала»


Новый цикл статей по программированию в среде Delphi (ориентирован на FastScript).

См. начало:

О библиотеке FastScript.

Соглашения, термины и сокращения.

О применении библиотеки FastScript в своих проектах. Часть-1 «Расширение функционала»

Обновление раздела «Документы (скачать)»

Открыть раздел

Программирование. Delphi. По следам книги «Как построить свою экспертную систему». (c) К. Нейлор


К. Нейлор (в своей книге «Как построить свою экспертную систему») подробнейшим образом изложил как теоретические основы построения экспертных систем байесовского типа, так и их практическое применение для «домашних целей».

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

Но… Исходные коды приведены в синтаксисе языка программирования Basic…
Что несколько затрудняет их использование в современных условиях.

Автор этого Документа озадачился вопросом создания собственной экспертной системы (байесовского типа) с целью разработки ряда простых игровых (с элементами обучения детей основам некоторых технологий ИИ) программ.

Предлагаются исходники Delphi-компонента (TES_bayes), где реализован соответствующий функционал простой Байесовской экспертной системы. А также исходники программы, где можно протестировать этот компонент.

Открыть…

Программирование. Delphi 10.2 Tokyo. Гибриды (комплексы)

Использование DataSnap-технологии на примере разработки комплекса взаимодействующих приложений (ОС Windows, ОС Android и ОС Arduino) в среде Delphi 10.2 Tokyo. Иллюстрирующий пример


В последнее время все чаще на слуху такие термины, как «умный дом», «техносфера», «искусственный интеллект», «нейронные сети», «миварные технологии», «интернет вещей» и т.д.

Примечание – по личному мнению Автора термин «техносфера» включает в себя все, перечисленные выше, термины (как, в том числе, инструментарий для формирования «техносферы»).

Delphi (все ее «крайние» версии) предоставляет возможность разработки приложений для различных платформ (включая Windows и Android).

Кроме этого, на рынке (Aliexpress) предлагается достаточно много дешевых программируемых электронных модулей семейства Arduino, а также множество типов дешевых датчиков, индикаторов и исполнительных механизмов (которые ориентированы на подключение к Arduino).
Ряд модулей семейства Arduino имеют встроенную, аппаратную, поддержку для организации информационного обмена с внешними программами (включая и взаимодействие через wi-fi).

Наличие «всего этого» предоставляет возможность заинтересованному программисту предпринять практические шаги для «автоматизации» определенных, важных для него, процессов (включая и игровые с детьми/внуками).
Вплоть до формирования «Домашней техносферы своими руками»…


Открыть…

Программирование. Delphi 10.2 Tokyo. Гибриды (комплексы)

Использование DataSnap-технологии на примере разработки комплекса взаимодействующих приложений (ОС Windows и ОС Android) в среде Delphi 10.2 Tokyo. Последовательность действий


Постановка задачи (иллюстрирующий пример): 1. Разработать простую игру «Столкновение» «шаров» на плоскости. 2. Количество игроков: 2. 3. Цель игры: обеспечить столкновение двух «шаров» (т.е., игроки, управляя «шарами», должны столкнуть их друг с другом). 4. Визуализация процесса игры должна быть реализована в программе, функционирующей в среде ОС Window. 5. Управление игрой должно быть реализовано в программе, функционирующей в среде ОС Android. 6. Информационное взаимодействие программ (в комплексе) должно производиться с использованием Wi-Fi.


Открыть…

Обновление раздела Delphi 10.2 Tokyo. VCL

Появились подразделы:

Arduino. ТехноСфера. Шаг 4…

Программа ESP_12F_WeMos_D1_WiFi_Test.exe.
MS Windows.
Текущя версия версия программы: 0.08 от 13.11.2021.
Предназначена для проведения экспериментов, тестирования и отладки «связки» микроконтроллеров: ESP-12F WeMos D1 WiFi и Arduino UNO.
См. здесь

Arduino. ТехноСфера. Начало…

«А не замахнуться ли нам на Вильяма, понимаете ли, нашего Шекспира?» (цитата из фильма «Берегись автомобиля») …
См. здесь…

Программы (скачать)

В раздел «Скачать» -> «Программы» -> «Windows» , добавлены:
* Комплекс программ «Управление голосовым вводом текста/данных с телефона в MS Word, MS Excel и текстовый редактор»;
* Программа spFlexiCalc — интерпретатор скриптов (синтаксис: Pascal, C++, JS, VB). См., также, Pascal