<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Форум QUIK [тема: Запись в один файл из разных скриптов.]</title>
		<link>http://forum.quik.ru</link>
		<description>Новое в теме Запись в один файл из разных скриптов. форума  на сайте Форум QUIK [forum.quik.ru]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 24 Apr 2026 12:43:56 +0300</pubDate>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58933/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Как вариант, каждый скрипт пишет в свой файл с указанием времени записи, а один из скриптов отслеживает изменения этих файлов и обновляет единый файл сортируя записи по времени. <br />
			<i>23.10.2021 12:51:16, DVN.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58933/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58933/topic6806/</guid>
			<pubDate>Sat, 23 Oct 2021 12:51:16 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58927/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_RPs7Q31O" href="/user/3132/" bx-tooltip-user-id="3132">Nikolay</a>, Так у меня нет никаких индикаторов. Нет, не было и не будет. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> Ну, а если и в самом деле &quot;есть и решения через память&quot;, то только так и нужно работать. В моё время это называлось &quot;ОЗУ двойного доступа&quot;. <br />
			<i>23.10.2021 10:30:21, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58927/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58927/topic6806/</guid>
			<pubDate>Sat, 23 Oct 2021 10:30:21 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58925/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Чтобы обмениваться данными между скриптами есть достаточно средств, помимо файлов есть и решения через память:<br /><br />раз: <noindex><a href="https://quik2dde.ru/viewtopic.php?id=61" target="_blank" rel="nofollow">https://quik2dde.ru/viewtopic.php?id=61</a></noindex> <br />два: <noindex><a href="https://quik2dde.ru/viewtopic.php?id=306" target="_blank" rel="nofollow">https://quik2dde.ru/viewtopic.php?id=306</a></noindex><br /><br />И это не считая методик через socket.<br /><br />Категорично говорить, что это не надо не стоит. Простой пример - передать данные из скрипта в индикатор. <br />
			<i>23.10.2021 08:54:52, Nikolay.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58925/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58925/topic6806/</guid>
			<pubDate>Sat, 23 Oct 2021 08:54:52 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58924/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_j8zCuIdO" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br /><noindex><a href="/user/14016/" target="_blank" rel="nofollow">Незнайка</a></noindex>, Тогда страдайте. :: <br /><br />В очередь, суки, в очередь!(с)<br />Каждый скрипт, который хочет что-то записать, подаёт заявку, его айдишка попадает в циклическую очередь (по хвосту). Диспетчер берёт очередную айдишку (по голове), и выставляет разрешение для этого скрипта писать. По окончанию записи айдишка сбрасывается, и это сигнал диспетчеру забрать очередной элемент из очереди, если он там есть.<br /><br />А вообще я свято убеждён: использовать более одного скрипта есть дурь несусветная - это не принесёт ничего, кроме головной боли.<br />=============<br />ну видимо &nbsp;действительно &nbsp;проще уменьшить количество скрипьов как написал Владимир .<br /><br /> &nbsp;Ну если уж совсем не хочется , то &nbsp;может стоит &nbsp;им &nbsp;время каждому свое установить ? &nbsp;Сколько там у вас уходит максимально &nbsp;времени на одну запись : &nbsp;секунда или миллисекунда &nbsp;? Предположим у вас 3 скрипта &nbsp;и &nbsp;разделите время &nbsp; по типу : &nbsp;&quot;&quot; на первый -третий рассчитайсь !!!! &nbsp;и тогда каждый скрип будет только в свое время отправлять запись если она есть а остальные скрипты в этот момент &nbsp; будут ждать своего времени. &nbsp; <br />
			<i>23.10.2021 07:19:40, БорисД.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58924/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58924/topic6806/</guid>
			<pubDate>Sat, 23 Oct 2021 07:19:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58919/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<a class="blog-p-user-name" id="bp_Jp51djgS" href="/user/14016/" bx-tooltip-user-id="14016">Незнайка</a>, Тогда страдайте. <img src="http://forum.quik.ru/upload/main/smiles/5/icon_smile.png" border="0" data-code=":smile:" data-definition="SD" alt=":smile:" style="width:16px;height:16px;" title="С улыбкой" class="bx-smile" /> <br /><br />В очередь, суки, в очередь!(с)<br />Каждый скрипт, который хочет что-то записать, подаёт заявку, его айдишка попадает в циклическую очередь (по хвосту). Диспетчер берёт очередную айдишку (по голове), и выставляет разрешение для этого скрипта писать. По окончанию записи айдишка сбрасывается, и это сигнал диспетчеру забрать очередной элемент из очереди, если он там есть.<br /><br />А вообще я свято убеждён: использовать более одного скрипта есть дурь несусветная - это не принесёт ничего, кроме головной боли. <br />
			<i>22.10.2021 23:01:45, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58919/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58919/topic6806/</guid>
			<pubDate>Fri, 22 Oct 2021 23:01:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58915/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Если писать <B>только внутри колбеков</B>, то в пределах одного квика запись в один файл из разных скриптов корректна.<br />Из разных квиков пока не придумал, как сделать. <br />
			<i>22.10.2021 22:41:31, Незнайка.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58915/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58915/topic6806/</guid>
			<pubDate>Fri, 22 Oct 2021 22:41:31 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58914/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_OeILULuT" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> написал:<br />правильный путь - это формирование флага. Например, если один скрипт хочет писать, он пробует создать папку-семафор на диске. Если папка создалась удачно, дописывает файл. Если при создании папки была ошибка (папка существует), то надо подождать. По окончании записи нужно закрыть файл и удалить папку.<br />=============<br />В Lua есть штатные средства создания папки?<br />Если только создавать файл-флаг. Но это не поможет: несколько скриптов увидят, что флага нет и начнут запись одновременно. Результат будет тот же.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_ZLZ93jOh" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> написал:<br />использовать механизмы мютексов или что то в этом роде, Но это уже с++<br />=============<br />Для торговых ботов использую только QLua.<br />Если только Арка когда-нибудь сделает мютексы. Но рассчитывать, что это произойдёт в ближайшем будущем я бы не стал.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_MReTeMK9" href="/user/47/" bx-tooltip-user-id="47">s_mike@rambler.ru</a> написал:<br />а ещё лучше пересмотреть логику скриптов, чтобы писать из одного скрипта<br />=============<br />У каждого скрипта свои данные, которые он пишет в общий файл. Если вести запись только из одного скрипта, то другие скрипты должны будут ему эти данные передать. По сути это будет та же самая задача - обмен данным между скриптами. <br />
			<i>22.10.2021 22:41:12, Незнайка.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58914/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58914/topic6806/</guid>
			<pubDate>Fri, 22 Oct 2021 22:41:12 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58913/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_daaDdxnW" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />закрывать файл после каждой записи<br />=============<br />И что это даст?<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_FFm9dmxH" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />объединять файлы после окончания работы скриптов<br />=============<br />Исключено: файл должен заполняться реалтайм.<br /><br /><br />====quote====<br /><a class="blog-p-user-name" id="bp_tBWiq8xv" href="/user/14299/" bx-tooltip-user-id="14299">Владимир</a> написал:<br />использовать один скрипт вместо двух<br />=============<br />На самом деле их не два. Объединять скрипты не планирую. <br />
			<i>22.10.2021 22:38:45, Незнайка.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58913/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58913/topic6806/</guid>
			<pubDate>Fri, 22 Oct 2021 22:38:45 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58699/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			<br />====quote====<br /><a class="blog-p-user-name" id="bp_Et5el5bn" href="/user/14016/" bx-tooltip-user-id="14016">Незнайка</a> написал:<br />Возможна ли корректная запись из разных скриптов в один файл?<br />Запускаю два скрипта:<br /> 
====code====
<pre>&nbsp;&nbsp; function&nbsp;&nbsp; main ()
&nbsp;&nbsp;&nbsp;&nbsp; local&nbsp;&nbsp;f&nbsp;&nbsp;=&nbsp;&nbsp; io.open (file,&nbsp;&nbsp;"a+" )
&nbsp;&nbsp;&nbsp;&nbsp; for&nbsp;&nbsp;i&nbsp;&nbsp;=&nbsp;&nbsp; 1 ,&nbsp;&nbsp;100&nbsp;&nbsp; do 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f:write(s .. i .. "&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f:flush()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sleep ( 1 )
&nbsp;&nbsp;&nbsp;&nbsp; end 
&nbsp;&nbsp;&nbsp;&nbsp;f:close()
 end&nbsp;&nbsp; </pre>
=============
 В первом: s = &quot;..&quot;<br />во втором: s = &quot;+&quot;<br /><br />В файле<br /> &nbsp; &nbsp; Скрытый текст &nbsp; &nbsp; &nbsp; &nbsp;<br />====quote====<br />..1<br />..2<br />..3<br />..4<br />..5<br />+1<br />..6<br />..7<br />+4<br />..8<br />+5<br />..9<br />+6<br />..10<br />..11<br />..12<br />+9<br /><br />..14<br />+10<br />..15<br />+11<br />..16<br />..17<br />..18<br />+15<br />..19<br />..20<br />+16<br />..21<br />+18<br />..22<br />+19<br />..23<br />+20<br />..24<br />+21<br /><br />+22<br />=============<br /> часть строк теряются.<br /><br />Есть идеи как исправить?<br />=============<br />попробуйте сначала сформировать все что хотите записать в виде строки<br />а потом запишите это в файл одним обращением. &nbsp;При этом рекомендую ставить метку времени в каждой записи. <br />
			<i>18.10.2021 12:32:03, nikolz.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58699/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58699/topic6806/</guid>
			<pubDate>Mon, 18 Oct 2021 12:32:03 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58696/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Lua всегда открывает файлы в разделяемом режиме.<br /><br />поэтому любые идеи типа открытия в режиме дописывания и прочее не помогут.<br /><br />правильный путь - это формирование флага. Например, если один скрипт хочет писать, он пробует создать папку-семафор на диске. Если папка создалась удачно, дописывает файл. Если при создании папки была ошибка (папка существует), то надо подождать. По окончании записи нужно закрыть файл и удалить папку.<br /><br />но лучше использовать механизмы мютексов или что то в этом роде, Но это уже с++.<br /><br />а ещё лучше пересмотреть логику скриптов, чтобы писать из одного скрипта <br />
			<i>18.10.2021 11:04:02, s_mike@rambler.ru.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58696/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58696/topic6806/</guid>
			<pubDate>Mon, 18 Oct 2021 11:04:02 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58694/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Перед записью проверьте, можете ли вы открыть файл для записи, не занят ли он другим процессом.<br />			
====code====
<pre>&nbsp;&nbsp;&nbsp;&nbsp;f = io.open(file,"+a");
&nbsp;&nbsp;&nbsp;i = 0;
&nbsp;&nbsp;&nbsp;while(f == nil) do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i = i + 1;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if i == 2000 then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;message("Не могу открыть для записи файл "..file);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(5000);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error("");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f = io.open(file,"+a");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(1);
&nbsp;&nbsp;&nbsp;end;
</pre>
============= <br />
			<i>18.10.2021 10:12:13, Игорь Б.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58694/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58694/topic6806/</guid>
			<pubDate>Mon, 18 Oct 2021 10:12:13 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58690/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			а) устанавливать флаг &quot;захвата шины&quot; б) закрывать файл после каждой записи в) объединять файлы после окончания работы скриптов г) использовать один скрипт вместо двух. <br />
			<i>18.10.2021 08:51:57, Владимир.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58690/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58690/topic6806/</guid>
			<pubDate>Mon, 18 Oct 2021 08:51:57 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
		<item>
			<title>Запись в один файл из разных скриптов.</title>
			<description><![CDATA[<b><a href="http://forum.quik.ru/messages/forum10/message58682/topic6806/">Запись в один файл из разных скриптов.</a></b> в форуме <a href="http://forum.quik.ru/forum10/">Программирование на языке Lua</a>. <br />
			Возможна ли корректная запись из разных скриптов в один файл?<br />Запускаю два скрипта:<br />
====code====
<pre>function main()
&nbsp;&nbsp;&nbsp;&nbsp;local f = io.open(file, "a+")
&nbsp;&nbsp;&nbsp;&nbsp;for i = 1, 100 do
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f:write(s..i.."&#92;n")
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;f:flush()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sleep(1)
&nbsp;&nbsp;&nbsp;&nbsp;end
&nbsp;&nbsp;&nbsp;&nbsp;f:close()
end</pre>
=============
В первом: s = &quot;..&quot;<br />во втором: s = &quot;+&quot;<br /><br />В файле<br /><table class="forum-spoiler"><thead onclick="if (this.nextSibling.style.display=='none') { this.nextSibling.style.display=''; BX.addClass(this, 'forum-spoiler-head-open'); } else { this.nextSibling.style.display='none'; BX.removeClass(this, 'forum-spoiler-head-open'); } BX.onCustomEvent('BX.Forum.Spoiler:toggle', [{node: this}]); event.stopPropagation();"><tr><th><div>Скрытый текст</div></th></tr></thead><tbody class="forum-spoiler" style="display:none;"><tr><td><br />====quote====<br />..1<br />..2<br />..3<br />..4<br />..5<br />+1<br />..6<br />..7<br />+4<br />..8<br />+5<br />..9<br />+6<br />..10<br />..11<br />..12<br />+9<br /><br />..14<br />+10<br />..15<br />+11<br />..16<br />..17<br />..18<br />+15<br />..19<br />..20<br />+16<br />..21<br />+18<br />..22<br />+19<br />..23<br />+20<br />..24<br />+21<br /><br />+22<br />=============</td></tr></tbody></table>часть строк теряются.<br /><br />Есть идеи как исправить? <br />
			<i>18.10.2021 01:19:40, Незнайка.</i>]]></description>
			<link>http://forum.quik.ru/messages/forum10/message58682/topic6806/</link>
			<guid>http://forum.quik.ru/messages/forum10/message58682/topic6806/</guid>
			<pubDate>Mon, 18 Oct 2021 01:19:40 +0300</pubDate>
			<category>Программирование на языке Lua</category>
		</item>
	</channel>
</rss>
