126

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

sam063rus пишет:

даже если робот будет скомпилирован ( будет иметь расширение ".luac") - его всегда можно декомпилировать практически один в один современным LUA-декомпилятором. Именно так я и поступаю, когда вижу в интернете платных "триальных" роботов. Это помогает узнать современные подходы в их программировании

Не шутите?

А можно  ссылочку на такой "современный" декомпилятор?  Но только на "современный", чтобы вот так брал и на раз-два все современные подходы?

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

128

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

sam063rus пишет:

s_mike,

единственное, что он не восстанавливает при декомпиляции - название аргументов функций, заменяя их буквенно-цифровыми индексами. функции, глобальные переменные, названия таблиц, всё - в первозданном виде. Ссылок не привожу - захотите, сами найдёте, как и я, через гугл. Если вы под "современными подходами" подразумеваете ручное обфусцирование полученного байткода - то, НЕТ - он это не умеет. Но, на каждые "руки" - есть другая голова. Что не додумала программа - додумает человек. благо исходники самого декомпилятора имеются.

p.s. могу, кстати, вас успокоить: Ваш nrtr.lua сборки 15.11.2013     01:44 - он "ниАсилил smile ". Но это просто им в плотную никто ещё не занимался.

sam063rus,

индикатор nrtr проще переписать, чем восстановить. Не занимайтесь ерундой.

По поводу ссылок - я это в свое время делал. Вы не сможете привести ссылку, ибо все luac декомпиляторы - это лишь попытки, которые выдают что-то отдаленно напоминающее исходный вариант, но всегда нерабочий.

Чтобы (попробовать) восстановить исходный код, нужен как минимум листинг от luac, которого у вас на руках нет.

Я вам даже больше скажу. Ни один декомпилятор в принципе не в состоянии из байт-кода компилятора восстановить исходный текст. Например, в случае, если код самомодифицируется или перегружается на лету.

Поэтому не тратьте свое время на глупости и не пишите того, чего никогда не делали и не могли делать.

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

130

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

GREEN_X5 пишет:
kalikazandr пишет:

Добрый день. А окно авторизации по типу квиковского как-то можно сделать?

Нет, нельзя. vcl не позволяет нарисовать форму Form, нет элемента Edit и кнопки Button.

Еще раз спасибо за примеры. Вот набросал окно авторизации, корявенькое конечно, ну какое есть:

VCL = require "qvcl"

local is_run = true
local login, pass = "вася", "123"
local msg = ""

function OnStop() myForm:Release(); VCL = nil; is_run = false end

local buttonInput = function () 
    local eL,eP = editLogin.Text, editPass.Text
    if eL ~= "" and eP ~= "" then
        if eL == login and eP == pass then
            msg="Приятного заработка"
        else msg="Ща торгону" end
        myForm:Release(); VCL = nil--отдаю в расчет в любом случае
    end
end
local buttonCancell = function ()
    myForm:Release(); VCL = nil; is_run=false
end
local OnKeyDown = function (Sender, key)
    if key == 13 then
        local SN = Sender.Name
        if SN == "Ibutton" then buttonInput() 
        elseif SN == "Cbutton" then buttonCancell() end
    end
end
myForm =  VCL.Form( {
    Height = 170, Width = 240, Caption = "Идентификация",
    Position = "podesktopcenter",
    OnClose = function (sender) sender:Release(); VCL = nil; is_run=false end } )

StaticText = VCL.StaticText(myForm, { Name = "StaticText",
    top=10, left=20, Width = 200, Height=45,
    BorderStyle="sbsSunken", Alignment = "taCenter", Caption="Введите Ваше Имя"})
editLogin = VCL.Edit( myForm, { top=30, left=22, Width=196, Height=20} )

StaticText1 = VCL.StaticText(myForm, {Name = "StaticText1",
    top=70, left=20, Width = 200, Height=45,
    BorderStyle="sbsSunken", Alignment = "taCenter", Caption="Введите Ваш пароль"})
editPass = VCL.Edit( myForm, { top=90, left=22, Width=196, Height=20} )

Ibutton = VCL.Button(myForm,"Ibutton")
Ibutton._ = { Top=130, Left=20, width=80, height=25, caption="ввод", OnClick = buttonInput, OnKeyDown = OnKeyDown }

Cbutton = VCL.Button(myForm,"Cbutton")
Cbutton._ = { Top=130, Left=140, width=80, height=25, caption="отмена", OnClick = buttonCancell, OnKeyDown = OnKeyDown }

myForm:Show()

function main()
    repeat sleep(1)
    until VCL == nil
    if is_run then message(msg,2) end
    while is_run do
        sleep(1)
    end
end

Не понял, как сделать кнопку "ввод" активной, что бы TABом не листать, но это не важно.

131

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Если для SpinEdit удалить ограничение верхнего значения, то также снимется и ограничение для нижнего, в независимости от того, задан ли параметр MinValue: 

SpinEdit = vcl.SpinEdit(hPage1, {})
SpinEdit.MaxValue = nil
SpinEdit.MinValue = 1

132

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Krepysh пишет:

Если для SpinEdit удалить ограничение верхнего значения, то также снимется и ограничение для нижнего, в независимости от того, задан ли параметр MinValue: 

SpinEdit = vcl.SpinEdit(hPage1, {})
SpinEdit.MaxValue = nil
SpinEdit.MinValue = 1

Разорванный в клочья прапорщик шепчет санитару:
-"Передай нашим, если с гранаты выдернуть кольцо, она взрывается!"

Ну в смысле, наверное не стоит передавать nil на котролы. )

133

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

GREEN_X5,
к чему этот сарказм? Как снять верхнее ограничение для SpinEdit?

134 (2015-02-15 00:28:18 отредактировано GREEN_X5)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Krepysh пишет:

GREEN_X5,
к чему этот сарказм? Как снять верхнее ограничение для SpinEdit?

Я же вроде пояснил к чему сарказм. Верхнее и нижнее значения предопределены численными значениями и их можно менять на численные значения. Это же очевидно. Послав неопределенную величину nil (практически уничтожив координату) Вы рискуете разрушить конструкцию, что и случилось. Для чего Вам снимать верхнее значение? Оно у Вас может быть больше миллиона? Миллиарда? Или Вам просто заняться больше нечем?

Запустите этот скрипт чтобы проверить формат предопределенных значений на контролах, там нет и не может быть никаких boolean

VCL = require "qvcl"
spin = VCL.SpinEdit( VCL.Form(),"spin")
message("Increment="..tostring(spin.Increment).." MinValue="..tostring(spin.MinValue).." MaxValue="..tostring(spin.MaxValue))

а теперь вот так

VCL = require "qvcl"
spin = VCL.SpinEdit( VCL.Form(),"spin")
spin.MinValue=10
spin.MaxValue=nil
message("Increment="..tostring(spin.Increment).." MinValue="..tostring(spin.MinValue).." MaxValue="..tostring(spin.MaxValue))

Как видите, boolean разово выполняет какую-то недокументированную работу, но не записывается в контрол.

135

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

GREEN_X5,
если вы так и не поняли, то поясню: параметру MaxValue я присвоил значение nil именно для того, чтобы убрать ограничение верхнего значения. Оно, действительно, может быть любым, поэтому не хотелось ставить какое-то определённое значение.
Напомню, что в Lua значение nil имеет отличный от других булевых значений смысл. Фактически, это - отсутствие значения.
Видимо, в vcl для контролов должны быть заданы значения всех без исключения параметров. Если параметр не задан пользователем, то подставляется умалчиваемое значение. Что ж, буду ставить максимально возможное.

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

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

137 (2015-02-16 11:23:53 отредактировано GREEN_X5)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Krepysh пишет:

GREEN_X5,
если вы так и не поняли, то поясню: параметру MaxValue я присвоил значение nil именно для того, чтобы убрать ограничение верхнего значения. Оно, действительно, может быть любым, поэтому не хотелось ставить какое-то определённое значение.
Напомню, что в Lua значение nil имеет отличный от других булевых значений смысл. Фактически, это - отсутствие значения.
Видимо, в vcl для контролов должны быть заданы значения всех без исключения параметров. Если параметр не задан пользователем, то подставляется умалчиваемое значение. Что ж, буду ставить максимально возможное.

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

Я же вам дал пример ,показывающий что nil в эти контролы передавать бесполезно, ограничения не снять. Как же до вас туго доходит... Верхнее и нижнее значение - это по сути координаты отрезка в одномерной системе. Если одна из координат исчезнет, не станет и отрезка, получится луч. spin с лучами не работает. Но в vcl в этом случае есть "защита от дурака" (как раз пригодилась в вашем случае), уничтоженная координата была восстановлена с интеллектуальным подбором нового значения.
Хоть "в этот раз", хоть в другой.
Boolean несут в vcl точно такой же смысл. Вернее по задумкам автора их вообще туда нельзя передавать. Можно передавать string "True", "False" и т.д. Но предусмотрительный разработчик позволил и boolean true, false, ведь особопытливым умам правила не писаны. Boolean nil в vcl не используется нигде для передачи на контролы. Нельзя и не нужно пытаться их уничтожать.

138 (2015-02-16 14:19:54 отредактировано Krepysh)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

[+]Spoiler
GREEN_X5 пишет:

Разорванный в клочья прапорщик шепчет санитару:
-"Передай нашим, если с гранаты выдернуть кольцо, она взрывается!"

Судя по вашему нервному поведению mad , это вы были тем прапорщиком.

GREEN_X5 пишет:

Boolean несут в vcl точно такой же смысл. Вернее по задумкам автора их вообще туда нельзя передавать.

С чего вы взяли? Не надо умничать, лучше изучайте документацию: там ясно указано, что значения параметров, на которые вы пытались передавать переменные True и False (не имеющие значений (nil)), на самом деле имеют тип Boolean. Проверяется элементарно:

tostring(grid.Flat)..' ('..type(grid.Flat)..')'

И что вы пытаетесь доказать? Выше я уже всё написал по данному вопросу. Вопрос закрыт.
Не надо пыжиться. Успокойтесь.

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

140 (2015-02-16 12:21:35 отредактировано Krepysh)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

К v.0.3.5 у меня есть документация. Не думаю, что в отношении типов параметров контролов v.0.5 сильно отличается от v.0.3.5.
Если нужно могу выложить. Но, думаю, она у всех уже есть.

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

142

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

Документация на VCLua 0.5
[url]ftp://ftp.heanet.ie/disk1/sourceforge/v/vc/vclua/vclua-v0.5.0/vclua-0.5-qrf.pdf[/url]

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

144

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

swerg пишет:

Документация на VCLua 0.5
[url]ftp://ftp.heanet.ie/disk1/sourceforge/v/vc/vclua/vclua-v0.5.0/vclua-0.5-qrf.pdf[/url]

Спасибо.

145 (2015-02-16 14:58:57 отредактировано swerg)

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

sam063rus пишет:

1. я так понимаю, авторы - не Вы? Значит та версия qvclua, которая находится на нашем сайте не отражена в документации.

Конечно не я. Это файл от автора VCLua. Я был уверен, что все его знают, ведь это первая ссылка в гугле (или вторая) при запросе документации.

sam063rus пишет:

сойдёт для начала.
вопросы:
1. я так понимаю, авторы - не Вы? Значит та версия qvclua, которая находится на нашем сайте не отражена в документации.
2. класс Application, я думаю, вообще в qvclua не нужен.  т.к. в данном случае, нет как такогого приложения. нет ни процесса, ни собственного потока исполнения. Есть просто класс-контейнер для контролов и куча контролов к нему.

Код не может выполняться без наличия приложения, процесса и собственно выполняющегося потока. Поэтому мне не совсем ясен смысл написанного вами.
При этом как-то полезно задействовать объект Application - в самом деле не очень понятно пока мне как, однако один его экземпляр обязательно создается в недрах run-time библиотеки поддержки визуальных контролов Delphi и Lazarus, и на него завязано большое количество внутреннего устройства этой библиотеки в потрохах.

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-

149

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

sam063rus, есть предложение: порт на дельфи vclua выделить в отдельную тему. Если Ok - прошу завести или выделю из этой.

swerg получает китайское предупреждение и напоминание, что есть другие форумы.

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

Re: Визуальный интерфейс QVCLua: обсуждения, замечания, предложения

-