201

Re: Визуальный интерфейс VCLua в QUIK

не слышал о таком

202

Re: Визуальный интерфейс VCLua в QUIK

Нашел называется vclua ide попробую отпишусь

203

Re: Визуальный интерфейс VCLua в QUIK

Добрый день! Можете подсказать по настройке Lazarus? Пытаюсь скомпилировать/собрать vcl.dll 0.3.5 (http://luaforge.net/projects/vclua/) в Lasarus 1.4.2 fpc-2.6.4 и ошибка с LazLogger:

C:\Lazarus\lcl\lclproc.pas(32,28) Fatal: Невозможно найти модуль LazLogger, используемый в LCLProc. Убедитесь, что все файлы PPU пакета находятся в его каталоге вывода. PPU в неверном каталоге=C:\Lazarus\components\lazutils\lib\i386-win32\lazlogger.ppu. Удалите пакет "LazUtils"..

Lazarus установлен в C:\Lazarus, проект в C:\vcl, файлы в C:\Lazarus\components\lazutils\lib\i386-win32 есть

http://i72.fastpic.ru/big/2015/0726/80/66127d46e5138c1ee37ee5043fce2c80.png

204

Re: Визуальный интерфейс VCLua в QUIK

http://forum.lazarus.freepascal.org/ind … ic=18557.0

205

Re: Визуальный интерфейс VCLua в QUIK

Большое спасибо! Ветка по компиляции vcl: http://forum.lazarus.freepascal.org/ind … ic=18614.0

Появилась другая ошибка: Error: Error while compiling resources -> Compile with -vd for more details. Check for duplicates.
На это ответ не нашел

206 (2016-09-29 11:41:31 отредактировано sam063rus)

Re: Визуальный интерфейс VCLua в QUIK

-

207 (2016-09-29 11:41:22 отредактировано sam063rus)

Re: Визуальный интерфейс VCLua в QUIK

-

208 (2015-11-17 16:34:12 отредактировано GREEN_X5)

Re: Визуальный интерфейс VCLua в QUIK

День добрый!
К сожалению, до изучения Паскаль у меня дело пока не дошло, хотя и планирую ))
Подскажите пожалуйста, какие аргументы готов принять

StringGrid:AddRow()

пока опытным путем установлено, что нужно передать хотя бы пустую таблицу, иначе не запустится

StringGrid:AddRow({})

в таблицу можно сразу набить значения контролов? Или наполнение ячеек?

Или научите пожалуйста считывать перечень и дефолты контролов из таких методов.
Спасибо.

209

Re: Визуальный интерфейс VCLua в QUIK

Вот например

StringGrid::AddCol(
{
Width=70,
Alignment="taCenter",
Color=RGB(255,255,245),
Title={Caption="Тикер", Alignment="taCenter"}
}
)

принимает кучу параметров на контролы. А AddRow() игнорирует, например, Color и Height...

210 (2016-09-29 11:40:44 отредактировано sam063rus)

Re: Визуальный интерфейс VCLua в QUIK

-

211

Re: Визуальный интерфейс VCLua в QUIK

sam063rus пишет:

из документации к VCLua 0.3.5:

Method     Call

AddCol     AddCol([index,] table)
AddRow     index AddRow([index])

фишка в том, что в реальности  AddRow ждет таблицу.
AddRow() - не работает
AddRow({}) - работает

qwcl от swerg, на базе VCLua 0.5, если не ошибаюсь. Вряд ли swerg что-то кардинально менял в AddRow()

212 (2016-09-29 11:40:34 отредактировано sam063rus)

Re: Визуальный интерфейс VCLua в QUIK

-

213 (2015-11-17 21:11:20 отредактировано GREEN_X5)

Re: Визуальный интерфейс VCLua в QUIK

Погуглил, действительно, он ждет аргумент - позицию для вставки строки.
AddRow(1)  - добавит строку второй по счету. Работает. Никаких других аргументов для контролов похоже внутрь не упаковать. Ну да ладно...
Как-то жаль и странно что он по дефолту AddRow() не добавляет строку в начало или конец таблицы.

214 (2016-09-29 11:40:23 отредактировано sam063rus)

Re: Визуальный интерфейс VCLua в QUIK

-

215 (2015-11-18 00:26:29 отредактировано swerg)

Re: Визуальный интерфейс VCLua в QUIK

Свойства у строки - не подразумеваются по смыслу.
Если у колонок разные свойства (потому как есть заголовок и всё такое).
А строки - это просто однотипные строки данных.

Для вставки можно использовать

new_row = Grid:AddRow()  -- new_row <- номер добавленной строки
Grid:LoadRowFromTable(new_row, {"1", "2", "3"})

Количество данных в таблице - не больше, чем столбцов! иначе рванёт, если я верно понял код (не проверял)
(есть смысл подправить, кстати, какой смысл от этого взрыва в этом месте).

216

Re: Визуальный интерфейс VCLua в QUIK

Свойства у строк могут быть разными, например можно изменить высоту отдельной строки

grid:SetRowHeight(3,3)

а значит явно есть контрол в свойствах. Какой именно - не знаю, но записано будет вот так

      <rows rowcount="1">
        <row1 index="3" height="3"/>
      </rows>

Поэтому и возник интерес сразу задать некоторые свойства при добавлении строки, например цвет, шрифт.



Вот ещё вопрос, может быть подскажете, не могу подобрать синтаксис передачи сразу двух свойств шрифту

vcl.Label(Form, {Top=5, Left=5, Caption="название", Font={Style="fsBold"}}) 

Стилю нужно передать одновременно и "fsBold" и "fsItalic".
Спасибо.

217

Re: Визуальный интерфейс VCLua в QUIK

Так?

"[fsBold,fsItalic]"

218

Re: Визуальный интерфейс VCLua в QUIK

CyberTrader пишет:

Так?

"[fsBold,fsItalic]"

Работает, спасибо.

219

Re: Визуальный интерфейс VCLua в QUIK

Для элемента ComboBox:
1) Как узнать названия всех списков?
2) Можно ли заменить текст отдельного пункта или только через полную замену параметра Items?

220

Re: Визуальный интерфейс VCLua в QUIK

Если в цикле с определённой периодичностью происходит замена параметра Text какого-либо элемента, в целях уменьшения нагрузки имеет ли смысл проверять, что элемент уже содержит данный текст?

if control.Text ~= Text then control.Text = Text end

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

221 (2015-11-30 17:46:28 отредактировано GREEN_X5)

Re: Визуальный интерфейс VCLua в QUIK

CyberTrader пишет:

Если в цикле с определённой периодичностью происходит замена параметра Text какого-либо элемента, в целях уменьшения нагрузки имеет ли смысл проверять, что элемент уже содержит данный текст?

if control.Text ~= Text then control.Text = Text end

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

Проверять смысла нет. Если значение то же, выигрыша во времени нет, т.к. чтение контрола так же ресурсоемко, как и запись. Если значение иное - тратим в 2 раза больше времени. Впрочем, можете замерить чтение и запись.
OnChange срабатывает независимо от содержания обработчика и старых значений на контролах.

222 (2015-11-30 19:23:21 отредактировано CyberTrader)

Re: Визуальный интерфейс VCLua в QUIK

GREEN_X5 пишет:

OnChange срабатывает независимо от содержания обработчика и старых значений на контролах.

Пари?

  Edit = vcl.Edit(MainForm, {OnChange = function (sender) message(tostring(sender.Text)) end})
  vcl.Timer(MainForm, {Interval=1000, Enabled=true, OnTimer = function () message('Проверим?') Edit.Text = 'OK' end})

GREEN_X5 пишет:

Проверять смысла нет. Если значение то же, выигрыша во времени нет, т.к. чтение контрола так же ресурсоемко, как и запись. Если значение иное - тратим в 2 раза больше времени.

Я исхожу из того, что обычно операции записи более ресурсоёмкие, чем чтение. Соответственно, при большом числе повторяющихся записей можем получить значительную экономию.
Но пример с OnChange говорит о том, что в самой библиотеке есть какие-то проверки. Вопрос - какие?


PS: Кстати, если вручную отправлять на контрол повторяющийся текст, тогда

GREEN_X5 пишет:

OnChange срабатывает независимо от содержания обработчика и старых значений на контролах.

223 (2015-11-30 20:20:11 отредактировано GREEN_X5)

Re: Визуальный интерфейс VCLua в QUIK

CyberTrader пишет:
GREEN_X5 пишет:

OnChange срабатывает независимо от содержания обработчика и старых значений на контролах.

Пари?

  Edit = vcl.Edit(MainForm, {OnChange = function (sender) message(tostring(sender.Text)) end})
  vcl.Timer(MainForm, {Interval=1000, Enabled=true, OnTimer = function () message('Проверим?') Edit.Text = 'OK' end})

Ничего не понял, что это? Что мы здесь проверяем?! )))
Я сказал - OnChange всегда вызовет обработчик по ссылке и функции. В Вашем примере он вызывает ВСЕГДА при изменении поля.
Тут что-то потаенное в примере? )

224 (2015-11-30 20:24:16 отредактировано GREEN_X5)

Re: Визуальный интерфейс VCLua в QUIK

ааа, понял, Вы хотите сказать. что если послано такое же значение что и было, то OnChange не вызывается!
Ну, и? Для чего тогда проверять изменение (Ваш первый вопрос)?

Вот это вот зачем?

if control.Text ~= Text then control.Text = Text end

225

Re: Визуальный интерфейс VCLua в QUIK

GREEN_X5, если вы не поняли, можете не обращать внимания ))