Из нового, помимо новых контролов, их свойств, и обновления версии Lazarus:
По моей просьбе появилась поддержка виндовой кодировки (надо написать VCL.setCPWin(true) после стандартной инициализации, которая показана в примерах по ссылке выше). Реализована она конвертацией в UTF8 и обратно для всех строк, идущих внутрь GUI.
Форма нормально работает в main(), то есть не в главном потоке. Надо просто создавать форму в main() и потом в цикле делать VCL.Application():ProcessMessages(). Вроде раньше с этим были проблемы.
Я так понял, что изменилось создание меню. . Действия заворачиваются внутрь Action вместе с иконкой и горячей клавишей.
Также обновляется для создания форм прямо на Lua (т.е. без установки Free Pascal) и сохранения формы в JSON. Сохраняется в UTF8, но если файл пересохранить в CP1251, загрузить в скрипте в квике и использовать пункт 1 списка, то русский язык должен быть на месте. Из минусов, утилита поддерживает не все доступные в VCLua контролы, и не все их свойства позволяет редактировать. В частности, пока нельзя задать иконки, картинки. Я утилиту запускаю через интерпретатор, перейдя в папку vt-form\vt-form\dist54\ и выполняю там команду путь-до-луа\qlua\bin\lua54.exe vt-form.lua
Автор сейчас активен на github и жаждет багрепортов.
Эту штуку к квику прикрутить можно? Есть примеры такого? Круто было бы отказаться от извращений с вводом в таблицы квика. Еще хорошо бы умела графики рисовать и координаты клика мышкой по ним выдавать на событие.
Пользователь
Сообщений: Регистрация: 02.02.2015
миру мир!
16.01.2024 13:06:23
Цитата
Cyber написал: Эту штуку к квику прикрутить можно?
Делал на её основе библиотеку. Работает, много роботов с этой библиотекой есть
Ну и ещё там рядом есть. Если они штатном добавили поддержку Win кодировки - то и вовсе круто, по сути это была единственная основная проблема, которую решал своей библиотекой
Графиков в смысле отображения торговых данных - встроенных там, конечно, нет
Пользователь
Сообщений: Регистрация: 12.04.2025
12.04.2025 13:00:35
Друзья, можете помочь мне разобраться с такой, казалось бы простой задачей?
Пользователь
Сообщений: Регистрация: 27.01.2017
12.04.2025 13:54:33
Цитата
oleglist написал: Друзья, можете помочь мне разобраться с такой, казалось бы простой задачей?
Для создания окна управления скриптом, не нужны внешние библиотеки.
Пользователь
Сообщений: Регистрация: 12.04.2025
12.04.2025 15:07:19
а как тогда сделать то? Нужно окно, с кнопками, меню и окном табличной формы
Пользователь
Сообщений: Регистрация: 12.04.2025
12.04.2025 15:28:20
Как создавать подобные формы без DLL можете тогда подсказать?
Именно в таком виде, нужна dll, да. Но вопрос бы про интерфейс управления скриптом. Ответ - достаточно табличных форм qlua. Главная цель же - это скрипт и его работа, а форма управления, даже если она не имеет выпадающих списков, колесиков и прочей, позволяющая редактировать параметры, вполне достаточна.
Пользователь
Сообщений: Регистрация: 12.04.2025
15.04.2025 20:51:54
не понял как можно без кнопок вообще что то делать-) фото сделайте, как вы управляете без длл?
Пользователь
Сообщений: Регистрация: 27.01.2017
16.04.2025 08:35:14
Да пожалуйста. Есть и кнопки, и несколько окон, и списки выбора (хоть и не выпадающие) и т.д.
Интересно, надо будет посмотреть. Спасибо. А у вас нет случайно варианта как работать с MySQL через Lua 5.4 из Квика решения?
Пользователь
Сообщений: Регистрация: 27.01.2017
16.04.2025 09:00:32
Я предпочитаю sqlite
Пользователь
Сообщений: Регистрация: 12.04.2025
16.04.2025 12:51:08
а к sqllite можете помочь найти ?
Пользователь
Сообщений: Регистрация: 12.04.2025
16.04.2025 13:03:52
я только начал эту тему и смотрю таких вещей нет нигде тут . Все так завернуто не понятно, жуть. Поставил mysql, но установить и делать через mslite тоже могу, тем более он мне раньше нравился сильно в версии интерпрайз
Пользователь
Сообщений: Регистрация: 27.01.2017
16.04.2025 13:05:30
Я собираю сам из исходников
set LUA_DIR=C:\Lua\5.4 set CFLAGS= /O1 /DPSAPI_VERSION=1 /I"%LUA_DIR%\include" /MD cl /nologo -c %CFLAGS% sqlite3.c cl /nologo -c %CFLAGS% lsqlite3.c link /nologo sqlite3.obj lsqlite3.obj /EXPORT:luaopen_lsqlite3 /LIBPATH:"%LUA_DIR%\lib" lua54.lib /DLL /OUT:lsqlite3.dll
Но есть и готовые, скачивал как-то давно
Пользователь
Сообщений: Регистрация: 12.04.2025
16.04.2025 13:42:50
спасибо Вам!!! а вот этот код не подскажете куда надо помещать? и где взять lua54.lib? я в этом не бум бум пока. Что к чему не могу понять)
Пользователь
Сообщений: Регистрация: 12.04.2025
16.04.2025 13:43:13
вот этот
set LUA_DIR=C:\Lua\5.4 set CFLAGS= /O1 /DPSAPI_VERSION=1 /I"%LUA_DIR%\include" /MD cl /nologo -c %CFLAGS% sqlite3.c cl /nologo -c %CFLAGS% lsqlite3.c link /nologo sqlite3.obj lsqlite3.obj /EXPORT:luaopen_lsqlite3 /LIBPATH:"%LUA_DIR%\lib" lua54.lib /DLL /OUT:lsqlite3.dll
Пользователь
Сообщений: Регистрация: 12.04.2025
16.04.2025 13:44:12
а то что то не могу понять ка5к мне "завестись" -)) не было опыта с Lua
Пользователь
Сообщений: Регистрация: 27.01.2017
16.04.2025 13:50:47
Библиотеки скачиваются с сайта LUA. Именно библиотеки. Можно, конечно, и самому собрать из исходников.
Это команды сборки в среде х64 command promt VS - терминал. Можно сделать bat файл с этим содержимым и запустить его в среде x64. Т.е. это не особенность Lua, а просто сборка dll из исходников.
Пользователь
Сообщений: Регистрация: 12.04.2025
16.04.2025 17:55:44
был перерыв в программировании большой и теперь пробелы...я правильно понял, что мне надо 1) зайти на сайт LUA официальный и там где то скачать файл lua54.lib ? 2) Зайти в Visual Studio 2022 ( у меня такая) и там как то куда то ;-)) набрать данный код
set LUA_DIR=C:\Lua\5.4 set CFLAGS= /O1 /DPSAPI_VERSION=1 /I"%LUA_DIR%\include" /MD cl /nologo -c %CFLAGS% sqlite3.c cl /nologo -c %CFLAGS% lsqlite3.c link /nologo sqlite3.obj lsqlite3.obj /EXPORT:luaopen_lsqlite3 /LIBPATH:"%LUA_DIR%\lib" lua54.lib /DLL /OUT:lsqlite3.dll,
прочитав перед этим как из lib в VS делать dll,
а на выходе и будет нужный lsqlite3.dll ?
Или я все не так понял и "Это команды сборки в среде х64 command promt VS - терминал. " это про что то другое?
А если я так понял, то можно и из lua54.dll таким же кодом получить и mysql.dll ?
Тогда вопрос, а почему бы просто не использовать сразу lua54.dll? для всего, зачем надо делать из одной dll по сути другую?
Все же хочу сам сделать dll для mysql. 1) Какие файлы должны лежать тут "set LUA_DIR=C:\Lua\5.4"? 2) а это что означает и что то нужно под эту строчку "set CFLAGS= /O1 /DPSAPI_VERSION=1 /I"%LUA_DIR%\include" /MD" в директорий класть какой то файл? MD это что такое значит? 3) а эти файлы, но только mysql "cl /nologo -c %CFLAGS% sqlite3.c и cl /nologo -c %CFLAGS% lsqlite3.c" куда кинуть и почему их два? ну и 4) link /nologo sqlite3.obj lsqlite3.obj /EXPORT:luaopen_lsqlite3 /LIBPATH:"%LUA_DIR%\lib" lua54.lib /DLL /OUT:lsqlite3.dll, тут можете тоже сказать что куда класть и что за смысл тут происходит?
Пользователь
Сообщений: Регистрация: 27.01.2017
17.04.2025 10:57:18
Это команды терминала. Если у Вас установлена VS, то значит есть и x64 Native Tool Comand Promt. Что тоже просто терминал, но в окружении VS.
Библиотеки Lua загружаются на странице загрузки с оф. сайта в разделе Tools, где прямо написано Pre-compiled Lua libraries and executables are available at . Где и есть ссылка
Как писал выше, проще всего создать bat файл, в него поместить все команды и выполнить его в Comand Promt в каталоге где находятся исходники. Собственно ошибка-то даже по-русски пишет, что нет файла в каталоге запуска.
Для сборки mySql будут совсем другие команды link, так что это уже совсем другой вопрос.
Пользователь
Сообщений: Регистрация: 20.03.2023
17.04.2025 12:44:13
Не, ну sql либы могли бы в другой ветке обсуждать...
Цитата
Nikolay написал: Ответ - достаточно табличных форм qlua. Главная цель же - это скрипт и его работа, а форма управления, даже если она не имеет выпадающих списков, колесиков и прочей, позволяющая редактировать параметры, вполне достаточна.
Для меня главное было гуи иметь вне главного потока QUIK, что моя либа позволяет сделать. Таблицы квика отрисовываются в главном потоке.