<?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=100258&amp;view=findpost&amp;p=759961</guid>
        <pubDate>Sun, 26 Jun 2005 21:10:34 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759961</link>
        <description><![CDATA[s-mike: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=100258&view=findpost&p=759959'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Тень &#064; <time class="tag-quote__quoted-time" datetime="2005-06-27T01:09:41+04:00">26.06.05, 21:09</time></span><div class='quote '>теперь можно и в ФАК это дело забацать ;)</div></div><br>
Как говорится, <strong class='tag-b'>Done</strong>&#33;]]></description>
        <author>s-mike</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759959</guid>
        <pubDate>Sun, 26 Jun 2005 21:09:41 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759959</link>
        <description><![CDATA[Тень: <strong class='tag-b'>s-mike</strong>, теперь можно и в ФАК это дело забацать ;)]]></description>
        <author>Тень</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759952</guid>
        <pubDate>Sun, 26 Jun 2005 21:00:06 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759952</link>
        <description><![CDATA[s-mike: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=100258&view=findpost&p=759949'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>мыш &#064; <time class="tag-quote__quoted-time" datetime="2005-06-26T20:54:24+00:00">26.06.05, 20:54</time></span><div class='quote '>монстр :)</div></div><br>
Да нет, просто люблю фундаментальный подход ;)]]></description>
        <author>s-mike</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759949</guid>
        <pubDate>Sun, 26 Jun 2005 20:54:24 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759949</link>
        <description><![CDATA[мыш: монстр  :)]]></description>
        <author>мыш</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759943</guid>
        <pubDate>Sun, 26 Jun 2005 20:46:20 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759943</link>
        <description><![CDATA[s-mike: Немного подправил и добавил комменты.<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">{ Фунция представляет число Value в Base-ричной системе счисления,</div><div class="code_line">&nbsp;&nbsp;Base должно находиться в пределах [1..36] и представляется</div><div class="code_line">&nbsp;&nbsp;10-ю цифрами [0..9] и 26-ю буквами английского алфавита [&#39;A&#39;..&#39;Z&#39;] }</div><div class="code_line">function Dec2X(const Value, Base: Cardinal): string;</div><div class="code_line">&nbsp;&nbsp; </div><div class="code_line">&nbsp;&nbsp;// Функция возвращает символ, соответствующий числу в N-ричной системе</div><div class="code_line">&nbsp;&nbsp;function GetChar(const N: Cardinal): Char;</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;if N &#60; 10 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;// для систем счисления от 1 до 10</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := Char(N + Ord(&#39;0&#39;))</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;// для систем счисления выше 10, но не больше 36 ([0..9] + [&#39;A&#39;..&#39;Z&#39;])</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := Char(N - 10 + Ord(&#39;A&#39;));</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;V, R: Cardinal;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result := &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp;</div><div class="code_line">&nbsp;&nbsp;if Base &#60;= 1 then</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;// числа можно и в системе, состоящей из одного символа, представлять ;)</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Base = 1 then</div><div class="code_line">&nbsp;&nbsp; &nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;// реализуем это</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;SetLength(Result, Value);</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;FillChar(Result[1], Value, Ord(&#39;0&#39;));</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Exit;</div><div class="code_line">&nbsp;&nbsp; &nbsp;end else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;// а вот других систем счисления быть не может</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Abort;</div><div class="code_line">&nbsp;&nbsp;end else</div><div class="code_line">&nbsp;&nbsp; &nbsp;// ограничиваем представление систем счисления 10-ю цифрами и 26-ю буквами</div><div class="code_line">&nbsp;&nbsp; &nbsp;// английского алфавита</div><div class="code_line">&nbsp;&nbsp; &nbsp;if Base &#62; 10 + (Ord(&#39;Z&#39;) + 1) - Ord(&#39;A&#39;) then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Abort;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;// Выполняем преобразование в нужную систему виртуальным делением в столбик</div><div class="code_line">&nbsp;&nbsp;V := Value;</div><div class="code_line">&nbsp;&nbsp;repeat</div><div class="code_line">&nbsp;&nbsp; &nbsp;R := V mod Base;</div><div class="code_line">&nbsp;&nbsp; &nbsp;V := V div Base;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result := GetChar(R) + Result;</div><div class="code_line">&nbsp;&nbsp;until V &#60; 2; // 2 - минимальная база,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // то есть в любом случае когда-то &quot;V div Base&quot; будет равно 1</div><div class="code_line">&nbsp;&nbsp;if V &#60;&#62; 0 then Result := IntToStr(V) + Result;</div><div class="code_line">end;</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script>]]></description>
        <author>s-mike</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759890</guid>
        <pubDate>Sun, 26 Jun 2005 19:18:59 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759890</link>
        <description><![CDATA[s-mike: Короче, вот вам универсальная процедура:<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">function Dec2X(const Value, Base: Cardinal): string;</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;function GetChar(const N: Cardinal): Char;</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;if N &#60;= 10 then</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := Char(N + Ord(&#39;0&#39;))</div><div class="code_line">&nbsp;&nbsp; &nbsp;else</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;Result := Char(N - 10 + Ord(&#39;A&#39;));</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;V, R: Cardinal;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Result := &#39;&#39;;</div><div class="code_line">&nbsp;&nbsp;V := Value;</div><div class="code_line">&nbsp;&nbsp;repeat</div><div class="code_line">&nbsp;&nbsp; &nbsp;R := V mod Base;</div><div class="code_line">&nbsp;&nbsp; &nbsp;V := V div Base;</div><div class="code_line">&nbsp;&nbsp; &nbsp;Result := GetChar(R) + Result;</div><div class="code_line">&nbsp;&nbsp;until V &#60; 2;</div><div class="code_line">&nbsp;&nbsp;if V &#60;&#62; 0 then Result := IntToStr(V) + Result;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
 :tong:]]></description>
        <author>s-mike</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759847</guid>
        <pubDate>Sun, 26 Jun 2005 18:39:30 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759847</link>
        <description><![CDATA[NadZ: Ага. Та штука такая.. Паскальная. Причем тотальнопаскальная.<br>
<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">function dec2bin(value: dword): string;</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;bindigit = &#39;01&#39;;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;while value &#60;&#62; 0 do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;result := bindigit[succ(value and 1)]+result;</div><div class="code_line">&nbsp;&nbsp; &nbsp;value := value shr 1;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;if result=&#39;&#39; then result := &#39;0&#39;;</div><div class="code_line">end;</div></ol></div></div></div></div><br>
<br>
А я тормоз&#33; ТОРМОЗ&#33; Дададада&#33;]]></description>
        <author>NadZ</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759812</guid>
        <pubDate>Sun, 26 Jun 2005 17:58:39 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759812</link>
        <description><![CDATA[мыш: Блин, она ж вообще не рабочая  :blink: <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">function dec2hex(value: dword): string;</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;hexdigit = &#39;0123456789ABCDEF&#39;;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;while value &#60;&#62; 0 do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;result := hexdigit[succ(value and $F)]+result;</div><div class="code_line">&nbsp;&nbsp; &nbsp;value := value shr 4;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;if result=&#39;&#39; then result := &#39;0&#39;;</div><div class="code_line">end;</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2005-06-26T18:19:12+00:00">26.06.05, 18:19</time></span></span><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">function dec2oct(value: dword): string;</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;octdigit = &#39;012345678&#39;;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;while value &#60;&#62; 0 do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;result := hexdigit[succ(value and 7)]+result;</div><div class="code_line">&nbsp;&nbsp; &nbsp;value := value shr 3;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;if result=&#39;&#39; then result := &#39;0&#39;;</div><div class="code_line">end;</div></ol></div></div></div></div> <br>
<br>
<span class="tag-color tag-color-named" data-value="gray" style="color: gray"><span class='tag-size' data-value='7' style='font-size:7pt;'>Добавлено <time class="tag-mergetime" datetime="2005-06-26T18:30:44+00:00">26.06.05, 18:30</time></span></span><br>
ну и тем же макаром под bin<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">function dec2bin(value: dword): string;</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;bindigit = &#39;01&#39;;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;while value &#60;&#62; 0 do</div><div class="code_line">&nbsp;&nbsp;begin</div><div class="code_line">&nbsp;&nbsp; &nbsp;result := bindigit[succ(value and 1)]+result;</div><div class="code_line">&nbsp;&nbsp; &nbsp;value := value shr 1;</div><div class="code_line">&nbsp;&nbsp;end;</div><div class="code_line">&nbsp;&nbsp;if result=&#39;&#39; then result := &#39;0&#39;;</div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>мыш</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759801</guid>
        <pubDate>Sun, 26 Jun 2005 17:41:45 +0000</pubDate>
        <title>Перевод чисел из Dec</title>
        <link>https://forum.sources.ru/index.php?showtopic=100258&amp;view=findpost&amp;p=759801</link>
        <description><![CDATA[NadZ: Хайль камрады&#33;<br>
А вот никто не подскажет как правильно пользоваться сими вещами:<br>
function HexToBin(Text, Buffer: PChar; BufSize: Integer): Integer;<br>
procedure BinToHex(Buffer, Text: PChar; BufSize: Integer);<br>
?<br>
Это мне нужно для самообразования.<br>
<strong class='tag-b'>Вообще вот мой глобальный вопрос:</strong><br>
Есть форма в шестых дельфях.<br>
На нее кладем одно поле ввода (TEdit) и три кнопки (TButton).<br>
Суть работы поля:<br>
В поле ввода нужно ввести <strong class='tag-b'>десятичное</strong> число.<br>
Суть работы кнопок:<br>
1 кнопка: Перевод содержимого поля ввода в двоичную систему счисления<br>
2 кнопка: Перевод содержимого поля ввода в восмеричную систему счисления<br>
3 кнопка: Перевод содержимого поля ввода в шестнадцатеричную систему счисления<br>
<br>
Еще должно проверятся введено ли в поле числовое значение или текстовое, но это я уже и сам смогу. Благо есть такие вещи как Str () и Val ()  =))<br>
----<br>
<br>
Хотя вот заглянул в фак и нашел там перевод dec в hex<br>
Но почему стоит ограничение в восемь символов я не понял.<br>
Это, наверное, скомуниженно с SWAG&#39;a =)) Там вопрос был навроде моего.<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">function dec2hex(value: dword): string[8]; </div><div class="code_line">const </div><div class="code_line">&nbsp;&nbsp;hexdigit = &#39;0123456789ABCDEF&#39;; </div><div class="code_line">begin </div><div class="code_line">&nbsp;&nbsp;while value &#60;&#62; 0 do </div><div class="code_line">&nbsp;&nbsp;begin </div><div class="code_line">&nbsp;&nbsp; &nbsp;dec2hex := hexdigit[succ(value and $F)]; </div><div class="code_line">&nbsp;&nbsp; &nbsp;value := value shr 4; </div><div class="code_line">&nbsp;&nbsp;end; </div><div class="code_line">&nbsp;&nbsp;if dec2hex = &#39;&#39; then dec2hex := &#39;0&#39;; </div><div class="code_line">end;</div></ol></div></div></div></div>]]></description>
        <author>NadZ</author>
        <category>Delphi: Общие вопросы</category>
      </item>
	
      </channel>
      </rss>
	