<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Множественная запись в txt файл несколькими разными .ahk]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=16514&amp;type=atom" />
	<updated>2021-08-02T15:04:48Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=16514</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Множественная запись в txt файл несколькими разными .ahk]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=149127#p149127" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong></p><p>Спасибо! Попробую!</p>]]></content>
			<author>
				<name><![CDATA[unicorn79]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34053</uri>
			</author>
			<updated>2021-08-02T15:04:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=149127#p149127</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Множественная запись в txt файл несколькими разными .ahk]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=149126#p149126" />
			<content type="html"><![CDATA[<p>Никогда не пробовал писать в один файл одновременно из разных скриптов, и не знаю о библиотеке TF, но если нужно поставить запись в очередь, можно использовать, например, такой алгоритм. Писать в файл должен один скрипт, остальные должны посылать ему текст сообщением <a href="https://www.autohotkey.com/docs/commands/OnMessage.htm#SendString">WM_COPYDATA</a> и проверять ErrorLevel, если true — значит успешно, если false — послать ещё раз.</p><p>А вообще наверно достаточно просто попытаться открыть файл на запись:<br /></p><div class="codebox"><pre><code>File := FileOpen(filePath, &quot;w&quot;)
MsgBox, % IsObject(File)</code></pre></div><p>Если выдаст false, значит файл занят.<br />Также скорее всего можно попытаться писать текст в файл командой FileAppend и проверить ErrorLevel, либо использовать try-catch.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2021-08-02T14:40:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=149126#p149126</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Множественная запись в txt файл несколькими разными .ahk]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=149125#p149125" />
			<content type="html"><![CDATA[<p>Добрый день, уважаемые!<br />Подскажите пожалуйста, хочу организовать множественные операции чтения-записи в txt файл несколькими параллельно работающими.ahk-файлами.</p><p>Использую известную библиотеку TF <a href="https://github.com/hi5/TF">https://github.com/hi5/TF</a> , но метод чтения-записи, уверен не важен, важно мне понять суть..<br />С чтением более-менее всё понятно, а вот с записью в файл вопрос... <br />Если я буду средствами ahk из разных скриптов (!) писать в один и тот же файл - не получится ли так, при больших объёмах операций, что один ahk откроет файл для записи, запишет туда результат, сохранит файл, а в это же время другой скрипт сделает свою запись в этот же файл и так далее... Не будет ли здесь конфликта записи, запрета одновременного доступа к файлу и тд.? Как наиболее правильно это реализовать при работе с одним txt? Предполагаю, что файл как-то нужно блокировать в пределах одного скрипта, чтоб другие скрипты не могли в этот файл в этот момент писать... При этом чтоб каждый скрипт перед началом операций записи предварительно проверял, &quot;свободен&quot; ли сейчас этот файл и не занят другими...</p><p>Оговорюсь, что интересует именно корректный метод работы с .txt, (не с sql, xlsx и .т.д). <br />Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[unicorn79]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34053</uri>
			</author>
			<updated>2021-08-02T09:12:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=149125#p149125</id>
		</entry>
</feed>
