<?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>Мой DELPHI - Программирование &#187; function</title>
	<atom:link href="http://www.mydelphi.info/code/tag/function/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mydelphi.info</link>
	<description>Всё для программера</description>
	<lastBuildDate>Mon, 09 Jun 2008 16:55:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>TObject</title>
		<link>http://www.mydelphi.info/code/190</link>
		<comments>http://www.mydelphi.info/code/190#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:44:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Caption]]></category>
		<category><![CDATA[ClassInfo]]></category>
		<category><![CDATA[ClassParent]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[InheritsFroin]]></category>
		<category><![CDATA[MyParent]]></category>
		<category><![CDATA[Object]]></category>
		<category><![CDATA[TCIass]]></category>
		<category><![CDATA[TForm]]></category>
		<category><![CDATA[TObject]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=190</guid>
		<description><![CDATA[
TObject
TObject является общим предком всех классов в Delphi, корнем
иерархии Visual Component Library. Tobject представляет собой абстрактный
класс, реализующий только наиболее общие механизмы, универсально разделяемые
всеми объектами VCL.
TObject автоматически используется как порождающий тип при создании
нового класса Delphi. Следовательно, следующие фрагменты кода имеют одно
и то же значение:
        type
     [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/190/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как определить нажаты ли клавиши Shift, Alt, or Ctrl в какой-либо момент времени?</title>
		<link>http://www.mydelphi.info/code/135</link>
		<comments>http://www.mydelphi.info/code/135#comments</comments>
		<pubDate>Mon, 09 Jun 2008 15:34:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Boolean]]></category>
		<category><![CDATA[Caption]]></category>
		<category><![CDATA[Form]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[GetKeyboardState]]></category>
		<category><![CDATA[MenuItem]]></category>
		<category><![CDATA[TKeyboardState]]></category>
		<category><![CDATA[TObject]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=135</guid>
		<description><![CDATA[Вопрос:
Как определить нажаты ли клавиши Shift, Alt, or Ctrl в какой-либо момент времени?

Ответ:
В приведенном примере
показано как определить нажата ли клавиша Shift при выборе строчки меню. Пример
также содержит функции проверки состояния клавиш Alt, Ctrl.
Пример:
function CtrlDown : Boolean;
var
	State : TKeyboardState;
begin
	GetKeyboardState(State);
	Result := ((State[vk_Control] And 128) &#60;&#62; 0);
end;

function ShiftDown : Boolean;
var
	State : TKeyboardState;
begin
	GetKeyboardState(State);
	Result := ((State[vk_Shift] and 128) &#60;&#62; 0);
end;

function [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/135/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как во время выполнения определить поддерживает ли обьект заданное свойство?</title>
		<link>http://www.mydelphi.info/code/126</link>
		<comments>http://www.mydelphi.info/code/126#comments</comments>
		<pubDate>Sun, 08 Jun 2008 17:27:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[ClassInfo]]></category>
		<category><![CDATA[clBlue]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[HasProperty]]></category>
		<category><![CDATA[Obj]]></category>
		<category><![CDATA[PPropInfo]]></category>
		<category><![CDATA[property]]></category>
		<category><![CDATA[TForm]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=126</guid>
		<description><![CDATA[Вопрос:
Как во время выполнения определить поддерживает ли обьект заданное свойство?
Ответ:
function HasProperty(Obj : TObject; Prop : string) : PPropInfo;
begin
	Result := GetPropInfo(Obj.ClassInfo, Prop);

end;

procedure TForm1.Button1Click(Sender: TObject);
var
	p : pointer;
begin
	p :=  HasProperty(Button1, 'Color');
	if p &#60;&#62; nil then
		SetOrdProp(Button1, p, clRed)
	else
		ShowMessage('Button has no color property');
	p :=  HasProperty(Label1, 'Color');
	if p &#60;&#62; nil then
		SetOrdProp(Label1, p, clRed)
	else
		ShowMessage('Label has no color property');
	p :=  [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/126/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>прозрачная часть glyph&#8217;а стандартного TBitBtn становится видной</title>
		<link>http://www.mydelphi.info/code/118</link>
		<comments>http://www.mydelphi.info/code/118#comments</comments>
		<pubDate>Sun, 08 Jun 2008 17:20:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[BBABORT]]></category>
		<category><![CDATA[BBCANCEL]]></category>
		<category><![CDATA[BBCLOSE]]></category>
		<category><![CDATA[BBIGNORE]]></category>
		<category><![CDATA[BBYES]]></category>
		<category><![CDATA[bkCustom]]></category>
		<category><![CDATA[bkHelp]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[hInstance]]></category>
		<category><![CDATA[LockWindowUpdate]]></category>
		<category><![CDATA[TBitBtnKind]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=118</guid>
		<description><![CDATA[Вопрос:
В некоторых видео режимах прозрачная часть glyph&#8217;а стандартного TBitBtn становится видной. Как этого избежать?
Ответ:
В примере используется
техника закраски прозрачной части glyph&#8217;а цветом кнопки на которой он находится
- таким образом glyph кажется прозрачным.
Пример:
function InitStdBitBtn(BitBtn : TBitBtn; kind : TBitBtnKind) : bool;
var
	Bm1 : TBitmap;
	Bm2 : TBitmap;
begin
	Result := false;
	if Kind = bkCustom then exit;
	Bm1 := TBitmap.Create;
	case Kind of
		bkOK : [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Можно ли обратиться к колонке или строке grid&#8217;а по заголовку?</title>
		<link>http://www.mydelphi.info/code/71</link>
		<comments>http://www.mydelphi.info/code/71#comments</comments>
		<pubDate>Sun, 08 Jun 2008 11:31:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Delphi FAQ]]></category>
		<category><![CDATA[Cols]]></category>
		<category><![CDATA[FormCreate]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[IntToStr]]></category>
		<category><![CDATA[procedure]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[StringGrid]]></category>
		<category><![CDATA[TStringGrid]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://www.mydelphi.info/?p=71</guid>
		<description><![CDATA[Вопрос:
Можно ли обратиться к колонке или строке grid&#8217;а по заголовку?
Ответ:
В следующем примере приведены
две функции: GetGridColumnByName() и GetGridRowByName(), которые возвращают
колонку или строку, имеющую заданный заголовок (caption).
Пример:
 

procedure TForm1.FormCreate(Sender: TObject);
begin
	StringGrid1.Rows[1].Strings[0] := 'This Row';
	StringGrid1.Cols[1].Strings[0] := 'This Column';
end;

function GetGridColumnByName(Grid : TStringGrid; ColName : string): integer;
var
	i : integer;
begin
	for i := 0 to Grid.ColCount - 1 do
		if Grid.Rows[0].Strings[i] = ColName then
			begin
		Result := [...]]]></description>
		<wfw:commentRss>http://www.mydelphi.info/code/71/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

