<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[QUIK -> DDE &mdash; Использование wxLua в QUIK]]></title>
	<link rel="self" href="https://quik2dde.ru/extern.php?action=feed&amp;tid=20&amp;type=atom" />
	<updated>2013-05-13T08:17:07Z</updated>
	<generator>PunBB</generator>
	<id>https://quik2dde.ru/viewtopic.php?id=20</id>
		<entry>
			<title type="html"><![CDATA[Re: Использование wxLua в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=305#p305" />
			<content type="html"><![CDATA[<p>обратите внимание, что код не полный. Он сделан на основе grid.wx.lua - примера из поставки wx lua. Возьмите этот пример за основу.<br />подозреваю, вы забыли создать объект grid</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2013-05-13T08:17:07Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=305#p305</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Использование wxLua в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=304#p304" />
			<content type="html"><![CDATA[<p>не выдержал зарегался аж<br />Спасибо вам большое и пожалуйста продолжайте все что связаное с GUI и с lua очень интересует<br />вот с Perl хочу полностью перейти на lua</p><p>Подскажите вот такая вот ошибочка<br />Полностью ваш код переписал&nbsp; с чем это связано ?</p><div class="codebox"><pre><code>Lua: Error while running chunk
C:\1.lua:3: attempt to index global &#039;grid&#039; (a nil value)
stack traceback:
    C:\1.lua:3: in main chunk

Lua: Error while running chunk</code></pre></div>]]></content>
			<author>
				<name><![CDATA[mysiters]]></name>
				<uri>https://quik2dde.ru/profile.php?id=130</uri>
			</author>
			<updated>2013-05-13T04:01:13Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=304#p304</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Использование wxLua в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=35#p35" />
			<content type="html"><![CDATA[<p>&lt;reserved &gt;</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2012-12-20T18:48:32Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=35#p35</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Использование wxLua в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=31#p31" />
			<content type="html"><![CDATA[<p>&lt; reserved &gt;</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2012-12-20T17:50:16Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=31#p31</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Использование wxLua в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=30#p30" />
			<content type="html"><![CDATA[<p>&lt; reserved &gt;</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2012-12-20T17:50:13Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=30#p30</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Использование wxLua в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=29#p29" />
			<content type="html"><![CDATA[<p>Собственно попробуем сделать что-то, проверим действительно ли с нами wxLua?</p><p>Запускаем терминал QUIK, можно даже не подключаться к серверу<br />Таблицы -&gt; Lua -&gt;Доступные скрипты -&gt; нажимаем &quot;Добавить&quot;</p><p>Выбираем папку, куда был распакован архив с wxLua, там переходим в папку <strong>\samples\</strong> и выбираем файл <strong>grid.wx.lua</strong> (я откопировал его в отдельное место).<br />Эврика! видим замечательный грид! причем окно с гридом можно вытаскивать куда угодно, в том числе и за пределы окна QUIK.</p><p>Ладно, закроем это окно &quot;крестиком&quot; и чуть-чуть добавим кода в то место, где заолняются ячейки таблицы сразу после вот этих строчек<br /></p><div class="codebox"><pre><code>grid:SetCellValue(0, 0, &quot;First cell&quot;)
grid:SetCellValue(1, 1, &quot;Another cell&quot;)
grid:SetCellValue(2, 2, &quot;Yet another cell&quot;)
grid:SetCellFont(0, 0, wx.wxFont(10, wx.wxROMAN, wx.wxITALIC, wx.wxNORMAL))
grid:SetCellTextColour(1, 1, wx.wxRED)
grid:SetCellBackgroundColour(2, 2, wx.wxCYAN)</code></pre></div><p>долбавим:<br /></p><div class="codebox"><pre><code>grid:SetCellValue(4, 3, &quot;Special for Quik2Dde&quot;)
grid:SetCellBackgroundColour(4, 3, wx.wxCYAN)
grid:SetCellTextColour(4, 3, wx.wxRED)
grid:SetCellFont(4, 3, wx.wxFont(10, wx.wxMODERN, wx.wxDEFAULT, wx.wxBOLD))</code></pre></div><p>плюс в самом конце файла после всего текста припишем:<br /></p><div class="codebox"><pre><code>function main()
-- вставим пустую main()
-- если эту функцию не написать - будет отображена ошибка &quot;attempt to call a nil value&quot;
end</code></pre></div><p>Сохраняем, нажимаем &quot;Запустить&quot;</p><p><span class="postimg"><img src="https://quik2dde.ru/static-img/wx-grid-first-sample.png" alt="https://quik2dde.ru/static-img/wx-grid-first-sample.png" /></span></p><br /><p>Но, не все так хорошо, конечно.<br />Во-первых, подозрительно скрипт как бы остановлен, однако мы видим окно с гридом, которе еще и функционирует.<br />Во-вторых, если, не закрывая созданное окно с гридом, сразу закрыть тернминал QUIK, то при его закрытии возникает ошибка &quot;Internal exception happend.&quot;.</p><p>Так что пока это приложение если слишком несовершенно... будем работать, искать. Любые идеи принимаются.<br />Но главное, что было? правильно, <strong>запустить wxLua</strong>!</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2012-12-20T17:50:09Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=29#p29</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Использование wxLua в QUIK]]></title>
			<link rel="alternate" href="https://quik2dde.ru/viewtopic.php?pid=28#p28" />
			<content type="html"><![CDATA[<p>Для создания программ на LUA с графических интерфейсом удобно прикрутить мощную готовую библиотеку [url=http://wxlua.sourceforge.net/]wxLua[/url], которая представляет из себя LUA-обёртку над кросс-платформенной библиотекой [url=http://www.wxwidgets.org]wxWidgets[/url], предназначенной для удобной разработки GUI-интерфейсов, но далеко не только GUI! там и работа с XML, и работа с сетью, в том числе через сокеты - в общем простор открывается просто безграничный.</p><p>В частности, один из примеров в руководстве по QUIK LUA как раз содержит screen-shot элемента Grid, сделанного при помощи wxLua библиотеки ( [url=http://forum-archive.quik.ru/forum/lua/96731/96874/#m96874]пруф[/url] ).</p><p>Но перед началом использования этой чудо-библиотеки ее необходимо развернуть на своем компьютере. Особые ценители могут скачать исходники данной библиотеки и скомпилировать их под себя, им дальше читать явно смысла нет ) Ну а я далее пошагово опишу как сделать эту библиотеку доступной для своих LUA-скриптов в QUIK. <br />Установить самую распоследнюю версию мне, признаться, как-то не удалось, не захотела она работать. Так что установил я версию не самую последнюю, впрочем, особо от этого ничего не потеряется, т.к., судя по сайту сообщества поддержки, в последних версиях сделаны лишь минорные правки, багфикс и пересобрано все это последними компиляторами в Ansi и Unicode вариантах. Так что функционально точно ничего не потеряем, тем более, что нам Unicode-вариант и не нужен.<br />Если кто-то подскажет, как установить и использовать последнюю версию - буду признателен.</p><p>1. Скачиваем готовый скомпилированный вариант библиотеки, причем в виде подключаемых dll. Для этого отсюда<br />[url=http://sourceforge.net/projects/wxlua/files/wxlua/2.8.10.0/]http://sourceforge.net/projects/wxlua/files/wxlua/2.8.10.0/[/url]<br />скачиваем файл <strong>wxLua-2.8.10-MSW-dll.zip</strong> (посмотрев 5 секунд на рекламные баннеры&nbsp; перед собственно скачиванием).</p><p>2. Распаковываем этот архив во временной папке и переходим в папку <strong>\bin\</strong>. Внутри нее лежит куча всяких файликов, из них нам понадобятся все файлы с расширением <strong>.dll</strong> (таких там 21 штука, включая и файл <strong>lua5.1.dll</strong>).</p><p>3. Crопируем все <strong>.dll</strong> файлы из папки <strong>\bin\</strong> в доступное для наших LUA-скриптов место. Я очень советую скопировать их прямо в каталог, где установлен терминал <strong>QUIK</strong> (т.е. в одну папку с <strong>info.exe</strong>, <strong>qlua.dll</strong> и т.д.): это гарантирует, что библиотека <strong>wxLua</strong> будет точно доступна всем LUA-скриптам, запускаемым внутри QUIK, где бы ни находились сами эти скрипты. Так будет даже проще переносить сам терминал QUIK при необходимости, не беспокоясь о работоспособности использующих эту библиотеку LUA-скриптов.</p><p>Собственно и все. Подключаем библиотеку wxLua в свой скрипт через <br /></p><div class="codebox"><pre><code>require(&quot;wx&quot;)</code></pre></div><p>и используем. Теперь вся мощь <strong>wxLua</strong> с нами!</p>]]></content>
			<author>
				<name><![CDATA[admin]]></name>
				<uri>https://quik2dde.ru/profile.php?id=2</uri>
			</author>
			<updated>2012-12-20T17:49:52Z</updated>
			<id>https://quik2dde.ru/viewtopic.php?pid=28#p28</id>
		</entry>
</feed>
