<?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>Thu, 06 Feb 2014 14:39:47 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://dinedi.ru/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Editor.Dinedi.NET — Gravity Defied Online Levels Editor</title>
			<link>https://dinedi.ru/forum/36-872-1</link>
			<pubDate>Thu, 06 Feb 2014 14:39:47 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/36&quot;&gt;GDmod.RU - онлайн конструктор Gravity Defied&lt;/a&gt;&lt;br /&gt;Описание темы: Для Gravity Defied for Android&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Shevron&lt;br /&gt;Количество ответов: 31</description>
			<content:encoded>&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://editor.dinedi.net/imgs/gdlelogo.png&quot; width=&quot;400&quot;&gt;&lt;/div&gt; &lt;br /&gt; Открыто тестирование редактора уровней для Gravity Defied for Android — &lt;a class=&quot;link&quot; href=&quot;https://dinedi.ru/go?http://editor.dinedi.net/&quot; title=&quot;http://editor.dinedi.net/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;Editor.Dinedi.NET&lt;/a&gt;. Разработка велась периодически с июня 2011 года. Изначально редактор планировался для mrg файлов java версии игры, но структура уровней вышедшей в марте 2012 года GDfA гораздо проще, что повлияло на более ранний выход именно версии для Android. &lt;br /&gt; На данный момент реализованы следующие функции:&lt;ul&gt;&lt;li&gt;Загрузка архива уровней по URL; &lt;br /&gt; &lt;li&gt;Загрузка архива уровней с локального компьютера; &lt;br /&gt; &lt;li&gt;Сохранение и загрузка по session ID хранящихся на сервере левелпаков; &lt;br /&gt; &lt;li&gt;Редактирование/переименование/удаление уровня из левелпака; &lt;br /&gt; &lt;li&gt;Сохранение и выгрузка уровней в архив. Архив содержит папку с файлами, расположенными в том порядке, в котором они будут видны в списке уровней игры; &lt;br /&gt; &lt;li&gt;Возможность переключения между цветовыми схемами при редактировании уровня. Возможность отображения уровней в стиле GDTE (режим &quot;simple view&quot;); &lt;br /&gt; &lt;li&gt;Установка старта путём перемещения байка курсором по плоскости уровня и путём ручного введения координат; &lt;br /&gt; &lt;li&gt;Установка финишного флажка путём ручного редактирования координат; &lt;br /&gt; &lt;li&gt;Перемещение финишного флажка курсором; &lt;br /&gt; &lt;li&gt;Создание/перемещение/удаление точек на треке; &lt;br /&gt; &lt;li&gt;Установка зачётного времени прохождения трека на одну, две и три звезды; &lt;br /&gt; &lt;li&gt;Создание новых уровней внутри левелпака; &lt;br /&gt; &lt;li&gt;Режим создания левелпака с нуля; &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt;&lt;br /&gt; Планируется включить по ходу тестирования:&lt;ul&gt; &lt;br /&gt; &lt;li&gt;Перемещение уровня внутри левелпака (&quot;Drag and Drop&quot;); &lt;br /&gt; &lt;li&gt;Улучшение интерфейса; &lt;br /&gt; &lt;/ul&gt; &lt;br /&gt;&lt;br /&gt; Пример работы: &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;https://dinedi.ru/go?http://editor.dinedi.net/#http://dinedi.net/?get=gdlvl&amp;id=1&quot; title=&quot;http://editor.dinedi.net/#http://dinedi.net/?get=gdlvl&amp;id=1&quot; rel=&quot;nofollow&quot;&gt;http://editor.dinedi.net/#http://dinedi.net/?get=gdlvl&amp;id=1&lt;/a&gt; &lt;br /&gt;&lt;br /&gt; В этой теме принимаются вопросы и предложения по онлайн редактору. При описании ошибки следует описывать, какие действия привели к её появлению. &lt;br /&gt;&lt;br /&gt; Новости об обновлениях публикуются тут и в твиттере: &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;https://dinedi.ru/go?https://twitter.com/EditorDinediNET&quot; title=&quot;https://twitter.com/EditorDinediNET&quot; rel=&quot;nofollow&quot;&gt;https://twitter.com/EditorDinediNET&lt;/a&gt;</content:encoded>
			<category>GDmod.RU - онлайн конструктор Gravity Defied</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/36-872-1</guid>
		</item>
		<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>GDmod.RU - обсуждение</title>
			<link>https://dinedi.ru/forum/36-664-1</link>
			<pubDate>Tue, 28 Aug 2012 12:45:06 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/36&quot;&gt;GDmod.RU - онлайн конструктор Gravity Defied&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Shevron&lt;br /&gt;Количество ответов: 104</description>
			<content:encoded>Адрес конструткора: &lt;a class=&quot;link&quot; href=&quot;https://dinedi.ru/go?http://dinedi.net/&quot; title=&quot;http://dinedi.net/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;http://dinedi.net/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt; События: &lt;br /&gt;&lt;br /&gt; &lt;b&gt;13.09.2009&lt;/b&gt; - начало разработки конструктора. Дизайн будет выполнен в стиле GDDE2.2. &lt;br /&gt; 14.09.2009 - создание пошаговой системы сборки. Создание базы данных. &lt;br /&gt; 23.09.2009 - завершено создание панели управления. &lt;br /&gt; 25.09.2009 - завершено создание функциональной части пошаговой системы сборки. Удаление отладочной информации, создание читабельной версии. (alpha версия) &lt;br /&gt; 14.10.2009 - открытие тестовой версии, предоставляющей лишь базовые возможности будущего конструктора &lt;br /&gt; &lt;b&gt;Внимание!! Срочно нужны моды на различных языках!!!&lt;/b&gt; &lt;br /&gt; 20.10.2009 - из-за полной неработоспособности конструктора (на хостинге проблемы с сессиями) конструктор закрыт до следующего тестирования. &lt;br /&gt; 6.11.2009 - закрытое альфа-2 тестирование. Каждому тестеру выдаётся пригласительный код, который можно использовать один раз. &lt;br /&gt; &lt;b&gt;Ведётся набор тестеров! ( &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://www.dinedi.ru/forum/36-663-1&quot; rel=&quot;nofollow&quot;&gt;http://www.dinedi.ru/forum/36-663-1&lt;/a&gt; )&lt;/b&gt; &lt;br /&gt; 8.11.2009 - исправлено 7 багов, обнаруженных пользователями &lt;br /&gt; 30.11.2009 - исправлена ещё пара багов &lt;br /&gt; 05.01.2010 - изменил дизайн &lt;br /&gt; 06.01.2010 - теперь информер работает без ошибок + исправлен загрузчик -при добавлении новых файлов ошибок возникнуть не должно &lt;br /&gt; 07.02.2010 - стадия открытого тестирования &lt;br /&gt; 21.02.2010 - добавлена возможность выбора цвета трека + постраничное разбиение таблиц (пока в ограниченном режиме) &lt;br /&gt; &lt;b&gt;Вы можете помочь с переводом игры на свой язык, предварительно оставив заявку в этой теме. Для перевода файлов с русского языка на свой используйте файлы в прикреплённом архиве&lt;/b&gt;</content:encoded>
			<category>GDmod.RU - онлайн конструктор Gravity Defied</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/36-664-1</guid>
		</item>
		<item>
			<title>Wiki.Dinedi.NET - Gravity Defied wiki</title>
			<link>https://dinedi.ru/forum/29-833-1</link>
			<pubDate>Sat, 11 Aug 2012 23:04:33 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/29&quot;&gt;Информация&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Andriv&lt;br /&gt;Количество ответов: 35</description>
			<content:encoded>&lt;s&gt;http://imod.z-c.lv/wikigd/index.php/Заглавная_страница - предлагаю принять участие в заполнении&lt;br /&gt;&lt;br /&gt;&lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;https://dinedi.ru/go?http://imod.z-c.lv/index.php?option=com_kunena&amp;func=view&amp;catid=31&amp;id=372&amp;Itemid=2&quot; title=&quot;http://imod.z-c.lv/index.php?option=com_kunena&amp;func=view&amp;catid=31&amp;id=372&amp;Itemid=2&quot; rel=&quot;nofollow&quot;&gt;http://imod.z-c.lv/index.p....temid=2&lt;/a&gt; - обсуждение на своём форуме&lt;/s&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;УПД: &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;https://dinedi.ru/go?http://wiki.dinedi.net/&quot; title=&quot;http://wiki.dinedi.net/&quot; rel=&quot;nofollow&quot;&gt;http://wiki.dinedi.net/&lt;/a&gt; &lt;/b&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;УПД 2: &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;https://dinedi.ru/go?http://wiki.gdmod.ru/&quot; title=&quot;http://wiki.gdmod.ru/&quot; rel=&quot;nofollow&quot;&gt;http://wiki.gdmod.ru/&lt;/a&gt; &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Теперь оффициальный™ форум тут.</content:encoded>
			<category>Информация</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/29-833-1</guid>
		</item>
		<item>
			<title>Gravity Defied Online Track Editor</title>
			<link>https://dinedi.ru/forum/36-867-1</link>
			<pubDate>Sun, 18 Mar 2012 20:31:39 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/36&quot;&gt;GDmod.RU - онлайн конструктор Gravity Defied&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Shevron&lt;br /&gt;Количество ответов: 4</description>
			<content:encoded>&lt;iframe width=&quot;853&quot; height=&quot;480&quot; src=&quot;http://www.youtube.com/embed/JFd7CyZ5jbw?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;</content:encoded>
			<category>GDmod.RU - онлайн конструктор Gravity Defied</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/36-867-1</guid>
		</item>
		<item>
			<title>Предложения по конструктору</title>
			<link>https://dinedi.ru/forum/36-837-1</link>
			<pubDate>Fri, 16 Mar 2012 22:03:59 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/36&quot;&gt;GDmod.RU - онлайн конструктор Gravity Defied&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Shevron&lt;br /&gt;Количество ответов: 19</description>
			<content:encoded>Пишите здесь, что бы вы хотели видеть в конструкторе. Что-то новое прикрутить хочется, а идей нету &lt;img src=&quot;http://s12.ucoz.net/sm/1/sad.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;sad&quot;&gt;</content:encoded>
			<category>GDmod.RU - онлайн конструктор Gravity Defied</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/36-837-1</guid>
		</item>
		<item>
			<title>Плохое сообщение</title>
			<link>https://dinedi.ru/forum/36-838-1</link>
			<pubDate>Mon, 10 Jan 2011 15:01:23 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/36&quot;&gt;GDmod.RU - онлайн конструктор Gravity Defied&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Shevron&lt;br /&gt;Количество ответов: 11</description>
			<content:encoded>&lt;!--IMG1--&gt;&lt;a href=&quot;http://gdde.ucoz.ru/_fr/8/7116601.png&quot; target=&quot;_blank&quot; title=&quot;Нажмите, для просмотра в полном размере...&quot;&gt;&lt;img alt=&quot;&quot; style=&quot;margin:0;padding:0;border:0;&quot; src=&quot;http://gdde.ucoz.ru/_fr/8/s7116601.jpg&quot; align=&quot;&quot; /&gt;&lt;/a&gt;&lt;!--IMG1--&gt; &lt;br /&gt; Зашёл на динеди.нет и такая вот фигня.</content:encoded>
			<category>GDmod.RU - онлайн конструктор Gravity Defied</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/36-838-1</guid>
		</item>
		<item>
			<title>BugTracker</title>
			<link>https://dinedi.ru/forum/36-665-1</link>
			<pubDate>Tue, 28 Dec 2010 20:37:55 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/36&quot;&gt;GDmod.RU - онлайн конструктор Gravity Defied&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: взлом_почты&lt;br /&gt;Количество ответов: 14</description>
			<content:encoded>Здесь тестерами описываются найденные баги в конструкторе &lt;br /&gt; Просьба для каждого бага создавать отдельное сообщение. &lt;br /&gt; В этой теме описываются ТОЛЬКО БАГИ. Всё остальное связанное с тестированием писать в созданную для этого тему: &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://www.dinedi.ru/forum/36-663-1&quot; rel=&quot;nofollow&quot;&gt;http://www.dinedi.ru/forum/36-663-1&lt;/a&gt;</content:encoded>
			<category>GDmod.RU - онлайн конструктор Gravity Defied</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/36-665-1</guid>
		</item>
		<item>
			<title>UP.Dinedi.NET - файлообменный сервис</title>
			<link>https://dinedi.ru/forum/29-727-1</link>
			<pubDate>Mon, 19 Apr 2010 17:37:50 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/29&quot;&gt;Информация&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Gans[64]&lt;br /&gt;Количество ответов: 35</description>
			<content:encoded>&lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;http://up.dinedi.ru/&quot;&gt;http://up.dinedi.ru/&lt;/a&gt; - наш собственный файлообменный сервис, некоторе подобие так горячо любимого упвапа &lt;br /&gt; Проект ещё тестируется &lt;br /&gt; В скором времени ожидается выход PC (hx Uploader) и Java клиента</content:encoded>
			<category>Информация</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/29-727-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>Набор тестеров конструктора</title>
			<link>https://dinedi.ru/forum/36-663-1</link>
			<pubDate>Sun, 07 Feb 2010 05:32:24 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/36&quot;&gt;GDmod.RU - онлайн конструктор Gravity Defied&lt;/a&gt;&lt;br /&gt;Автор темы: Admin&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 49</description>
			<content:encoded>&lt;b&gt;Внимание! Запущено закрытое тестирование конструктора!&lt;/b&gt; &lt;br /&gt; Каждому желающему тестеру будет выдан инвайт, который можно использовать лишь один раз. Всего инвайтов 10. Заявки на тестирование оставляем здесь. &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;br /&gt; &lt;a class=&quot;link&quot; target=&quot;_blank&quot; href=&quot;https://dinedi.ru/go?http://dinedi.net/&quot; title=&quot;http://dinedi.net/&quot; rel=&quot;nofollow&quot;&gt;http://dinedi.net/&lt;/a&gt; &lt;br /&gt;&lt;br /&gt; -------------------------------------------------------------------------------- &lt;br /&gt; &lt;b&gt;Список тестеров:&lt;/b&gt; &lt;br /&gt; 1.hx &lt;br /&gt; 2.z-kzn-z &lt;br /&gt; 3.Felix &lt;br /&gt; 4.forum40 &lt;br /&gt; 5.[Gun$lingeR] &lt;br /&gt; 6.Tosh_72 &lt;br /&gt; 7.camel97 &lt;br /&gt; 8.Darkgrava &lt;br /&gt; 9.mishany &lt;br /&gt;&lt;br /&gt; Набор завершён!</content:encoded>
			<category>GDmod.RU - онлайн конструктор Gravity Defied</category>
			<dc:creator>Admin</dc:creator>
			<guid>https://dinedi.ru/forum/36-663-1</guid>
		</item>
		<item>
			<title>Предложения по созданию совместных проектов</title>
			<link>https://dinedi.ru/forum/29-327-1</link>
			<pubDate>Thu, 28 Jan 2010 17:13:28 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://dinedi.ru/forum/29&quot;&gt;Информация&lt;/a&gt;&lt;br /&gt;Автор темы: hx&lt;br /&gt;Автор последнего сообщения: Admin&lt;br /&gt;Количество ответов: 27</description>
			<content:encoded>Предлагаю сделать небольшой портальчик о паскале и делфи (больше о паскале &lt;img src=&quot;http://src.ucoz.net/sm/2/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot;&gt; ) pascal.dingoedition.ru . Ну что, Dingo?</content:encoded>
			<category>Информация</category>
			<dc:creator>hx</dc:creator>
			<guid>https://dinedi.ru/forum/29-327-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>
	</channel>
</rss>