<?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/"
	>

<channel>
	<title>Delphist.ru</title>
	<atom:link href="http://delphist.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://delphist.ru</link>
	<description></description>
	<lastBuildDate>Tue, 04 Nov 2008 20:47:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Полезное применение хелперов</title>
		<link>http://delphist.ru/poleznoe-primenenie-xelperov/</link>
		<comments>http://delphist.ru/poleznoe-primenenie-xelperov/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 15:06:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Код]]></category>
		<category><![CDATA[helper]]></category>
		<category><![CDATA[strings]]></category>
		<category><![CDATA[tstringlist]]></category>
		<category><![CDATA[variant]]></category>

		<guid isPermaLink="false">http://delphist.ru/poleznoe-primenenie-xelperov/</guid>
		<description><![CDATA[Как и обещал - выкладываю способ использования хелперов в Delphi, вместо правки исходников. Представим ситуацию, когда необходимо изменить какой-то базовый класс, для того, чтобы добавить новый функционал (или поправить баги) для всех наследуемых, от него, классов. Например, TStrings. Добавив что-то в него, можно это использовать в TStringList, а с ним и в TMemo, например.

Для простоты [...]]]></description>
		<wfw:commentRss>http://delphist.ru/poleznoe-primenenie-xelperov/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>DRKB</title>
		<link>http://delphist.ru/drkb/</link>
		<comments>http://delphist.ru/drkb/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 23:15:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[drkb]]></category>

		<guid isPermaLink="false">http://delphist.ru/drkb/</guid>
		<description><![CDATA[Для тех, кто использует drkb, будет полезен вот этот пост.
]]></description>
		<wfw:commentRss>http://delphist.ru/drkb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Небольшая особенность с VirtualTreeView</title>
		<link>http://delphist.ru/nebolshaya-osobennost-s-virtualtreeview/</link>
		<comments>http://delphist.ru/nebolshaya-osobennost-s-virtualtreeview/#comments</comments>
		<pubDate>Wed, 08 Oct 2008 19:24:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Код]]></category>
		<category><![CDATA[Компоненты]]></category>

		<guid isPermaLink="false">http://delphist.ru/nebolshaya-osobennost-s-virtualtreeview/</guid>
		<description><![CDATA[Делая одну программу, понадобилось смоделировать переход по ячейкам VirtualTreeView с помощью кнопки Tab. Перехват Tab-а отдельный разговор =), а вот переход по ячейкам сейчас обсудим.
Дело в том, что при переходе по ячейкам VT сразу вызывает редактирование нода, в связи с чем у меня возникала ситуация, когда на редактирование вызывалась не правильная ячейка. Т.е., если реализуете [...]]]></description>
		<wfw:commentRss>http://delphist.ru/nebolshaya-osobennost-s-virtualtreeview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>НИКОГДА так не делайте!</title>
		<link>http://delphist.ru/nikogda-tak-ne-delajte/</link>
		<comments>http://delphist.ru/nikogda-tak-ne-delajte/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 10:33:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Компоненты]]></category>
		<category><![CDATA[Общее]]></category>
		<category><![CDATA[Ссылки]]></category>

		<guid isPermaLink="false">http://delphist.ru/nikogda-tak-ne-delajte/</guid>
		<description><![CDATA[На, уважаемом мною, сайте delphiplus.org увидел ссылку на статью Фленова. Я и до этого с трудом переносил его книги и статьи, но эта статья просто возмутила!
&#160;
Намного проще изменить стандартный компонент TButton и больше никаких изменений в проекте делать не надо.

&#160;
Как так можно??? Вместо того, чтобы объяснить новичкам, что это ОЧЕНЬ не желательно, он призывает поступать [...]]]></description>
		<wfw:commentRss>http://delphist.ru/nikogda-tak-ne-delajte/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Перевод виртуальных кодов в символы</title>
		<link>http://delphist.ru/perevod-virtualnyx-kodov-v-simvoly/</link>
		<comments>http://delphist.ru/perevod-virtualnyx-kodov-v-simvoly/#comments</comments>
		<pubDate>Sun, 06 Jul 2008 23:48:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://delphist.ru/perevod-virtualnyx-kodov-v-simvoly/</guid>
		<description><![CDATA[В Windows определены специальные, виртуальные коды, для кнопок клавиатуры. Например, VK_Enter, VK_Delete и т.д. Данные коды используются не часто, но все-же используются. Например, в OnKeyUp и в OnKeyDown.
Небольшая функция поможет вам преобразовать данные коды в символы:


function GetCharFromVirtualKey(Key: Word): string;
var
  keyboardState: TKeyboardState;   asciiResult: Integer;
begin
  GetKeyboardState(keyboardState);
  SetLength(Result, 2);
  asciiResult := ToAscii(key, MapVirtualKey(key, [...]]]></description>
		<wfw:commentRss>http://delphist.ru/perevod-virtualnyx-kodov-v-simvoly/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Плохо&#8230;</title>
		<link>http://delphist.ru/ploxo/</link>
		<comments>http://delphist.ru/ploxo/#comments</comments>
		<pubDate>Wed, 02 Jul 2008 15:20:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[конкурс]]></category>
		<category><![CDATA[статьи]]></category>

		<guid isPermaLink="false">http://delphist.ru/ploxo/</guid>
		<description><![CDATA[Конкурс просто провалился... Я ни разу не нашел ни одной статьи. Жаль. А ведь хотелось сделать это традицией - ежемесячно проводить конкурс на какую-то определенную тему.
]]></description>
		<wfw:commentRss>http://delphist.ru/ploxo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ресурсы в проекте</title>
		<link>http://delphist.ru/resursy-v-proekte/</link>
		<comments>http://delphist.ru/resursy-v-proekte/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 19:26:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Код]]></category>

		<guid isPermaLink="false">http://delphist.ru/resursy-v-proekte/</guid>
		<description><![CDATA[Я всегда думал, что для того, чтобы подключить ресурсы (текст, картинки и т.д.) к проекту, надо их скомпилить (brcc32.exe) и подключить ({$R}). А вот сегодня один хороший человек (Alexeis, спасибо), подсказал, что это совсем не обязательно. Надо просто подключить к проекту (Add to Project) .rc файл, а скомпилиться и прилинкуется он сам. Проверил в D7, [...]]]></description>
		<wfw:commentRss>http://delphist.ru/resursy-v-proekte/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ShortCuts vs VirtualTreeView Editors</title>
		<link>http://delphist.ru/shortcuts-vs-virtualtreeview-editors/</link>
		<comments>http://delphist.ru/shortcuts-vs-virtualtreeview-editors/#comments</comments>
		<pubDate>Sat, 14 Jun 2008 19:43:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Код]]></category>
		<category><![CDATA[Компоненты]]></category>
		<category><![CDATA[action]]></category>
		<category><![CDATA[actionmanager]]></category>
		<category><![CDATA[shortcut]]></category>
		<category><![CDATA[virtualtreeview]]></category>

		<guid isPermaLink="false">http://delphist.ru/shortcuts-vs-virtualtreeview-editors/</guid>
		<description><![CDATA[Что-то не видно желающих написать пост про VirtualTreeView для конкурса. Жаль...
Ну тогда я сам попробую  . Тем более, что нашелся подходящий повод.

Суть в следующем: если создать свой редактор для VT и использовать  TActionManager (возможно и просто TActionList, не проверял), то могут возникнуть  некоторые проблемы. Например, следующая - если для одного из TAction [...]]]></description>
		<wfw:commentRss>http://delphist.ru/shortcuts-vs-virtualtreeview-editors/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Приведение типов</title>
		<link>http://delphist.ru/privedenie-tipov/</link>
		<comments>http://delphist.ru/privedenie-tipov/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 13:04:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Код]]></category>
		<category><![CDATA[as]]></category>
		<category><![CDATA[type]]></category>
		<category><![CDATA[тип]]></category>

		<guid isPermaLink="false">http://delphist.ru/privedenie-tipov/</guid>
		<description><![CDATA[Мне всегда казалось, что TType(Var) и Var as TType работает одинаково или, в крайнем случае, очень похоже. Так было до не давнего времени.
Вместе со знакомым выясняли одну багу (так и не выяснили причину, кстати):
program Project1;
{$APPTYPE CONSOLE}
uses
&#160;&#160;SysUtils;
type
&#160;&#160;TA = class
&#160;&#160;&#160;&#160;function GetResult: Integer; //virtual;
&#160;&#160;end;
&#160;&#160;TB = class(TA)
&#160;&#160;&#160;&#160;function GetResult: Integer; //override;
&#160;&#160;end;
{ TA }
function TA.GetResult: Integer;
begin
&#160;&#160;Result := 10;
end;
{ TB }
function TB.GetResult: [...]]]></description>
		<wfw:commentRss>http://delphist.ru/privedenie-tipov/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Конкурс</title>
		<link>http://delphist.ru/konkurs/</link>
		<comments>http://delphist.ru/konkurs/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 23:43:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[delphist]]></category>
		<category><![CDATA[virtualtreeview]]></category>
		<category><![CDATA[конкурс]]></category>

		<guid isPermaLink="false">http://delphist.ru/konkurs/</guid>
		<description><![CDATA[
В последнее время, очень много вопросов возникает по поводу VirtualTreeView. В основном, вопросы приходят от тех, кто только начинает использовать данный компонент.  Учитывая, что я знаю только одну толковую статью на русском по VirtualTreeView, пришло в голову организовать небольшой конкурс.

Суть конкурса очень проста: написать статью, возможно не большую, по использованию данного компонента. В статье [...]]]></description>
		<wfw:commentRss>http://delphist.ru/konkurs/feed/</wfw:commentRss>
		<slash:comments>51</slash:comments>
		</item>
		<item>
		<title>Вредные советы для Delphi-программистов&#8230;</title>
		<link>http://delphist.ru/vrednye-sovety-dlya-delphi-programmistov/</link>
		<comments>http://delphist.ru/vrednye-sovety-dlya-delphi-programmistov/#comments</comments>
		<pubDate>Wed, 28 May 2008 23:42:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://delphist.ru/vrednye-sovety-dlya-delphi-programmistov/</guid>
		<description><![CDATA[1. Не надо использовать классы. 
А зачем? Классы - это вред. Это слишком много кода. Какая защита данных? Какое скрытие методов? Только для себя же пишу. А сам разберусь... Наверное. 

&#160;
2. Используем только глобальные переменные. 
Верно! Зачем везде объявлять переменную, если можно использовать только одну? Так же проще. 
&#160;
3. Переменные называем со скрытым смыслом. 
И [...]]]></description>
		<wfw:commentRss>http://delphist.ru/vrednye-sovety-dlya-delphi-programmistov/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Подпись на форуме</title>
		<link>http://delphist.ru/podpis-na-forume/</link>
		<comments>http://delphist.ru/podpis-na-forume/#comments</comments>
		<pubDate>Wed, 21 May 2008 14:05:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Общее]]></category>

		<guid isPermaLink="false">http://delphist.ru/podpis-na-forume/</guid>
		<description><![CDATA[Pascal - как англ. язык, I Love You - слова местами не переставишь, всё прямо и понятно. С++ - как русский язык, Я люблю тебя, тебя люблю я, люблю я тебя - уйма вариантов с кучей интонаций. Asm - как китайский язык - одна черточка не в том месте и ты уже не признался в [...]]]></description>
		<wfw:commentRss>http://delphist.ru/podpis-na-forume/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>TList</title>
		<link>http://delphist.ru/tlist/</link>
		<comments>http://delphist.ru/tlist/#comments</comments>
		<pubDate>Tue, 13 May 2008 15:45:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Код]]></category>

		<guid isPermaLink="false">http://delphist.ru/tlist/</guid>
		<description><![CDATA[Последние 2 часа меня мучает один вопрос... Вот код, который обчно пишу я:
type
&#160; TMyClass = class
&#160; private
&#160;&#160;&#160; FList: TList;
&#160; public
&#160;&#160;&#160; constructor Create; override;
&#160;&#160;&#160; destructor Destroy; override;
&#160;
&#160;&#160;&#160; function Add(AData: TData): Integer;
&#160; end;

&#160;
Т.е., в программе я использую уже не наследник TList, а обертку для TList. В принципе, я понимаю почему так делаю:
1. Нет лишних методов и параметров.
2. [...]]]></description>
		<wfw:commentRss>http://delphist.ru/tlist/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Основы Delphi. Профессиональный подход</title>
		<link>http://delphist.ru/osnovy-delphi-professionalnyj-podxod/</link>
		<comments>http://delphist.ru/osnovy-delphi-professionalnyj-podxod/#comments</comments>
		<pubDate>Sun, 04 May 2008 10:26:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Книги]]></category>

		<guid isPermaLink="false">http://delphist.ru/osnovy-delphi-professionalnyj-podxod/</guid>
		<description><![CDATA[
Хочу представить еще одну книгу, давно прописавшуюся, у меня, на полке. В принципе, в ней нет ничего особенного или экстраординарного, но...

В свое время, мне она понравилась тем, что доступно и просто объяснялось как и что использовать. Рассписывать ее я не буду, советую скачать или купить.
]]></description>
		<wfw:commentRss>http://delphist.ru/osnovy-delphi-professionalnyj-podxod/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Количество недель в месяце</title>
		<link>http://delphist.ru/kolichestvo-nedel-v-mesyace/</link>
		<comments>http://delphist.ru/kolichestvo-nedel-v-mesyace/#comments</comments>
		<pubDate>Sat, 26 Apr 2008 22:33:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Код]]></category>

		<guid isPermaLink="false">http://delphist.ru/kolichestvo-nedel-v-mesyace/</guid>
		<description><![CDATA[Для календаря, который я делаю, мне понадобилось узнать, сколько недель затрагивает месяц. Решение пришло моментально:
Результат := Неделя_последнего_дня - Неделя_первого_дня;

&#160;
В коде я оформил это так:
function GetWeekInMonth(ADate: TDate): Integer;
begin&#160; Result := WeekOf(EndOftheMonth(ADate)) - WeekOf(StartOfTheMonth(ADate));end;  
&#160;
Через полчаса понял, что решение не верное  .

Данная функция неверно считает недели. Вот пример (см. скриншот):
 
&#160;Как по вашему, что выдаст [...]]]></description>
		<wfw:commentRss>http://delphist.ru/kolichestvo-nedel-v-mesyace/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>
