<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Функция вычисления CRC16]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9826&amp;type=atom" />
	<updated>2014-07-23T14:44:45Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=9826</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Функция вычисления CRC16]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85047#p85047" />
			<content type="html"><![CDATA[<p>Я об этом и писал в 1-ом посте... Но нигде не нашел кода для него.</p><p>Еще вот что нашел: <a href="http://softboard.ru/topic/34899-%D0%BF%D0%BE%D0%B4%D1%81%D0%BA%D0%B0%D0%B6%D0%B8%D1%82%D0%B5-%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D0%B2%D1%8B%D1%81%D1%87%D0%B8%D1%82%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-crc-%D0%B8-crc32/">http://softboard.ru/topic/34899-%D0%BF% … %B8-crc32/</a></p><p>Но это мне не понять...</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2014-07-23T14:44:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85047#p85047</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Функция вычисления CRC16]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85046#p85046" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>CRC32 = 0xA3830348</p></blockquote></div><p>В приведённом коде как раз этот вариант. А Вам, видимо, нужен был CRC16.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-07-23T14:42:56Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85046#p85046</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Функция вычисления CRC16]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85045#p85045" />
			<content type="html"><![CDATA[<p>Нашел такую информацию:<br /></p><div class="codebox"><pre><code>      Example input string: ABC
         CRC16              = 0x4521
         CRC16 (Modbus)     = 0x8550
         CRC16 (Sick)       = 0xC3C1
         CRC-CCITT (0x0000) = 0x3994
         CRC-CCITT (0xffff) = 0xF508
         CRC-CCITT (0x1d0f) = 0x2898
         CRC-CCITT (Kermit) = 0xE359
         CRC-DNP            = 0x5AD3
         CRC32              = 0xA3830348
</code></pre></div><p>Слишком много вариантов для 4-х символьной контрольной суммы.<br />Значит придется использовать другой путь для моей программы...</p><p>Спасибо за ответы.</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2014-07-23T14:39:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85045#p85045</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Функция вычисления CRC16]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85043#p85043" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Alectric пишет:</cite><blockquote><p>Контрольная сумма должна соответствовать его названию.</p></blockquote></div><p>Я не особо в теме, но судя по описанию <a href="http://source.winehq.org/WineAPI/RtlComputeCrc32.html">RtlComputeCrc32()</a> выходное значение будет зависеть от начального параметра <em>dwInitial</em>, так что каким-то конкретным в данном случае оно не может быть.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-07-23T14:24:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85043#p85043</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Функция вычисления CRC16]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85040#p85040" />
			<content type="html"><![CDATA[<p>Вот файл для примера.<br />Контрольная сумма должна соответствовать его названию.</p><p>А по этому коду она состоит из 8-и символов.</p><p>Файл в архиве, а не сам архив.</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2014-07-23T13:23:39Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85040#p85040</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Функция вычисления CRC16]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85039#p85039" />
			<content type="html"><![CDATA[<p>А в чём проблема? (Кроме того, что код только под 32 бита)</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2014-07-23T13:22:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85039#p85039</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Функция вычисления CRC16]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=85038#p85038" />
			<content type="html"><![CDATA[<p>Приветствую всех.</p><p>Есть ли у кого-нибудь код на AHK для определения контрольной суммы CRC16 (если я конечно не ошибаюсь, нужен код из 4-х символов на выходе вроде: 6FBD) для файлов?</p><p>Искал в интернете, на <a href="http://www.autohotkey.com">http://www.autohotkey.com</a>, и на нашем форуме - результат отрицательный.</p><p>Самое близкое из того что нашел:<br /></p><div class="codebox"><pre><code>FileCRC32( sFile=&quot;&quot;,cSz=4 ) { ; by SKAN www.autohotkey.com/community/viewtopic.php?t=64211
 cSz := (cSz&lt;0||cSz&gt;8) ? 2**22 : 2**(18+cSz), VarSetCapacity( Buffer,cSz,0 ) ; 10-Oct-2009
 hFil := DllCall( &quot;CreateFile&quot;, Str,sFile,UInt,0x80000000, Int,3,Int,0,Int,3,Int,0,Int,0 )
 IfLess,hFil,1, Return,hFil
 hMod := DllCall( &quot;LoadLibrary&quot;, Str,&quot;ntdll.dll&quot; ), CRC32 := 0
 DllCall( &quot;GetFileSizeEx&quot;, UInt,hFil, UInt,&amp;Buffer ),    fSz := NumGet( Buffer,0,&quot;Int64&quot; )
 Loop % ( fSz//cSz + !!Mod( fSz,cSz ) )
   DllCall( &quot;ReadFile&quot;, UInt,hFil, UInt,&amp;Buffer, UInt,cSz, UIntP,Bytes, UInt,0 )
 , CRC32 := DllCall( &quot;NTDLL\RtlComputeCrc32&quot;, UInt,CRC32, UInt,&amp;Buffer, UInt,Bytes, UInt )
 DllCall( &quot;CloseHandle&quot;, UInt,hFil )
 SetFormat, Integer, % SubStr( ( A_FI := A_FormatInteger ) &quot;H&quot;, 0 )
 CRC32 := SubStr( CRC32 + 0x1000000000, -7 ), DllCall( &quot;CharUpper&quot;, Str,CRC32 )
 SetFormat, Integer, %A_FI%
Return CRC32, DllCall( &quot;FreeLibrary&quot;, UInt,hMod )
}
</code></pre></div><p>Выдает сумму состоящую из 8-и символов.</p>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2014-07-23T13:10:28Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=85038#p85038</id>
		</entry>
</feed>
