<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBA: Перевод функции шифрования с Pascal на VBA]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=7831</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=7831&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBA: Перевод функции шифрования с Pascal на VBA».]]></description>
		<lastBuildDate>Fri, 30 Nov 2012 22:04:40 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBA: Перевод функции шифрования с Pascal на VBA]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=66317#p66317</link>
			<description><![CDATA[<p>Честно говоря, я не силён в VB, а точнее, вообще с ним почти не знаком, могу помочь только тем, что помню из курса Паскаля.<br />^ в паскале - указатель (разыменование)<br /></p><div class="codebox"><pre><code>Somevar := 5; // допустим это переменная типа integer, теперь она = 5
A := @Somevar; // теперь A содержит указатель (ссылку) на SomeVar
A^ := 6; // теперь Somevar == 6, мы изменили значение переменной, расположенной по адресу A.</code></pre></div><p>Хотя, честно говоря, я в этом не уверен, поскольку Паскаль уже забывается по-тихоньку.</p><p>Знак доллара - это hex value, <strong>$FF</strong> (Паскаль) == <strong>255</strong> == 0xFF (С\JS) == <strong>&amp;HFF</strong> (а может, <strong>&amp;HFF&amp;</strong>, НЕ ЗНАЮ ТОЧНО, в VB).</p>]]></description>
			<author><![CDATA[null@example.com (vo1ty)]]></author>
			<pubDate>Fri, 30 Nov 2012 22:04:40 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=66317#p66317</guid>
		</item>
		<item>
			<title><![CDATA[VBA: Перевод функции шифрования с Pascal на VBA]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=66316#p66316</link>
			<description><![CDATA[<p>Уважаемые форумчане! Если не затруднит, помогите перевести с pascal на vba функцию шифрования<br /></p><div class="codebox"><pre><code>function Encryption(const Key: string; BufferIn, BufferOut: PByteArray; ReadOrWrite, Size: Integer): Integer;
var
   i: integer;
   k: integer;
begin
   Result := 0;
   if (Length(Key) = 0) then
   begin
      if BufferIn &lt;&gt; BufferOut then
         Move(BufferIn^,BufferOut^,Size);
      exit;
   end;
   if ReadOrWrite = 0 then  {Read operation, so decrypt}
   begin
      k := 1;
      for i := 0 to Size-1 do
      begin
         BufferOut^[i] := BufferIn^[i] xor (byte(Key[k]) or (i and $FF));
         inc(k);
         if k &gt; length(Key) then k := 1;
      end;
      Result := -1;   {Decrypted}
   end
   else
   begin                    {write operation, so encrypt}
      k := 1;
      for i := 0 to Size-1 do
      begin
         BufferOut^[i] := BufferIn^[i] xor (byte(Key[k]) or (i and $FF));
         inc(k);
         if k &gt; length(Key) then k := 1;
      end;
      Result := 1;       {Encrypted}
   end;
end;

end.</code></pre></div><p>Особые затруднения вызывают ^ и $FF</p>]]></description>
			<author><![CDATA[null@example.com (Dim)]]></author>
			<pubDate>Fri, 30 Nov 2012 18:31:31 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=66316#p66316</guid>
		</item>
	</channel>
</rss>
