<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2278666</guid>
        <pubDate>Fri, 29 May 2009 14:00:12 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2278666</link>
        <description><![CDATA[Serega_: <strong class='tag-b'>andrew.virus</strong><br>
Спасибо&#33;<br>
Всё, что вы сказали про UNICODE, именно так я и делал, но всё равно отображались непонятные символы... <br>
Вчитавшись внимательнее в P.S., нашёл у себя ошибку... Теперь всё нормально работает&#33;<br>
Ещё раз спасибо&#33;]]></description>
        <author>Serega_</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2277975</guid>
        <pubDate>Thu, 28 May 2009 20:44:24 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2277975</link>
        <description><![CDATA[andrew.virus: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=273421&view=findpost&p=2277968'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_ &#064; <time class="tag-quote__quoted-time" datetime="2009-05-28T20:17:04+00:00">28.05.09, 20:17</time></span><div class='quote '>Здравствуйте, возникла проблемка, т.е. если читаю взятые из реестра значения REG_MULTI_SZ, то цифры и английские буквы читаются правильно, а если попадается русские буквы, то замес-то них, появляются разные символы...  <br>
В чём может быть проблема?<br>
<br>
Пример:<br>
47,00,42,00,54,00,20,00,20,00,20,00,20,00,2d,00,20,00,34,00,32,00,33,00,30,00,32,00,65,00,33<br>
,00,31<br>
здесь всё нормально конвертируется как:<br>
GBT - 42302e31<br>
а вот этот:<br>
1f,04,30,04,3c,04,4f,04,42,04,4c,04<br>
Должно быть - Память, а отображается - 0 &lt; O B L </div></div><br>
всё объясняется тем, что значения в реестре хранятся как UNICODE-данные и потому, чтобы русский текст выглядел нормально после преобразования HEX-значения найденное значение нужно перевести в кодировку ANSI, например, используя методы описанные в <a class='tag-url' href='http://forum.sources.ru/index.php?showtopic=267722' target='_blank'>этой теме</a> ...<br>
<br>
з.ы.: данные для перобразования преобразуются локально, используя TUnicodeStrings, как обычный тип TStrings но при применении методов отражения в нужную кодировку ....]]></description>
        <author>andrew.virus</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2277968</guid>
        <pubDate>Thu, 28 May 2009 20:17:04 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2277968</link>
        <description><![CDATA[Serega_: Здравствуйте, возникла проблемка, т.е. если читаю взятые из реестра значения REG_MULTI_SZ, то цифры и английские буквы читаются правильно, а если попадается русские буквы, то замес-то них, появляются разные символы...  :( <br>В чём может быть проблема?<br><br>Пример:<br>47,00,42,00,54,00,20,00,20,00,20,00,20,00,2d,00,20,00,34,00,32,00,33,00,30,00,32,00,65,00,33,00,31<br>здесь всё нормально конвертируется как:<br>GBT    - 42302e31<br>а вот этот:<br>1f,04,30,04,3c,04,4f,04,42,04,4c,04<br>Должно быть - Память, а отображается -   0 &lt; O B L]]></description>
        <author>Serega_</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2275684</guid>
        <pubDate>Wed, 27 May 2009 04:49:46 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2275684</link>
        <description><![CDATA[vitya: leo <br>Спасибо попробую....]]></description>
        <author>vitya</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2274871</guid>
        <pubDate>Tue, 26 May 2009 04:50:43 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2274871</link>
        <description><![CDATA[leo: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=273421&view=findpost&p=2274638'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vitya &#064; <time class="tag-quote__quoted-time" datetime="2009-05-25T17:16:25+00:00">25.05.09, 17:16</time></span><div class='quote '>У самого такая задача встала ну её я решил<br>
всё значительне проще</div></div><br>
Это не та задача ;) В Hex-виде можно представлять не только числа, но и символы произвольной строки - собственно это автор топика и делает, т.е. преобразует строку, скажем &#39;0012&#39; в последовательность Hex-символов &#39;30 30 31 32&#39;. Если же рассматривать &#39;0012&#39; как Hex-число &#036;0012 и преобразовать его к десятичному виду, то получится &#39;18&#39;.<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=273421&view=findpost&p=2274638'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>vitya &#064; <time class="tag-quote__quoted-time" datetime="2009-05-25T17:16:25+00:00">25.05.09, 17:16</time></span><div class='quote '>А вот как сделать перевод в десятичную и его сложить с десятичной вот это не пойму </div></div><br>
Как ты говоришь <em class='tag-i'>&quot;все значительно проще&quot;</em> ;)<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">//Если десятичное число в Edit2 - целое</div><div class="code_line">label1.Caption:=IntToStr(StrToInt(&#39;$&#39;+Edit1.Text)+StrToInt(Edit2.Text)); </div><div class="code_line">&nbsp;</div><div class="code_line">//Если десятичное число в Edit2 может быть вещественным</div><div class="code_line">label1.Caption:=FloatToStr(StrToInt(&#39;$&#39;+Edit1.Text)+StrToFloat(Edit2.Text));</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>leo</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2274638</guid>
        <pubDate>Mon, 25 May 2009 17:16:25 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2274638</link>
        <description><![CDATA[vitya: У самого такая задача встала ну её я решил<br>всё значительне проще<br>---------------------------------------------------------<br>procedure TForm1.Button1Click(Sender: TObject); <br>var<br>index:Integer;<br>begin<br>index:=StrToInt(&#39;&#036;&#39;+Edit1.Text);<br>Edit2.Text:=IntToStr(index);<br>end;<br>---------------------------------------------------------<br>Всё работает&#33;<br><br>А вот как сделать перевод в десятичную и его сложить с десятичной вот это не пойму :wall: <br>может кто подскажет....<br>----------------------------------------------------<br>procedure TForm1.Button1Click(Sender: TObject); <br>  var<br>  r1,r2: real; // слагаемые<br>  r: real;     // вывод<br>  i:Integer;<br>    begin<br>    // получить исходные данные<br>    r1 := StrToFloat(Edit1.Text);<br>    r2 := StrToFloat(Edit2.Text);<br><br> begin<br>i:=StrToInt(&#39;&#036;&#39;+ Edit1.Text);<br>r:=IntToStr(i);<br><br>s:=r1+r2<br><br>label1.Caption :=  FloatToStr(s);<br><br>end;<br>end.<br>----------------------------------------------------------<br>Прошу сильно не пинать.....начинающий<br>Спасибо&#33;]]></description>
        <author>vitya</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2273692</guid>
        <pubDate>Sun, 24 May 2009 14:54:31 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2273692</link>
        <description><![CDATA[Serega_: <strong class='tag-b'>Демо</strong><br>
Спасибо, я сделал таким образом:<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">unit Unit1;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp;SysUtils, Classes, Controls, Forms, StdCtrls;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;btn1: TButton;</div><div class="code_line">&nbsp;&nbsp; &nbsp;edt1: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;edt2: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;btn2: TButton;</div><div class="code_line">&nbsp;&nbsp; &nbsp;edt3: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;function StrToHex(source: string): string;</div><div class="code_line">&nbsp;&nbsp; &nbsp;function HexToStr(hex: string): string;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure btn1Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure btn2Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Public declarations }</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">&nbsp;</div><div class="code_line">{функция преоброзования строки -&#62; HEX }</div><div class="code_line">function TForm1.StrToHex(source: string): string;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;i: Integer;</div><div class="code_line">&nbsp;&nbsp;c: Char;</div><div class="code_line">&nbsp;&nbsp;s: string;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;s := &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp;for i:=1 to Length(source) do begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;c := source[i];</div><div class="code_line">&nbsp;&nbsp; &nbsp;s := s + &nbsp;IntToHex(Integer(c), 2) + &#39; &#39;;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;result := s;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">{функция преоброзования HEX -&#62; строка}</div><div class="code_line">function TForm1.HexToStr(hex: string): string;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;i: Integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;hex:= StringReplace(hex, &#39; &#39;, &#39;&#39;, [rfReplaceAll]);</div><div class="code_line">&nbsp;&nbsp;for i:= 1 to Length(hex) div 2 do</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result:= Result + Char(StrToInt(&#39;$&#39; + Copy(hex, (i-1) * 2 + 1, 2)));</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.btn1Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;edt2.Text := StrToHex(edt1.Text);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.btn2Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;edt3.Text:= HexToStr(edt2.Text);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div><br>
не знаю, грамотно или нет сделал, но работает...  :yes:]]></description>
        <author>Serega_</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2273684</guid>
        <pubDate>Sun, 24 May 2009 14:39:48 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2273684</link>
        <description><![CDATA[Демо: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=273421&view=findpost&p=2273650'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Serega_ &#064; <time class="tag-quote__quoted-time" datetime="2009-05-24T13:54:24+00:00">24.05.09, 13:54</time></span><div class='quote '>Здравствуйте, подскажите пожалуйста, как можно преобразовать Hex в String?</div></div><br>
<br>
HEX - это и есть строчное отображение числа.<br>
<br>
Есть функции IntToHex и StrToInt.<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;s: String;</div><div class="code_line">&nbsp;&nbsp;i: Integer;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;s := &#39;$A0&#39;;</div><div class="code_line">&nbsp;&nbsp;i := StrToInt(s);</div><div class="code_line">&nbsp;&nbsp;ShowMessage(IntToHex(i,2));</div></ol></div></div></div></div>]]></description>
        <author>Демо</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2273650</guid>
        <pubDate>Sun, 24 May 2009 13:54:24 +0000</pubDate>
        <title>Преобразовать Hex в String</title>
        <link>https://forum.sources.ru/index.php?showtopic=273421&amp;view=findpost&amp;p=2273650</link>
        <description><![CDATA[Serega_: Здравствуйте, подскажите пожалуйста, как можно преобразовать Hex в String?<br>
Нашёл в интернете код преобразования String в Hex, а вот как преобразовать обратно, не могу сообразить...<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">unit Unit1;</div><div class="code_line">&nbsp;</div><div class="code_line">interface</div><div class="code_line">&nbsp;</div><div class="code_line">uses</div><div class="code_line">&nbsp;&nbsp;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,</div><div class="code_line">&nbsp;&nbsp;Dialogs, StdCtrls;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;TForm1 = class(TForm)</div><div class="code_line">&nbsp;&nbsp; &nbsp;btn1: TButton;</div><div class="code_line">&nbsp;&nbsp; &nbsp;edt1: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;edt2: TEdit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;function StrToHex(source: string): string;</div><div class="code_line">&nbsp;&nbsp; &nbsp;procedure btn1Click(Sender: TObject);</div><div class="code_line">&nbsp;&nbsp;private</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Private declarations }</div><div class="code_line">&nbsp;&nbsp;public</div><div class="code_line">&nbsp;&nbsp; &nbsp;{ Public declarations }</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;Form1: TForm1;</div><div class="code_line">&nbsp;</div><div class="code_line">implementation</div><div class="code_line">&nbsp;</div><div class="code_line">{$R *.dfm}</div><div class="code_line">&nbsp;</div><div class="code_line">{функция преоброзования строки -&#62; HEX }</div><div class="code_line">function TForm1.StrToHex(source: string): string;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;i: Integer;</div><div class="code_line">&nbsp;&nbsp;c: Char;</div><div class="code_line">&nbsp;&nbsp;s: string;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;s := &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp;for i:=1 to Length(source) do begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;c := source[i];</div><div class="code_line">&nbsp;&nbsp; &nbsp;s := s + &nbsp;IntToHex(Integer(c), 2) + &#39; &#39;;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;result := s;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">procedure TForm1.btn1Click(Sender: TObject);</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;edt2.Text := StrToHex(edt1.Text);</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div></ol></div></div></div></div>]]></description>
        <author>Serega_</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	