<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Dinedi.ru</title>
		<link>http://dinedi.ru/</link>
		<description>Форум</description>
		<lastBuildDate>Tue, 09 Jul 2013 13:24:52 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://dinedi.ru/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>ConKey</title>
			<link>https://dinedi.ru/forum/32-748-1</link>
			<pubDate>Tue, 09 Jul 2013 13:24:52 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Описание темы: Мобильники&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Shevron&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>&lt;b&gt;ConKey &lt;br /&gt; &lt;/b&gt; &lt;br /&gt; &lt;i&gt;Версия: 0.1 Final. &lt;br /&gt; Автор: hx. &lt;br /&gt; Платформа: все телефоны с поддержкой J2ME, полная поддержка сенсорных экранов.&lt;/i&gt; &lt;p&gt; &lt;!--IMG1--&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://www.dinedi.ru/_fr/7/9960848.png&quot; align=&quot;&quot; /&gt;&lt;!--IMG1--&gt; &lt;p&gt; Программа определяет вызов системных функций и выводит их параметры: &lt;br /&gt; &lt;ul&gt;&lt;li&gt;keyPressed(keyCode) - нажатие клавиши, параметр - код клавиши; &lt;br /&gt; &lt;li&gt;keyRepeated(keyCode) - удерживание клавиши, параметр - код клавиши; &lt;br /&gt; &lt;li&gt;keyReleased(keyCode) - отпускание клавиши, параметр - код клавиши; &lt;br /&gt; &lt;li&gt;pointerPressed(x,y) - нажатие на сенсорный экран, параметр - координаты; &lt;br /&gt; &lt;li&gt;pointerDragged(x,y) - перетаскивание на сенсорном экране, параметр - координаты; &lt;br /&gt; &lt;li&gt;pointerReleased(x,y) - отпускание на сенсорным экране, параметр - координаты.&lt;/ul&gt; &lt;p&gt; Программа очень полезна программистам (для узнавания кодов клавиш и времени вызова системных функций, реализации консольного интерфейса). Для выхода жмите зелёную кнопку. &lt;br /&gt; Исходники выложу, если кому-то понадобятся. &lt;p&gt; Интерфейс выполнен в виде консоли. &lt;p&gt; &lt;b&gt;Скачать:&lt;/b&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://upwap.ru/756922&quot;&gt;http://upwap.ru/756922&lt;/a&gt; (3 Kb).</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-748-1</guid>
		</item>
		<item>
			<title>На каких языках вы программируете?</title>
			<link>https://dinedi.ru/forum/32-518-1</link>
			<pubDate>Wed, 12 Jun 2013 14:06:12 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Shevron&lt;br /&gt;Количество ответов: 9</description>
			<content:encoded>Я: &lt;br /&gt; Delphi &lt;br /&gt; Pascal &lt;br /&gt; html (немного) &lt;br /&gt; Quick Basic (очень-очень немного)</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-518-1</guid>
		</item>
		<item>
			<title>Delphi на флэшке</title>
			<link>https://dinedi.ru/forum/32-737-1</link>
			<pubDate>Sun, 07 Feb 2010 17:58:02 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>&lt;b&gt;Компилятор Delphi на флэшке.&lt;/b&gt; &lt;p&gt; Я расскажу вам, как поместить ПОЛНОЦЕННЫЙ Delphi компилятор на флэшке. &lt;br /&gt; На самом деле это предельно просто. &lt;br /&gt; Для этого необходим установленный обычный Delphi на компьютере. Конечно, я могу выложить нужные файлы сюда, но не сделаю это, так как Delphi - платный продукт. &lt;br /&gt; В статье я буду использовать обозначение %DELPHIDIR% - это папка, в которою установлен Delphi и %RESDIR% - папка на флэшке, куда всё ставим. &lt;p&gt; 1). Скопируйте файл &lt;i&gt;%DELPHIDIR%&amp;#92;bin&amp;#92;dcc32.exe&lt;/i&gt; на флэшку - это сам компилятор Delphi (~1,2 Mb). &lt;br /&gt; 2). Скопируйте файлы &lt;i&gt;%DELPHIDIR%&amp;#92;lib&amp;#92;SysInit.dcu&lt;/i&gt; и &lt;i&gt;%DELPHIDIR%&amp;#92;lib&amp;#92;System.dcu&lt;/i&gt; на флэшку - это необходимые стандартные библиотеки (~0,5 Mb). &lt;br /&gt; 3). Скопируйте файл самые важные библиотеки из &lt;i&gt;%DELPHIDIR%&amp;#92;lib&amp;#92; &lt;/i&gt;, их количество зависит от размера флэшки. Настоятельно рекомендуется скопировать &lt;i&gt;SysUtils.dcu&lt;/i&gt; , а если вы будете компилировать приложения с окнами, то и &lt;i&gt;Windows.dcu, ActiveX.dcu, Classes.dcu, Controls.dcu, Dialogs.dcu, ExtCtrls.dcu, Forms.dcu, Graphics.dcu, HelpIntfs.dcu, Messages.dcu, StdCtrls.dcu, Types.dcu, Variants.dcu&lt;/i&gt; (от 0,3 - 3 Mb). &lt;p&gt; Примерный размер среднего комплекта всего скопированного - 4,5 Mb. &lt;p&gt; Вот и всё. Компилируется это так: заходите в командную строку (Пуск&gt;Выполнить...&gt;cmd или Пуск&gt;Программы&gt;Стандартные&gt;Командная строка) и пишете: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;%RESDIR%&amp;#92;dcc32 &amp;#91;файл]&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Где [файл] - главный файл вашего проэкта (его расширение - *.dpr). &lt;p&gt; P.S.: лично я, когда ставил, просто набрал в командной строке несколько команд: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;cd %DELPHIDIR%&amp;#92;bin&amp;#92; &lt;br /&gt; copy &amp;#92;bin&amp;#92;dcc32.exe %RESDIR% &lt;br /&gt; copy SysInit.dcu %RESDIR% &lt;br /&gt; copy bin&amp;#92;System.dcu %RESDIR% &lt;br /&gt; copy bin&amp;#92;SysUtils.dcu %RESDIR% &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;. . .&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;p&gt; P.P.S.:&lt;!--uzquote--&gt;&lt;div class=&quot;bbQuoteBlock&quot;&gt;&lt;div class=&quot;bbQuoteName&quot; style=&quot;padding-left:5px;font-size:7pt&quot;&gt;&lt;b&gt;Quote&lt;/b&gt; (&lt;span class=&quot;qName&quot;&gt;&lt;!--qn--&gt;hx&lt;!--/qn--&gt;&lt;/span&gt;)&lt;/div&gt;&lt;div class=&quot;quoteMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzq--&gt;Конечно, я могу выложить нужные файлы сюда, но не сделаю это, так как Delphi - платный продукт.&lt;!--/uzq--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzquote--&gt;На самом деле я их выложу, даже в очень удобном инсталляционном пакете, но для этого любой пользователь должен повысить мне репутацию с указанием того, что это для статьи &lt;img src=&quot;http://s12.ucoz.net/sm/2/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot;&gt; . &lt;p&gt; &lt;b&gt;Статья полностью написана мной (hx&apos;ом). Копирование разрешено только с указанием автора.&lt;/b&gt;</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-737-1</guid>
		</item>
		<item>
			<title>hx Uploader</title>
			<link>https://dinedi.ru/forum/32-712-1</link>
			<pubDate>Mon, 04 Jan 2010 17:57:19 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: hx&lt;br /&gt;Количество ответов: 31</description>
			<content:encoded>hx, ты будешь создавать программу? Мне продолжать работу над веб интерфейсом?</content:encoded>
			<category>hx Software</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/32-712-1</guid>
		</item>
		<item>
			<title>Общие вопросы по Delphi</title>
			<link>https://dinedi.ru/forum/32-471-1</link>
			<pubDate>Fri, 25 Dec 2009 00:21:59 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Felix&lt;br /&gt;Количество ответов: 32</description>
			<content:encoded>Задаём вопросы по программингу пользователю hak48 &lt;p&gt; Начну я : почему дельфи &quot;дырявый&quot;??? &lt;br /&gt; Скриншот: &lt;br /&gt; &lt;!--IMG1--&gt;&lt;a href=&quot;http://gdde.ucoz.ru/_fr/4/1365503.jpg&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://gdde.ucoz.ru/_fr/4/s1365503.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt;</content:encoded>
			<category>hx Software</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/32-471-1</guid>
		</item>
		<item>
			<title>PHP - Устранение строковых уязвимостей</title>
			<link>https://dinedi.ru/forum/32-670-1</link>
			<pubDate>Sat, 14 Nov 2009 07:42:06 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: z-kzn-z&lt;br /&gt;Количество ответов: 7</description>
			<content:encoded>Для почти полного устранения строковых уязвимостей вы можете использовать эту функцию: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;function antihack($str, $len=0, $br=0&amp;#41; { &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;$str=htmlspecialchars($str&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;$str=nl2br($str&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ($len&gt;0&amp;#41; {$str=substr($str, 0, $len&amp;#41;;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ($br==1&amp;#41; {$str=str_replace(&apos;&lt;br /&gt;&apos;, &apos;&apos;, $str&amp;#41;;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return $str; &lt;br /&gt; }&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; У функции следующие параметры: &lt;br /&gt; 1). Строка для обработки; &lt;br /&gt; 2). Максимальная длина (необязательный параметр, по умолчанию не ограничено - 0); &lt;br /&gt; 3). Разрешать ли переводы строк (необязательный параметр, по умолчанию нет). &lt;br /&gt; Добавьте её в ваш скрипт и используйте при файловых операциях, получении данных от пользователя методами GET и POST и т.п.. &lt;br /&gt; Действие функции следующее: &lt;br /&gt; 1). Замена html тегов их сущностями; &lt;br /&gt; 2). Преобразование переводов строк в тег &lt;br&gt;; &lt;br /&gt; 3). Если надо, обрезание строки до максимальной длины; &lt;br /&gt; 4). Если надо, уничтожение переводов строк и тегов &lt;br&gt;. &lt;p&gt; &lt;b&gt;Добавлено&lt;/b&gt; (13.11.2009, 12:08) &lt;br /&gt; --------------------------------------------- &lt;br /&gt; P.S.: функция написана X-3me и доработана мной.</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-670-1</guid>
		</item>
		<item>
			<title>PHP - Простейший файл-менеджер</title>
			<link>https://dinedi.ru/forum/32-669-1</link>
			<pubDate>Fri, 13 Nov 2009 07:07:23 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: hx&lt;br /&gt;Количество ответов: 7</description>
			<content:encoded>&lt;b&gt;Часть 1.&lt;/b&gt; &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;&lt;?php &lt;br /&gt; if($_GET&amp;#91;&apos;dir&apos;]==&apos;&apos;&amp;&amp;$_GET&amp;#91;&apos;file&apos;]==&apos;&apos;&amp;#41;{$_GET&amp;#91;&apos;dir&apos;]=&apos;.&apos;;} &lt;br /&gt; if($_GET&amp;#91;&apos;dir&apos;]!=&apos;&apos;&amp;#41;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$dh = opendir($_GET&amp;#91;&apos;dir&apos;]&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while($filename = readdir($dh&amp;#41;&amp;#41;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(is_file($_GET&amp;#91;&apos;dir&apos;].&apos;/&apos;.$filename&amp;#41;&amp;#41;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo &apos;&lt;a href=&quot;fm.php?file=&apos;.$_GET&amp;#91;&apos;dir&apos;].&apos;/&apos;.$filename.&apos;&quot;&gt;&apos;.$filename.&apos;&lt;/ &lt;br /&gt; a&gt;&lt;br&gt;&apos;;}else{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if($filename!=&apos;.&apos;&amp;#41;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo &apos;&lt;a href=&quot;fm.php?dir=&apos;.$_GET&amp;#91;&apos;dir&apos;].&apos;/&apos;.$filename.&apos;&quot;&gt;&apos;.$filename.&apos;/&lt;/a&gt;&lt;br&gt;&apos;;}}}}else &lt;br /&gt; if($_GET&amp;#91;&apos;file&apos;]!=&apos;&apos;&amp;#41;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(file_exists($_GET&amp;#91;&apos;file&apos;]&amp;#41;&amp;#41;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ftx=file_get_contents($_GET&amp;#91;&apos;file&apos;]&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$ftx=str_replace(&apos;&lt;/textarea&gt;&apos;, &apos;&lt;/textarea&gt;&apos;, $ftx&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}else{$ftx=&quot;File doesn&apos;t exists!&quot;;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;echo &apos;&lt;textarea rows=25 cols=100&gt;&apos;.htmlspecialchars($ftx&amp;#41;.&apos;&lt;/textarea&gt;&apos;;} &lt;br /&gt; ?&gt; &lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Перед вами код простейшего файл-менеджера. Он умеет удобно &quot;ходить&quot; по папкам и смотреть текстовые файлы. &lt;br /&gt; Рассмотрим его код подробнее. &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;if($_GET&amp;#91;&apos;dir&apos;]==&apos;&apos;&amp;&amp;$_GET&amp;#91;&apos;file&apos;]==&apos;&apos;&amp;#41;{$_GET&amp;#91;&apos;dir&apos;]=&apos;.&apos;;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Здесь мы обрабатываем случай, когда нет параметров вызова файла. В этом случае он открывает текущий каталог (.). &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;if($_GET&amp;#91;&apos;dir&apos;]!=&apos;&apos;&amp;#41;{ &lt;br /&gt; $dh = opendir($_GET&amp;#91;&apos;dir&apos;]&amp;#41;;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Здесь мы узнаём, что включён режим просмотра папок (а не файлов) и открываем нужную папку. &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;while($filename = readdir($dh&amp;#41;&amp;#41;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Запускаем цикл чтения имён файлов. &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;{if(is_file($_GET&amp;#91;&apos;dir&apos;].&apos;/&apos;.$filename&amp;#41;&amp;#41;{ &lt;br /&gt; echo &apos;&lt;a href=&quot;fm.php?file=&apos;.$_GET&amp;#91;&apos;dir&apos;].&apos;/&apos;.$filename.&apos;&quot;&gt;&apos;.$filename.&apos;&lt;/a&gt;&lt;br&gt;&apos;;}else{ &lt;br /&gt; if($filename!=&apos;.&apos;&amp;#41;{ &lt;br /&gt; echo &apos;&lt;a href=&quot;fm.php?dir=&apos;.$_GET&amp;#91;&apos;dir&apos;].&apos;/&apos;.$filename.&apos;&quot;&gt;&apos;.$filename.&apos;/&lt;/a&gt;&lt;br&gt;&apos;;}}}}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Проверяем, файл это или каталог. Если файл, выводим ссылку для просмотрщика, если папка и её имя не . (не текущая), добавляем к имени слэш и выводим ссылку для открытия. &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;else &lt;br /&gt; if($_GET&amp;#91;&apos;file&apos;]!=&apos;&apos;&amp;#41;{ &lt;br /&gt; if(file_exists($_GET&amp;#91;&apos;file&apos;]&amp;#41;&amp;#41;{&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Иначе если включён режим просмотра текстового файла, проверяем его существование. &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;$ftx=file_get_contents($_GET&amp;#91;&apos;file&apos;]&amp;#41;; &lt;br /&gt; $ftx=str_replace(&apos;&lt;/textarea&gt;&apos;, &apos;&lt;/textarea&gt;&apos;, $ftx&amp;#41;; &lt;br /&gt; }else{$ftx=&quot;File doesn&apos;t exists!&quot;;} &lt;br /&gt; echo &apos;&lt;textarea rows=25 cols=100&gt;&apos;.$ftx.&apos;&lt;/textarea&gt;&apos;;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Получаем его содержимое, в нём меняем завершающий тег поля текста на его видимый эквивалент, если файла не существует вместо текст файла заменяем текстом &quot;File doesn&apos;t exists!&quot;. &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;echo &apos;&lt;textarea rows=25 cols=100&gt;&apos;.$ftx.&apos;&lt;/textarea&gt;&apos;;}&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; И выводим результат в большом текстовом поле. &lt;p&gt; Вот и всё! Более сложные операции в файл-менеджере будут рассмотрены позже. &lt;p&gt; &lt;b&gt;Добавлено&lt;/b&gt; (12.11.2009, 12:46) &lt;br /&gt; --------------------------------------------- &lt;br /&gt; P.S.: статья и код полностью написаны мной. Копирование статьи разрешено только с указанием автора, использование кода свободно.</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-669-1</guid>
		</item>
		<item>
			<title>hx Translator Suite</title>
			<link>https://dinedi.ru/forum/32-650-1</link>
			<pubDate>Thu, 24 Sep 2009 15:54:15 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 2</description>
			<content:encoded>&lt;a class=&quot;link&quot; href=&quot;http://hx.dingoedition.ru/transsuite.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;hx Translator Suite&lt;/a&gt; &lt;p&gt; Платформа: Win 2k/XP/Vista. &lt;br /&gt; Тип: Free. &lt;br /&gt; Последняя версия: 1.0.0. &lt;br /&gt; Состояние: разработка. &lt;br /&gt; Скриншоты: &lt;br /&gt; нет. &lt;br /&gt; Утилита для перевода программ. &lt;br /&gt; Перевести любую программу, извлечь строки и адреса - теперь это легко можно сделать с помощью этой программы. &lt;br /&gt; Просто запустите её, откройте необходимый файл, замените строки и сохраните. &lt;br /&gt; Также присутствует функция поиска строк в одном и нескольких файлах. &lt;br /&gt; Рекомендации по тонкой настройке есть здесь. &lt;p&gt; Копираст by hx Software</content:encoded>
			<category>hx Software</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/32-650-1</guid>
		</item>
		<item>
			<title>Gravity Defied Track Editor 3.1</title>
			<link>https://dinedi.ru/forum/32-649-1</link>
			<pubDate>Thu, 24 Sep 2009 09:07:07 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: hx&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Ты сможешь создать новую версию когда откроется мой конструктор? Чтобы там была ссылка на добавление levels.mrg?</content:encoded>
			<category>hx Software</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/32-649-1</guid>
		</item>
		<item>
			<title>Всё об MD5</title>
			<link>https://dinedi.ru/forum/32-648-1</link>
			<pubDate>Tue, 22 Sep 2009 11:29:58 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Описание темы: (Это алгоритм шифрования).&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 10</description>
			<content:encoded>&lt;span style=&quot;font-size:10pt;&quot;&gt;&lt;b&gt;Что такое MD5 &lt;/b&gt;&lt;/span&gt; &lt;p&gt; Этот алгоритм был разработан в 1991 году профессором Рональдом Л. Ривестом. Алгоритм MD5 часто называют алгоритмом шифрования, но на самом деле это утверждение ошибочно. Главным преимуществом MD5 является то, что зашифрованные данные восстановить нельзя. А что это за алгоритм шифрования, который шифрует данные так, что никто их не сможет узнать? MD5 — это хэш-функция. У многих возник вопрос: что же это такое? Остановимся на этом вопросе. &lt;p&gt; Что такое Хэш-функция &lt;p&gt; Предположим, у нас есть некоторый набор данных. Для простоты будем рассматривать натуральные числа от 1 до 106. И пусть есть некоторая функция, в которой один параметр — натуральное число от 1 до 106, а возвращаемое значение — натуральное число от 1 до 1000. Нам не важно, что именно делает эта функция, нам важно то, что она каждому натуральному числу от 1 до 106 ставит в соответствие другое натуральное число от 1 до 1000. Для примера рассмотрим одну из самых простых функций, выполняющих это действие: &lt;p&gt; int hash(long int x){ &lt;br /&gt; if (x%1000==0) return 1000; &lt;br /&gt; return (x % 1000); &lt;br /&gt; } &lt;p&gt; function hash(x:longint):longint; &lt;br /&gt; begin &lt;br /&gt; if (x mod 1000=0) then hash:=1000 else &lt;br /&gt; hash:=x mod 1000; &lt;br /&gt; end; &lt;p&gt; Это и есть простая хэш-функция. Если мы знаем параметр функции, то однозначно можем сказать, какой будет результат. А если нам известен результат, то можем ли мы узнать однозначно параметр? Конечно, нет. Для числа 234 параметр может быть 234,1234, 2234,3234… Поэтому однозначно восстановить параметр не получится. &lt;p&gt; Зачем нужен MD5 &lt;p&gt; Для функции из примера, если известен результат, можно легко найти параметр, для которого будет такой же результат. А вот для функции MD5 это сделать не так-то просто. Т.е. если у нас есть только результат функции MD5, то мы не сможем найти параметр, для которого функция выдаст этот же результат (речь даже не идет про однозначное восстановление параметра). MD5 используют для хранения паролей. Приведу пример, когда хранение паролей в открытом виде опасно. Возьмем сайт &quot;Дистанционное обучение&quot;. На этом сайте проходят городские олимпиады школьников по информатике, ежедневно обучаются сотни школьников и студентов. Во многих школах доступа в Интернет нет, и школьникам необходимо пользоваться услугами сайта либо дома, либо не в своей школе. Поэтому сайт начали устанавливать в самих школах. Т.е. обучение происходит не на самом сайте, а на его копии, установленной в школе. Проблема в том, что вместе с сайтом школа получала пароли всех пользователей (в том числе и администраторов), и этими паролями любой мог воспользоваться для &quot;администрирования&quot; самого сайта. Было два способа решить эту проблему: &lt;p&gt; 1. Перед созданием копии сайта, которая будет перенесена в школу, удалять все пароли. &lt;br /&gt; 2. Зашифровать все пароли так, чтобы никто не смог расшифровать их обратно. &lt;p&gt; Был выбран второй способ. Сейчас пароли хранятся в зашифрованном виде (при помощи MD5). После того, как пользователь введет свой пароль, от пароля вычисляется хэш-функция MD5. Результат сравнивается со значением, хранящимся в базе. Если значения равны, то пароль верен. Еще MD5 можно использовать в качестве контрольной суммы. Предположим, необходимо куда-то скопировать файл. Причем нет никаких гарантий, что файл будет доставлен без повреждений. Перед отправкой можно посчитать MD5 от содержимого файла и передать результат вместе с файлом. Затем посчитать MD5 от принятого файла и сравнить два результата. Если результаты различные, то это означает, что файл или результат был испорчен при передаче. Последнее время MD5 стали использовать интернет-казино. Перед тем, как сделать ставку, игрок получает хэш от результата игры. Когда ставка сделана, игрок получает результат игры (например, выпало число 26). Посчитав от результата хэш-функцию, можно убедиться, что казино сгенерировало это число до того, как игрок сделал ставку. Но не стоит думать, что выиграть в этом казино очень просто. Весь секрет в том что, вероятность выигрыша подобрана таким образом, что игрок почти всегда будет в проигрыше. &lt;p&gt; Как работает MD5 &lt;p&gt; Теперь посмотрим, как именно работает MD5. Для обработки MD5 получает некоторую строку. Эта строка преобразуется в последовательность из нулей и единиц. Как это делается? У каждого символа есть свой номер. Эти номера можно записать в двоичной системе счисления. Получается, каждый символ можно записать как последовательность нулей и единиц. Если этим воспользоваться, получим из строки последовательность из нулей и единиц. Пусть q будет длина получившейся последовательности (ровно 64 бита, возможно, с незначащими нулями). К получившейся последовательности приписывается 1. В результате длина последовательности увеличивается на 1. Затем к последовательности приписываются нули, пока длина не станет по модулю 512 равна 448 (length mod 512=448). Далее к последовательности дописываются младшие 32 бита числа q, а затем — старшие. Длина последовательности становится кратной 512. Полученную последовательность назовем S. Для подсчета результата используются четыре двойных слова (32 бита). Эти двойные слова инициализируются следующими шестнадцатеричными значениями, где первым следует самый младший байт: &lt;p&gt; A: 01 23 45 67 &lt;br /&gt; B: 89 ab cd ef &lt;br /&gt; C: fe dc ba 98 &lt;br /&gt; D: 76 54 32 10 &lt;br /&gt; Также для подсчета результата используются следующие функции: &lt;br /&gt; F(X,Y,Z) = XY v not(X) Z &lt;br /&gt; G(X,Y,Z) = XZ v Y not(Z) &lt;br /&gt; H(X,Y,Z) = X xor Y xor Z &lt;br /&gt; I(X,Y,Z) = Y xor (X v not(Z)) &lt;p&gt; X,Y,Z — это двойные слова. Результаты функций, также двойные слова. Для подсчета используется еще одна функция (назовем ее W). Она хитро обрабатывает данные и возвращает результат (подробно ее описывать не буду, т.к. она выполняет серию простых преобразований). Обработка данных происходит с использованием функций F, G, H, I. &lt;p&gt; На рисунке схематически изображена функция. Слева — входные данные, справа — выходные. &lt;p&gt; Все необходимые функции и обозначения рассмотрены. Теперь рассмотрим, как происходит просчет результата: &lt;br /&gt; 1. Запоминаем первые 512 бит последовательности S. &lt;br /&gt; 2. Удаляем первые 512 бит последовательности S (можно обойтись и без удаления, но тогда на первом шаге надо брать не первые 512, а &lt;br /&gt; следующие 512 бит). &lt;br /&gt; 3. Вызываем функцию W. Параметры A,B,C,D — это текущие значения соответствующих двойных слов. Параметр T — это запомненные 512 бит. &lt;br /&gt; 4. Прибавляем к A A0. &lt;br /&gt; 5. B=B+B0. &lt;br /&gt; 6. C=C+C0. &lt;br /&gt; 7. D=D+D0. &lt;br /&gt; 8. Если длина последовательности 0, выходим. &lt;br /&gt; 9. Переходим к шагу 1. &lt;p&gt; После выполнения этого алгоритма A,B,C,D — это результат (его длина будет 128 бит). Часто можно видеть результат MD5 как последовательность из 32 символов 0..f. Это то же самое, только результат записан не в двоичной системе счисления, а в шестнадцатеричной. &lt;p&gt; Взлом MD5 &lt;p&gt; В Интернете можно найти много программ, которые обещают найти строку, для которой алгоритм MD5 выдаст заданный результат. Эти программы действительно работают. Ранее отмечалось, что восстановить параметр невозможно. Как же работают эти программы? Они перебирают все возможные строки, применяют к ним алгоритм MD5, а затем сравнивают с образцом. Если значения совпали, это означает, что программа нашла необходимую строку. Но у этих программ есть маленький недостаток. Предположим, известно, что программе придется перебрать все слова длиной в 8 символов, состоящих из маленьких и больших латинских букв. Сколько времени это займет? Сколько всего таких слов? На первом месте может стоять любой из 26*2=52 символов. На 2, 3, 4, 5, 6, 7 и 8 — тоже 52. Значит, всего таких слов будет: 52*52*52*52*52*52*52*52=528=53*1012. А если используются не только латинские буквы? То это еще больше. Перебор всех вариантов на обычном персональном компьютере займет очень много времени. В Интернете можно найти сайты, которые по введенному хэшу выдают строку, для которой будет точно такой же хэш. Эти сайты используют базу данных с заранее просчитанными хэшами. Но в базах хранятся не все хэшы, а только самые используемые. Так что советую использовать в качестве пароля абсолютно случайную последовательность символов.&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (18.09.2009, 16:16)&lt;br /&gt;---------------------------------------------&lt;br /&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;&lt;b&gt;Простейшее использование MD5 &lt;/b&gt;&lt;/span&gt; &lt;br /&gt; &lt;b&gt;PHP &lt;/b&gt; &lt;br /&gt; Используйте стандартную функцию: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;md5(строка&amp;#41;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;p&gt; &lt;b&gt;Delphi &amp; C++Builder &lt;/b&gt; &lt;br /&gt; Для начала прилепите к проекту этот модуль: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;unit Umd5; &lt;br /&gt; interface &lt;br /&gt; uses Windows, SysUtils; &lt;br /&gt; type &lt;br /&gt; THash = DWord; &lt;br /&gt; function md5 (buf: string&amp;#41;: string; &lt;br /&gt; implementation &lt;br /&gt; var HEX: array&amp;#91;Word] of string; &lt;br /&gt; function LRot32 (a, b: LongWord&amp;#41;: LongWord; &lt;br /&gt; asm &lt;br /&gt; mov ecx, edx &lt;br /&gt; rol eax, cl &lt;br /&gt; end; &lt;br /&gt; function md5 (buf: string&amp;#41;: string; &lt;br /&gt; type &lt;br /&gt; pint = ^Integer; &lt;br /&gt; tdata = array &amp;#91;0..15] of DWORD; &lt;br /&gt; pdata = ^tdata; &lt;br /&gt; tbyte = array &amp;#91;0..15] of byte; &lt;br /&gt; pbyte = ^tbyte; &lt;br /&gt; var &lt;br /&gt; i, Len: Integer; &lt;br /&gt; data: pdata; &lt;br /&gt; CurrentHash: array&amp;#91;0..3] of DWord; &lt;br /&gt; P: array&amp;#91;0..7] of Word absolute CurrentHash; &lt;br /&gt; A, B, C, D: DWord; &lt;br /&gt; begin &lt;br /&gt; Len := Length (buf&amp;#41;; &lt;br /&gt; SetLength (buf, 64&amp;#41;; &lt;br /&gt; buf&amp;#91;Len+1] := #$80; &lt;br /&gt; FillChar (buf&amp;#91;Len+2], 63 - Len, 0&amp;#41;; &lt;br /&gt; pint (@buf&amp;#91;57]&amp;#41;^ := Len * 8; &lt;br /&gt; CurrentHash&amp;#91;0] := $67452301; &lt;br /&gt; CurrentHash&amp;#91;1] := $efcdab89; &lt;br /&gt; CurrentHash&amp;#91;2] := $98badcfe; &lt;br /&gt; CurrentHash&amp;#91;3] := $10325476; &lt;br /&gt; A := CurrentHash&amp;#91;0]; &lt;br /&gt; B := CurrentHash&amp;#91;1]; &lt;br /&gt; C := CurrentHash&amp;#91;2]; &lt;br /&gt; D := CurrentHash&amp;#91;3]; &lt;br /&gt; data := addr (buf&amp;#91;1]&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (D xor (B and (C xor D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 0] + $d76aa478, 7&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (C xor (A and (B xor C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 1] + $e8c7b756, 12&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (B xor (D and (A xor B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 2] + $242070db, 17&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (A xor (C and (D xor A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 3] + $c1bdceee, 22&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (D xor (B and (C xor D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 4] + $f57c0faf, 7&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (C xor (A and (B xor C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 5] + $4787c62a, 12&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (B xor (D and (A xor B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 6] + $a8304613, 17&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (A xor (C and (D xor A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 7] + $fd469501, 22&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (D xor (B and (C xor D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 8] + $698098d8, 7&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (C xor (A and (B xor C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 9] + $8b44f7af, 12&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (B xor (D and (A xor B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;10] + $ffff5bb1, 17&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (A xor (C and (D xor A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;11] + $895cd7be, 22&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (D xor (B and (C xor D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;12] + $6b901122, 7&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (C xor (A and (B xor C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;13] + $fd987193, 12&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (B xor (D and (A xor B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;14] + $a679438e, 17&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (A xor (C and (D xor A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;15] + $49b40821, 22&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (C xor (D and (B xor C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 1] + $f61e2562, 5&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (B xor (C and (A xor B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 6] + $c040b340, 9&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (A xor (B and (D xor A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;11] + $265e5a51, 14&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (D xor (A and (C xor D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 0] + $e9b6c7aa, 20&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (C xor (D and (B xor C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 5] + $d62f105d, 5&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (B xor (C and (A xor B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;10] + $02441453, 9&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (A xor (B and (D xor A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;15] + $d8a1e681, 14&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (D xor (A and (C xor D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 4] + $e7d3fbc8, 20&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (C xor (D and (B xor C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 9] + $21e1cde6, 5&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (B xor (C and (A xor B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;14] + $c33707d6, 9&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (A xor (B and (D xor A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 3] + $f4d50d87, 14&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (D xor (A and (C xor D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 8] + $455a14ed, 20&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (C xor (D and (B xor C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;13] + $a9e3e905, 5&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (B xor (C and (A xor B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 2] + $fcefa3f8, 9&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (A xor (B and (D xor A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 7] + $676f02d9, 14&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (D xor (A and (C xor D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;12] + $8d2a4c8a, 20&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (B xor C xor D&amp;#41; + data^&amp;#91; 5] + $fffa3942, 4&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (A xor B xor C&amp;#41; + data^&amp;#91; 8] + $8771f681, 11&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (D xor A xor &lt;img src=&quot;http&amp;#58;//s12.ucoz.net/sm/23/cool.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;cool&quot;&gt; + data^&amp;#91;11] + $6d9d6122, 16&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (C xor D xor A&amp;#41; + data^&amp;#91;14] + $fde5380c, 23&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (B xor C xor D&amp;#41; + data^&amp;#91; 1] + $a4beea44, 4&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (A xor B xor C&amp;#41; + data^&amp;#91; 4] + $4bdecfa9, 11&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (D xor A xor &lt;img src=&quot;http&amp;#58;//s12.ucoz.net/sm/23/cool.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;cool&quot;&gt; + data^&amp;#91; 7] + $f6bb4b60, 16&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (C xor D xor A&amp;#41; + data^&amp;#91;10] + $bebfbc70, 23&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (B xor C xor D&amp;#41; + data^&amp;#91;13] + $289b7ec6, 4&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (A xor B xor C&amp;#41; + data^&amp;#91; 0] + $eaa127fa, 11&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (D xor A xor &lt;img src=&quot;http&amp;#58;//s12.ucoz.net/sm/23/cool.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;cool&quot;&gt; + data^&amp;#91; 3] + $d4ef3085, 16&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (C xor D xor A&amp;#41; + data^&amp;#91; 6] + $04881d05, 23&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (B xor C xor D&amp;#41; + data^&amp;#91; 9] + $d9d4d039, 4&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (A xor B xor C&amp;#41; + data^&amp;#91;12] + $e6db99e5, 11&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (D xor A xor &lt;img src=&quot;http&amp;#58;//s12.ucoz.net/sm/23/cool.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;cool&quot;&gt; + data^&amp;#91;15] + $1fa27cf8, 16&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (C xor D xor A&amp;#41; + data^&amp;#91; 2] + $c4ac5665, 23&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (C xor (B or (not D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 0] + $f4292244, 6&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (B xor (A or (not C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 7] + $432aff97, 10&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (A xor (D or (not B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;14] + $ab9423a7, 15&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (D xor (C or (not A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 5] + $fc93a039, 21&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (C xor (B or (not D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;12] + $655b59c3, 6&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (B xor (A or (not C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 3] + $8f0ccc92, 10&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (A xor (D or (not B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;10] + $ffeff47d, 15&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (D xor (C or (not A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 1] + $85845dd1, 21&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (C xor (B or (not D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 8] + $6fa87e4f, 6&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (B xor (A or (not C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;15] + $fe2ce6e0, 10&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (A xor (D or (not B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 6] + $a3014314, 15&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (D xor (C or (not A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;13] + $4e0811a1, 21&amp;#41;; &lt;br /&gt; A := B + LRot32 (A + (C xor (B or (not D&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 4] + $f7537e82, 6&amp;#41;; &lt;br /&gt; D := A + LRot32 (D + (B xor (A or (not C&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91;11] + $bd3af235, 10&amp;#41;; &lt;br /&gt; C := D + LRot32 (C + (A xor (D or (not B&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 2] + $2ad7d2bb, 15&amp;#41;; &lt;br /&gt; B := C + LRot32 (B + (D xor (C or (not A&amp;#41;&amp;#41;&amp;#41; + data^&amp;#91; 9] + $eb86d391, 21&amp;#41;; &lt;br /&gt; Inc (CurrentHash&amp;#91;0], A&amp;#41;; &lt;br /&gt; Inc (CurrentHash&amp;#91;1], B&amp;#41;; &lt;br /&gt; Inc (CurrentHash&amp;#91;2], C&amp;#41;; &lt;br /&gt; Inc (CurrentHash&amp;#91;3], D&amp;#41;; &lt;br /&gt; Result := StrLower(PChar(HEX&amp;#91;P&amp;#91;0]]&amp;#41;&amp;#41;; &lt;br /&gt; for i := 1 to 7 do &lt;br /&gt; Result := Concat (Result, StrLower(PChar(HEX&amp;#91;P&amp;#91;i]]&amp;#41;&amp;#41;&amp;#41;; &lt;br /&gt; end; &lt;br /&gt; var DEC, Tmp: Integer; &lt;br /&gt; LH: string; &lt;br /&gt; initialization &lt;br /&gt; for DEC := 0 to $ffff do &lt;br /&gt; begin &lt;br /&gt; Tmp := DEC and $ff; &lt;br /&gt; LH := IntToHex (Tmp, 2&amp;#41;; &lt;br /&gt; Tmp := DEC shr 8; &lt;br /&gt; HEX&amp;#91;DEC] := Concat (LH, IntToHex (Tmp, 2&amp;#41;&amp;#41;; &lt;br /&gt; end; &lt;br /&gt; end.&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; Не забудьте, что модуль должен называться &quot;umd5.pas&quot; . &lt;p&gt; Использование &lt;u&gt;функции&lt;/u&gt;: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;md5(строка&amp;#41;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (18.09.2009, 16:18)&lt;br /&gt;---------------------------------------------&lt;br /&gt;Использованные материалы: &lt;br /&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://www.nestor.minsk.by/kg/2006/18/kg61802.html&quot;&gt;http://www.nestor.minsk.by/kg/2006/18/kg61802.html&lt;/a&gt; &lt;br /&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://www.slavssoft.ru/articles/?page=md5&quot;&gt;http://www.slavssoft.ru/articles/?page=md5&lt;/a&gt; &lt;br /&gt; Остальное всё сам придумал. &lt;p&gt; Вопросы сюда.</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-648-1</guid>
		</item>
		<item>
			<title>Система авторизации</title>
			<link>https://dinedi.ru/forum/32-646-1</link>
			<pubDate>Sun, 13 Sep 2009 13:43:04 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 17</description>
			<content:encoded>Не знаю, где там динго, но сообщаю ему что он со своей системой жёстко тормозит и опоздал, так как мы с X-3me за 2 недели разработали мощную систему авторизации с бд, превосходящую (вроде бы) по функциям дингину. Так что просьба динге ответить мне, и, если что, присоединится к разработке системы от X-3me. Мой PHP сайт с установленной и адаптированной системой от X-3me: &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://hxs.tu2.ru&quot;&gt;http://hxs.tu2.ru&lt;/a&gt;</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-646-1</guid>
		</item>
		<item>
			<title>hx Messenger 2 - после прекращения поддержки</title>
			<link>https://dinedi.ru/forum/32-605-1</link>
			<pubDate>Fri, 14 Aug 2009 05:41:41 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: hx&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>Все сообщения о прекращении поддержки перенеснеы сюда &lt;p&gt; ЗЫ: Собственно, чат всё ещё работает, все аккаунты и логи на сервере сохранены. Но только прекращён выпуск новых версий, а всякая техническая поддержка старых прекращена.</content:encoded>
			<category>hx Software</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/32-605-1</guid>
		</item>
		<item>
			<title>Open Source Day</title>
			<link>https://dinedi.ru/forum/32-625-1</link>
			<pubDate>Sun, 21 Jun 2009 08:58:40 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Описание темы: Исходники проектов&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 5</description>
			<content:encoded>Я хочу начать Open Source Day (День Открытого Исходного кода). &lt;br /&gt; Сегодня я выложу исходники следующих проектов: &lt;br /&gt; - hx Messenger, версии 2.1.0 (скажу также, что есть версия 2.1.1 Alpha, но из-за применения в ней моих новых технологий защиты и шифрования я её исходники не выкладываю). &lt;br /&gt; - hx File Transfer, версии 1.0.0 и 1.0.1 . &lt;br /&gt; Для компиляции этих проектов понадобится Delphi не ниже 7 версии, библиотека CoolTray (она в комплекте) и изменение серверов на свои. &lt;p&gt; Скачать: &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://upwap.ru/452890&quot;&gt;http://upwap.ru/452890&lt;/a&gt; . &lt;br /&gt; Пароль: fghj . &lt;p&gt; Потом я выложу чо нить ещё, а вы тоже чо нить выкладывайте.</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-625-1</guid>
		</item>
		<item>
			<title>ETE Mobile</title>
			<link>https://dinedi.ru/forum/32-626-1</link>
			<pubDate>Mon, 15 Jun 2009 06:30:57 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Описание темы: Easy Text Editor for mobile phones&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: hx&lt;br /&gt;Количество ответов: 6</description>
			<content:encoded>&lt;b&gt;Последняя версия ETE Mobile - в последних постах!&lt;/b&gt; &lt;p&gt; ============================== &lt;p&gt; Я решил начать новый проект - текстовый редактор для мобильников (Admin, разреши использовать название :), если не разрешиш - переименуй тему в &quot;Текстовый редактор для мобильных телефонов&quot;). Думаю прога будет популярной, так как аналогичных редакторов нет, а редакторы в файл-менеджерах не присутствуют, или глючные и малофункциональные. &lt;br /&gt; Будет реализована сначала поддержка txt, в дальнейшем - html, rtf и doc . Также будет поддерживаться собственный формат - etm . &lt;br /&gt; Сначала текст будет редактироваться в обычном textBoxе, однако потом будет сделан графический редактор, даже с поддержкой изменения шрифта, стиля, гарнитуры и размера. &lt;p&gt; &lt;b&gt;Добавлено&lt;/b&gt; (13.06.2009, 11:23) &lt;br /&gt; --------------------------------------------- &lt;br /&gt; Кстати, исходники буду периодически выкладывать на Open Source Day .</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-626-1</guid>
		</item>
		<item>
			<title>hx Internet Kit 2009</title>
			<link>https://dinedi.ru/forum/32-594-1</link>
			<pubDate>Sat, 13 Jun 2009 05:52:58 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Описание темы: Програмный пакет для работы в интернете.&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 24</description>
			<content:encoded>Стартовала разработка програмного пакета для работы в интернете от hx Programming Studio! &lt;p&gt; Пакет будет включать в себя такие программы, как: &lt;p&gt; - hx Messenger 2.2.0 - новая версия программы с возможностью общения в любых сетях (ICQ и т.д.) с помощью подключения доп. плагинов в виде dll. &lt;p&gt; - hx Site Builder 1.0.0 - программа для создания сайтов: FTP - доступ, встроенный html-редактор, сайты будут размещаться по адресу &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://hx.do.am/users/Ваш&quot;&gt;http://hx.do.am/users/Ваш&lt;/a&gt; логин/ , возможно прикрепление доменов (не автоматизировано). &lt;p&gt; - hx Downloader 1.0.0 - менеджер закачек. &lt;p&gt; - hx File Transfer 1.0.0 - программа для размещения файлов в интернете.</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-594-1</guid>
		</item>
		<item>
			<title>hx Messenger 2</title>
			<link>https://dinedi.ru/forum/32-461-1</link>
			<pubDate>Sun, 12 Apr 2009 13:32:41 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Описание темы: Чат&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 139</description>
			<content:encoded>&lt;b&gt;Последняя версия - hx Messenger 2.1.0&lt;/b&gt; &lt;br /&gt; Дальнейшее обсуждение: &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://dinedi.ru/forum/32-605-1&quot; rel=&quot;nofollow&quot;&gt;http://dinedi.ru/forum/32-605-1&lt;/a&gt;</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-461-1</guid>
		</item>
		<item>
			<title>Аська</title>
			<link>https://dinedi.ru/forum/32-521-1</link>
			<pubDate>Sat, 31 Jan 2009 09:21:47 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: dingo&lt;br /&gt;Количество ответов: 1</description>
			<content:encoded>Вот я нашёл такую вещь: &lt;p&gt; 21.01.2009 после обеда большая часть пользователей клиентов альтернативных ICQ не смогли ими воспользоваться после перезагрузки. Вместо этого контакт под номером 1 уведомил их, что ICQ не поддерживает используемую ими версию клиента. В сообщении также предлагалось скачать авторизованную версию ICQ с официального сайта. &lt;p&gt; На портале icq.com, официальном ресурсе мессенджера, тем временем появилось объявление о том, что ICQ осуществляет поддержку только авторизованных версий программ. В частности, предлагается скачать ICQ 6.5 или облегченный клиент ICQ Lite. &lt;p&gt; На отключение от сети уже пожаловались пользователи таких программ как QIP Infium, Miranda, Adium. Отключения альтернативных клиентов происходят регулярно. Последний раз их пользователи не могли войти в сеть ICQ в декабре 2008 года, когда AOL прекратила поддержку ICQ-протокола 5.1. До этого отключения происходили в октябре и июле. &lt;br /&gt; Пользователи, которые уже находились в сети, никаких изменений не почувствовали и не были отключены от сервера. &lt;br /&gt; У тех, кто пытался подключиться в первые час-полтора это получалось с переменным успехом: это объясняется тем, что что сеть icq распределенная и состоит из множества серверов, и даже после входа вас могут перебросить на другой, и судя по всему изменения применялись на них по очереди. &lt;p&gt; Немного технических деталей: &lt;br /&gt; Процедура входа проходит вполне обычно: проходит инициализация протокола, отсылка capabilities, загрузка серверного контакт-листа и собственных данных. &lt;br /&gt; Примерно в это время и приходит сообщение от номера один, и после этого получить что-либо с сервера становится невозможно. &lt;br /&gt; Решив, что сегодня повторилась ситуация 8-го декабря, когда клиенты перестали работать из-за того что во время логина идентифицировали себя как icq5.1 и более ранние версии, мы попробовали идентифицировать себя как icq6.5 последней модели. &lt;br /&gt; Это не принесло никаких результатов. Стало понятно, что в этот раз АОЛ пошел путем глубокой защиты — видимо теперь уже стали учитываться отправляемые капсы (capabilities, информация о поддерживаемых клиентом фишках протокола). &lt;br /&gt; Действительно, подмена их набора на тот, что использует icq6 помогла, однако только на время первого входа — если после этого переподключиться, то это уже не поможет. Судя по всему в последовательность входа и начальной инициализации внесли какие то изменения, при невыполнении которых клиент считается альтернативным. &lt;br /&gt; Разработчики QIP высказали предположение о том, что серверу нужен некий дополнительный ключ, который может как просто быть зашит в клиент, так и вычисляться на основе полученной от сервера информации. Они в настоящий момент тоже усиленно работают над поиском причины отказа клиента. &lt;p&gt; Вот ещё информация из неизвестного источника: &lt;br /&gt; Сегодня ICQ Corp заявила о том, что будет менять свой протокол каждую неделю. (после последней, сегодняшней, смены протокола не работали даже родные старые версии аськи). &lt;br /&gt; В разговоре с одним из разработчиков клиента MDC для протоколов ICQ и Jabber пояснили, что ICQ не желает что бы пользователи заходили с альтернативных клиентов и будет менять протокол еженедельно до тех пор, пока они не исчезнут вовсе. &lt;br /&gt; Пока ни подтвердить ни опровергнуть её никто не может &lt;p&gt; Это с сайта &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://www.qipmobile.ucoz.ru/&quot;&gt;http://www.qipmobile.ucoz.ru/&lt;/a&gt; &lt;br /&gt; Кстати прикольный сайт про аську &lt;p&gt; Похоже скоро всё грохнется и будем общаться по мессенгеру &lt;img src=&quot;http://s12.ucoz.net/sm/23/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot;&gt;</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-521-1</guid>
		</item>
		<item>
			<title>exe to dll</title>
			<link>https://dinedi.ru/forum/32-516-1</link>
			<pubDate>Wed, 21 Jan 2009 11:11:45 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: hak48&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>В предыдущих темах, таких как Плагины для мобитранса и Плагины-вирусы мы рассмотрели создание dll. &lt;br /&gt; Но хотелось бы поместить в dll целую прогу, а затем уже подгружать её. &lt;p&gt; Для этого зайдите в нужный exe проект, выберите Project&gt;View Source &lt;p&gt; Для более простого варианта измените в коде проекта слово project на library. &lt;br /&gt; Всё! Готово! Но тогда длл будет исполняться сразу после загрузки. Чтобы испраить это, измените код проекта на следующий: &lt;p&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;library Project1; //Тип проекта &lt;br /&gt;&lt;br /&gt; uses //Подключаемые модули &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Forms, &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{Модули ваших форм} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Unit1 in &apos;Unit1.pas&apos; {Form1}; &lt;br /&gt;&lt;br /&gt; {$R *.res} //Подключаемый файл ресурсов &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{Описание переменных и т.п.} &lt;br /&gt;&lt;br /&gt; procedure ExecuteDLL; stdcall; export; //Объявление процседуры &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{Код, исполняемый при вызове процседуры запуска} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Initialize; //Иниализация приложения &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.CreateForm(TForm1, Form1&amp;#41;; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{Создание ваших форм} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Application.Run; //Запуск приложения &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;end; &lt;br /&gt;&lt;br /&gt; exports &lt;br /&gt;&amp;nbsp;&amp;nbsp;ExecuteDLL; //Объявление процседур, доступных основной программе &lt;br /&gt;&lt;br /&gt; begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;{Текст, который будет исполняться сразу при загрузке dll} &lt;br /&gt; end. &lt;br /&gt;&lt;br /&gt; &lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;p&gt; В основную программу, в нужный модуль добавьте в раздел interface &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;procedure ExecuteDLL; external {Имя dll файла};&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;p&gt; Далее Вы сможете запускать программу из dll , написав: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;ExecuteDLL;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;&lt;p&gt;&lt;b&gt;Добавлено&lt;/b&gt; (21.01.2009, 16:11)&lt;br /&gt;---------------------------------------------&lt;br /&gt;И ещё - dll НЕ КОМПИЛИРУЕТСЯ НАЖАТИЕМ F9 &lt;br /&gt; Для компиляции нажмите Project&gt;Build All Projects</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-516-1</guid>
		</item>
		<item>
			<title>Изменение строк в откомпилированных программах</title>
			<link>https://dinedi.ru/forum/32-514-1</link>
			<pubDate>Sun, 18 Jan 2009 14:04:42 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: hak48&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Для изменения строк в откомпилированных программах (*.exe). &lt;br /&gt; Нам понадобится программа Win Hex. &lt;p&gt; Запустите Win Hex, откройте нужный exe . В правой части вы видите всякие кривые символы. Постарайтесь найти нужную строку. Далее следует определить тип строки: string или PChar . Щелкните на последнем символе строки. Теперь посмотрите в центр экрана на две выделенные шестнадцатеричные цифры. Если следующие после выделенных цифр цифры - 00 значит это PChar строка, иначе - string . Если это PChar изменяйте строку как хотите, затем сохраните и запустите прогу. Со string всё немного сложнее - после изменения вам следует указать длину строки. Для этого щелкните на первом символе строки. В центре экрана выделится другая цифра. Далее выделите преведущую перед выделенной цифру. Измените эту цифру на длину строки в шестнадцатеричном виде. Десятичное число перевести в шестнадцатеричное поможет стандартный калькулятор.</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-514-1</guid>
		</item>
		<item>
			<title>Плавное сворачивание окна</title>
			<link>https://dinedi.ru/forum/32-470-1</link>
			<pubDate>Tue, 30 Dec 2008 16:02:20 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/32&quot;&gt;hx Software&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: hak48&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>Для плавного сворачивания окна (как в мессенгере 1.3 тулз&gt;минимизе) вставьте такой код для сворачивания: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;for i:=t1 div 5 downto t2 div 5 do &lt;br /&gt;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;Height:=i*5; &lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; И такой для разворачивания: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;for i:=t2 div 5 to t1 div 5 do &lt;br /&gt;&amp;nbsp;&amp;nbsp;begin &lt;br /&gt;&amp;nbsp;&amp;nbsp;Height:=i*5; &lt;br /&gt;&amp;nbsp;&amp;nbsp;end;&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt; &lt;br /&gt; А также в начале модуля вставьте следующий код: &lt;br /&gt; &lt;!--uzcode--&gt;&lt;div class=&quot;bbCodeBlock&quot;&gt;&lt;div class=&quot;bbCodeName&quot; style=&quot;padding-left:5px;font-weight:bold;font-size:7pt&quot;&gt;Code&lt;/div&gt;&lt;div class=&quot;codeMessage&quot; style=&quot;border:1px inset;max-height:200px;overflow:auto;height:expression(this.scrollHeight&lt;5?this.style.height:scrollHeight&gt;200?&apos;200px&apos;:&apos;&apos;+(this.scrollHeight+5)+&apos;px&apos;);&quot;&gt;&lt;!--uzc--&gt;const &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t1 = {высота развёрнутого окна}; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;t2 = {высота развёрнутого окна}; &lt;br /&gt; //желательно, чтобы t1 и t2 делились на 5&lt;!--/uzc--&gt;&lt;/div&gt;&lt;/div&gt;&lt;!--/uzcode--&gt;</content:encoded>
			<category>hx Software</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/32-470-1</guid>
		</item>
	</channel>
</rss>