Новая версия VCLua - библиотеки для GUI

Страницы: 1
RSS
Новая версия VCLua - библиотеки для GUI
 
Зарелизился сабж 0.9.2
Качать
Писать багрепорты здесь, примеры тут

Из нового, помимо новых контролов, их свойств, и обновления версии Lazarus:
  1. По моей просьбе появилась поддержка виндовой кодировки (надо написать VCL.setCPWin(true) после стандартной инициализации, которая показана в примерах по ссылке выше). Реализована она конвертацией в UTF8 и обратно для всех строк, идущих внутрь GUI.
  2. Форма нормально работает в main(), то есть не в главном потоке. Надо просто создавать форму в main() и потом в цикле делать VCL.Application():ProcessMessages(). Вроде раньше с этим были проблемы.
  3. Я так понял, что изменилось создание меню. Пример. Действия заворачиваются внутрь Action вместе с иконкой и горячей клавишей.
  4. Также обновляется GUI утилита для создания форм прямо на Lua (т.е. без установки Free Pascal) и сохранения формы в JSON. Сохраняется в UTF8, но если файл пересохранить в CP1251, загрузить в скрипте в квике и использовать пункт 1 списка, то русский язык должен быть на месте. Из минусов, утилита поддерживает не все доступные в VCLua контролы, и не все их свойства позволяет редактировать. В частности, пока нельзя задать иконки, картинки. Я утилиту запускаю через интерпретатор, перейдя в папку vt-form\vt-form\dist54\ и выполняю там команду путь-до-луа\qlua\bin\lua54.exe vt-form.lua
Автор сейчас активен на github и жаждет багрепортов.
Скрытый текст
 
Эту штуку к квику прикрутить можно?
Есть примеры такого?
Круто было бы отказаться от извращений с вводом в таблицы квика.
Еще хорошо бы умела графики рисовать и координаты клика мышкой по ним выдавать на событие.
 
Цитата
Cyber написал:
Эту штуку к квику прикрутить можно?

Делал на её основе библиотеку. Работает, много роботов с этой библиотекой есть

https://quik2dde.ru/viewtopic.php?id=111

https://quik2dde.ru/viewtopic.php?id=112

https://quik2dde.ru/viewtopic.php?id=26

Ну и ещё там рядом есть.
Если они штатном добавили поддержку Win кодировки - то и вовсе круто, по сути это была единственная основная проблема, которую решал своей библиотекой

Графиков в смысле отображения торговых данных - встроенных там, конечно, нет
 
Друзья, можете помочь мне разобраться с такой, казалось бы простой задачей?
Подскажите Как сделать в Квике( 9.2.3.15) на Lua вывод окна, с которого будет управляться робот? — форум QUIK
 
Цитата
oleglist написал:
Друзья, можете помочь мне разобраться с такой, казалось бы простой задачей?
Подскажите Как сделать в Квике( 9.2.3.15) на Lua вывод окна, с которого будет управляться робот? — форум QUIK
Для создания окна управления скриптом, не нужны внешние библиотеки.
 
а как тогда сделать то? Нужно окно, с кнопками, меню и окном табличной формы
 
Как создавать подобные формы без DLL можете тогда подсказать?
 
Именно в таком виде, нужна dll, да. Но вопрос бы про интерфейс управления скриптом. Ответ - достаточно табличных форм qlua. Главная цель же - это скрипт и его работа, а форма управления, даже если она не имеет выпадающих списков, колесиков и прочей, позволяющая редактировать параметры, вполне достаточна.
 
не понял как можно без кнопок вообще что то делать-) фото сделайте, как вы управляете без длл?
 
Да пожалуйста. Есть и кнопки, и несколько окон, и списки выбора (хоть и не выпадающие) и т.д.
 
Интересно, надо будет посмотреть. Спасибо. А у вас нет случайно варианта как работать с MySQL через Lua 5.4  из Квика решения?
 
Я предпочитаю sqlite
 
а к sqllite можете помочь найти ?
 
я только начал эту тему и смотрю таких вещей нет нигде тут . Все так завернуто не понятно, жуть. Поставил mysql, но установить и делать через mslite тоже могу, тем более он мне раньше нравился сильно в версии интерпрайз
 
Я собираю сам из исходников

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

Но есть и готовые, скачивал как-то давно https://disk.yandex.ru/d/xJvJ8TuSMvE-Bg
 
спасибо Вам!!! а вот этот код не подскажете куда надо помещать? и где взять lua54.lib? я в этом не бум бум пока. Что к чему не могу понять)
 
вот этот

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
 
а то что то не могу понять ка5к мне "завестись" -)) не было опыта с Lua
 
Библиотеки скачиваются с сайта LUA. Именно библиотеки. Можно, конечно, и самому собрать из исходников.

Это команды сборки в среде х64 command promt VS - терминал. Можно сделать bat  файл с этим содержимым и запустить его в среде x64. Т.е. это не особенность Lua, а просто сборка dll из исходников.
 
был перерыв в программировании большой и теперь пробелы...я правильно понял, что мне надо 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 по сути  другую?

Почитать бы где про это...

Спасибо, добрый человек!

 
 
что то непонятное вышло. я ctrl c -ctrl -V нажал
 
непонятное вышло. я ctrl c -ctrl -V нажал
 
А где эта библиотека то с базами данных на официальном  сайте найти не могу?
Тут смотрю нет  
 
Все же хочу сам сделать 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, тут можете тоже сказать что куда класть и что за смысл тут происходит?
 
Это команды терминала. Если у Вас установлена VS, то значит есть и x64 Native Tool Comand Promt. Что тоже просто терминал, но в окружении VS.

Библиотеки Lua загружаются на странице загрузки с оф. сайта в разделе Tools, где прямо написано Pre-compiled Lua libraries and executables are available at LuaBinaries. Где и есть ссылка https://sourceforge.net/projects/luabinaries/files/5.4.2/Windows%20Libraries/

Как писал выше, проще всего создать bat файл, в него поместить все команды и выполнить его в Comand Promt в каталоге где находятся исходники. Собственно ошибка-то даже по-русски пишет, что нет файла в каталоге запуска.

Для сборки mySql будут совсем другие команды link, так что это уже совсем другой вопрос.
 
Не, ну sql либы могли бы в другой ветке обсуждать...
Цитата
Nikolay написал:
Ответ - достаточно табличных форм qlua. Главная цель же - это скрипт и его работа, а форма управления, даже если она не имеет выпадающих списков, колесиков и прочей, позволяющая редактировать параметры, вполне достаточна.
Для меня главное было гуи иметь вне главного потока QUIK, что моя либа позволяет сделать. Таблицы квика отрисовываются в главном потоке.
Страницы: 1
Читают тему
Наверх