Copyright: Справка по Delphi 5. Версия 5.2                             Copyright Архангельский А.Я., Ильин В.Н, Тагин М.А.       Friday, December 22, 2000 11:18:51


неизвестная тема
СПРАВОЧНАЯ СИСТЕМА ПО DELPHI

Извините, но данного раздела не существует.

Он будет введен в новой расширенной версии

СПРАВОЧНОЙ СИСТЕМЫ.


программы нет
Не найден файл LHelpD4.DLL

или

Вы используете

несанкционированную копию

справки !

Справка работать не будет.

Обратитесь к разработчикам


Литература по темам справки

Более подробные сведения по темам данной справки и по темам, не освещенным в ней, можно найти в книгах серии "Все о Delphi" и в книге "Программирование в Delphi 5":

[1] Архангельский А.Я. Интегрированная среда разработки Delphi 5 - М.: ЗАО "Издательство БИНОМ", 1999, (Все о Delphi)

[2] Архангельский А.Я. 100 компонентов общего назначения библиотеки Delphi 5 - М.: ЗАО "Издательство БИНОМ", 1999, (Все о Delphi)

[3] Архангельский А.Я. Разработка прикладных программ для Windows в Delphi 5 - М.: ЗАО "Издательство БИНОМ", 1999, (Все о Delphi)

[4] Архангельский А.Я. Object Pascal в Delphi 5 - М.: ЗАО "Издательство БИНОМ", 1999, (Все о Delphi)

[5] Архангельский А.Я. Работа с локальными базами данных в Delphi 5 - М.: ЗАО "Издательство БИНОМ", 2000, (Все о Delphi)

[6] Архангельский А.Я. Язык SQL и его применение в Delphi 5 - М.: ЗАО "Издательство БИНОМ", 2000, (Все о Delphi)

[7] Архангельский А.Я. Программирование в Delphi 5 - М.: ЗАО "Издательство БИНОМ", 1999.


Строка описания формата

Примеры

Строка описания формата определяет способ форматирования данных и используется в таких функциях, как Format, FormatBuf, FmtStr, StrFmt, StrLFmt конструкторах исключений и др.

Строка описания формата содержит два типа объектов: обычные символы, которые непосредственно копируются в форматированную строку, и спецификаторы формата, которые определяют формат записи в результирующую строку списка аргументов.

Спецификатор формата имеет вид

%[<индекс>:][-][<ширина>][.<точность>]<тип>

Спецификатор формата начинается с символа "%". Затем без пробелов следует ряд необязательных полей:

[<индекс>:]	Определяет индекс (номер) аргумента в заданном списке, к которому относится данный спецификатор формата.
[-]	Индикатор выравнивания влево.
[<ширина>]	Устанавливает ширину поля.
[<точность>]	Спецификатор точности.

Затем так же без пробела размещается единственное обязательное поле <тип>, определяющее, как и в каком формате будет интерпретироваться аргумент.

Ниже приводится таблица спецификаторов типа.

d	Десятичное целое. Значение преобразуется в строку десятичных цифр. Если спецификатор формата содержит поле точности, то результирующая строка должна содержать количество цифр, не менее указанного значения. Если форматируемое значение содержит меньше цифр, оно дополняется слева нулями.
e	Научный формат значения с плавающей запятой. Значение преобразуется в формат вида "-d.ddd...E+ddd", где d означает цифру. Иначе говоря, число представляется в виде -d.ddd...10+ddd. Отрицательные числа начинаются со знака "-". Перед десятичной точкой всегда имеется одна цифра. Общее число цифр (включая цифру перед точкой) равно числу, указанному спецификатором точности. По умолчанию (в отсутствие спецификатора точности) точность равна 15. После символа "E" следует обязательно знак "+" или "-" и не менее трех цифр.
f	Формат с фиксированной точкой значения с плавающей запятой. Значение преобразуется в формат вида "-ddd.ddd...". Отрицательные числа начинаются со знака "-". Число цифр после десятичной точки равно числу, указанному спецификатором точности. По умолчанию (в отсутствие спецификатора точности) точность равна 2.
g	Обобщенный формат чисел с плавающей запятой. Значение преобразуется в формат научный или с фиксированной точкой, в зависимости от того, какой из них дает более короткую запись. В научном формате общее число цифр (включая цифру перед точкой) равно числу, указанному спецификатором точности. По умолчанию (в отсутствие спецификатора точности) точность равна 15. Заключающие нули после десятичной точки в результирующей строке отбрасываются, а сама десятичная точка появляется, только если это необходимо. Результирующая строка использует формат с фиксированной точкой, если число цифр слева от десятичной точки не превышает заданной точности и если значение числа не меньше 0.00001. В остальных случаях используется научный формат. Обобщенный формат чисел с плавающей запятой наиболее удобен в большинстве случаев.
n	Формат, подобный формату с фиксированной точкой для чисел с плавающей запятой, но отличающийся наличием в результирующей строке разделителей тысяч. Иными словами, число представляется в форме "-d,ddd,ddd.ddd...".
m	Монетарный формат чисел с плавающей запятой. Значение преобразуется в строку, представляющую собой денежную сумму. Преобразование определяется глобальными переменными CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator и CurrencyDecimals, которые инициализируются форматом Currency Format в разделе International Контрольной панели (Control Panel) Windows. Если задан спецификатор точности, то он заменяет значение, содержащееся в глобальной переменной CurrencyDecimals.
p	Формат отображения указателей. Значение преобразуется в строку вида "XXXX:YYYY", где XXXX and YYYY - сегмент и смещение указателя, выражаемые четырьмя шестнадцатеричными цифрами.
s	Формат строки для аргументов вида символ, строка или строка типа PChar. Строка или символ просто вставляются в результирующую строку. Если задан спецификатор точности, то он определяет максимальное число вставляемых символов. Если вставляемая строка длиннее, она усекается.
x	Шестнадцатеричный формат целых чисел. Значение аргумента преобразуется в строку шестнадцатеричных цифр. Если задан спецификатор точности, то он указывает минимальное число цифр в строке; если строка оказывается короче, она дополняется слева нулями.

Все спецификаторы типа могут записываться как строчными, так и прописными буквами.

Спецификатор индекса задает порядковый номер аргумента в списке, к которому применяется преобразование. Индекс первого аргумента считается равным 0. Применение индексов позволяет пропускать какие-то аргументы в списке или форматировать один и тот же аргумент несколько раз.

Спецификатор ширины задает минимальное число символов результата данного преобразования. Если результирующая строка короче заданной ширины, то лишние позиции заполняются пробелами. По умолчанию используется выравнивание вправо и пробелы ставятся перед преобразованным значением. Но если указан индикатор левого выравнивания (символ "-" перед спецификатором ширины), то пробелы вносятся после преобразованного значения.

Действие спецификатора точности на различные форматы уже рассмотрено выше.

Во всех форматах чисел с плавающей запятой символы, используемые для отделения целой части числа от дробной и для разделения тысяч, берутся из глобальных переменных DecimalSeparator и ThousandSeparator.


Примеры форматирования

Формат	Результат
Format('Задано %d и %d', [5,2])	Задано 5 и 2
Format('%d = %0:x',[30])	30 = 1E
В предыдущем примере использование индекса позволило представить один и тот же аргумент в десятичном и шестнадцатеричном видах.

Format('%e  %0:f  %0:n %0:g',[10000.])	1,00000000000000E+004  10000,00  10 000,00  10000
Format('%e  %0:f  %0:g',[0.0001])	1,00000000000000E-004  0,00  0.0001
Два предыдущих примера показывают, что применение формата e с точностью по умолчанию дает очень неудобную форму представления. Второй из примеров показывает, что применение формата f с точностью по умолчанию (2) к числам, меньшим 1, может отсечь значащие цифры. Наиболее удобен формат g.

Format('%m',[10000.])	10 000р.


Коды клавиш

Ниже приведены коды клавиш, которыми можно пользоваться при проверке параметра Key в обработчиках событий OnKeyDown и OnKeyUp. Символы кириллицы соответствуют тем клавишам с латинскими символами, на которых они размещены.

Клавиша	Десятич ное  число	Шестнад цатерич ное число	Символичес кое имя	Сравнение по функции ord
F1	112	$70	VK_F1
F2	113	$71	VK_F2
F3	114	$72	VK_F3
F4	115	$73	VK_F4
F5	116	$74	VK_F5
F6	117	$75	VK_F6
F7	118	$76	VK_F7
F8	119	$77	VK_F8
F9	120	$78	VK_F9
F10	121	$79	VK_F10
пробел	32	$20	VK_SPACE
BackSpace	8	$8	VK_BACK
Tab	9	$9	VK_TAB
Enter	13	$0D	VK_RETURN
Shift	16	$10	VK_SHIFT
Ctrl	17	$11	VK_CONTROL
Alt	18	$12	VK_MENU
CapsLock	20	$14	VK_CAPITAL
Esc	27	$1B	VK_ESCAPE
Insert	45	$2D	VK_INSERT
PageUp	33	$21	VK_PRIOR
PageDown	34	$22	VK_NEXT
End	35	$23	VK_END
Home	36	$24	VK_HOME
	37	$25	VK_LEFT
	38	$26	VK_UP
	39	$27	VK_RIGHT
	40	$28	VK_DOWN
Delete	46	$2E	VK_DELETE
PrintScreen	44	$2C	VK_SNAPSHOT
ScrollLock	145	$91	VK_SCROLL
Pause	19	$13	VK_PAUSE
NumLock	144	$90	VK_NUMLOCK
0,)	48	$30		ord('0')
1 !	49	$31		ord('1')
2 @	50	$32		ord('2')
3 #	51	$33		ord('3')
4 $	52	$34		ord('4')
5 %	53	$35		ord('5')
6 ^	54	$36		ord('6')
7 &	55	$37		ord('7')
8 *	56	$38		ord('8')
9 (	57	$39		ord('9')
` ~	192	$C0
- _	189	$BD
= +	187	$BB
[ {	219	$DB
] }	221	$DD
; :	186	$BA
' "	222	$DE
\ |	220	$DC
, <	188	$BC
. >	190	$BE
/ ?	191	$BF
a,A	65	$41		ord('A')
b,B	66	$42		ord('B')
c,C	67	$43		ord('C')
d,D	68	$44		ord('D')
e,E	69	$45		ord('E')
f,F	70	$46		ord('F')
g,G	71	$47		ord('G')
h,H	72	$48		ord('H')
i,I	73	$49		ord('I')
j,J	74	$4A		ord('J')
k,K	75	$4B		ord('K')
l,L	76	$4C		ord('L')
m,M	77	$4D		ord('M')
n,N	78	$4E		ord('N')
o,O	79	$4F		ord('O')
p,P	80	$50		ord('P')
q,Q	81	$51		ord('Q')
r,R	82	$52		ord('R')
s,S	83	$53		ord('S')
t,T	84	$54		ord('T')
u,U	85	$55		ord('U')
v,V	86	$56		ord('V')
w,W	87	$57		ord('W')
x,X	88	$58		ord('X')
y,Y	89	$59		ord('Y')
z,Z	90	$5A		ord('Z')
На правой клавиатуре при выключенной NumLock
0	96	$60	VK_NUMPAD0
1	97	$61	VK_NUMPAD1
2	98	$62	VK_NUMPAD2
3	99	$63	VK_NUMPAD3
4	100	$64	VK_NUMPAD4
5	101	$65	VK_NUMPAD5
6	102	$66	VK_NUMPAD6
7	103	$67	VK_NUMPAD7
8	104	$68	VK_NUMPAD8
9	105	$69	VK_NUMPAD9
*	106	$6A	VK_MULTIPLY
+	107	$6B	VK_ADD
-	109	$6D	VK_SUBTRACT
.	110	$6E	VK_DECIMAL
/	111	$6F	VK_DIVIDE


Консольные приложения (приложения для DOS)

Пример

Консольные приложения - это приложения для DOS. В них невозможно использовать средства построения графического интерфейса пользователя, предоставляемые Delphi. В частности, из проекта надо удалить форму и работать непосредственно с головным файлом программы.

Создать консольное приложение можно двумя способами:

 - выполнить команду Project | Options... и в окне Project Options

   на странице Linker установить опцию Generate Console

    Application.

 - включить в программу директиву компилятора {$APPTYPE

   CONSOLE}


program Greeting;

{$APPTYPE CONSOLE}

var MyMessage: string;

begin

  MyMessage := 'Hellow Word!';

  Writeln(MyMessage);

  Readln;

end.


Коды ошибок файлового ввода-вывода

Ниже приведена таблица кодов ошибок файлового ввода-вывода. Эти коды присваиваются свойству errorcode исключения EInOutError, если действует директива {$I+}, или возвращаются функцией IOResult, если действует директива {$I-}.

Код	Ошибка
2	Файл не найден
3	Неправильное имя файла
4	Слишком много открытых файлов
5	Файл не доступен
100	Достигнут конец файла (EOF) при попытке выполнить Read
101	Диск переполнен при выполнении процедур CloseFile, Write, Writeln,Flush
102	Файловой переменной не передано имя файла процедурой AssignFile
103	Файл не открыт при выполнении процедур CloseFile, Read, Write, Seek, Eof, FilePos, FileSize, Flush, BlockRead, BlockWrite
104	Текстовый файл не открыт для ввода при выполнении процедур Read, Readln, Eof, Eoln, SeekEof, SeekEoln
105	Текстовый файл не открыт для при выполнении процедур Write или Writeln, если вы не сгенерировали консольное приложение
106	Ошибка ввода процедур Read и Readln при вводе числовых данных


Ресурсы

Файлы ресурсов предназначены для включения в проект таких элементов, как пиктограммы, битовые матрицы, курсоры, строки . Вы можете редактировать эти файлы или создавать собственные.

Ресурсы хранятся в файлах .DFM, .RES и .DRC.

Объявление ресурсов строк в приложении производится с помощью ключевого слова resourcestring.


.DFM - файлы ресурсов
.DFM - файл ресурсов интерфейса

см.также

Delphi использует стандартный формат Windows для файлов ресурсов, чтобы включать в проект такие элементы, как, например, пиктограммы. Вы можете редактировать эти файлы или создавать собственные, добавляя в них такие элементы, как битовые матрицы, курсоры, пиктограммы или строки.

Delphi локализует пользовательский интерфейс в файлы .DFM, которые содержат описание формы (или фрейма) и размещенных на ней компонентов. Эти файлы можно преобразовать в текстовые с помощью утилиты Convert для MS-DOS. При вызове Convert можно передать этой утилите имя файла .DFM. Если вы хотите преобразовать сразу нескольких файлов .DFM, создайте отдельный файл, в котором перечислите необходимые файлы .DFM в отдельных строках. Тогда в вызове Convert укажите символ @, после которого введите имя вашего файла.

Получившийся текстовый файл можно редактировать. Чтобы совершить обратное преобразование полученного текстового файла в файл ресурсов .DFM, вызовите опять Convert и передайте через командную строку имя вашего текстового файла. Затем вы можете перекомпилировать ваше приложение, DLL или пакет с эти новым файлом.

При работе из среды проектирования Delphi те же операции можно выполнить проще: щелкните на вашей форме правой кнопкой мыши и выберите из всплывшего меню раздел View As Text (Смотреть в текстовом виде). В файле будут перечислены объекты формы и ее компонентов и значения тех свойств, которые вы изменяли в компоненте. Щелчок правой кнопкой мыши и выбор из всплывшего меню раздела View As Form (Смотреть как форму) вернет вас в форму, которая уже будет изменена (если, конечно, вы внесли какие-то изменения в текст).

Файлы .DFM содержат только ресурсы, ответственные за внешний вид компонентов. Кроме этих файлов каждый проект Delphi имеет файл ресурсов с именем, совпадающим с  именем файла проекта, и с расширением .RES.


.DRC - файлы ресурсов
.DRC - текстовый файл ресурсов

см.также

Файл .DRC содержит текстовое описание файла ресурсов .RES. В частности, в нем имеется таблица всех строк файла ресурсов, а в операторах #define указаны идентификаторы (номера) строк. Эти данные используются в некоторых функциях (в частности, в ряде конструкторов исключений).

Файл .DRC создается, если скомпилировать приложение с ключом -gd в командной строке или при включенной опции Detailed Map File на странице Linker в окне опций проекта (команда Project | Options).

Файл .DRC можно оттранслировать в файл ресурсов .RES утилитой BRCC32, выполняемой в режиме MS-DOS. В командной строке должно быть указано имя транслируемого файла .DRC.


.RES - файлы ресурсов
.RES - файл ресурсов

см.также

Delphi использует стандартный формат Windows для файлов ресурсов, чтобы включать в проект такие элементы, как, например, пиктограммы. Вы можете редактировать эти файлы или создавать собственные, добавляя в них такие элементы, как битовые матрицы, курсоры, пиктограммы или строки.

Добавление строк осуществляется включением в модуль раздела resourcestring и описанием в нем нужных строк.

По умолчанию каждый проект Delphi имеет файл ресурсов с именем, совпадающим с  именем файла проекта, и с расширением .RES. Во время проектирования ресурсы хранятся в этом файле, а при компиляции ресурсы включаются в выполняемый файл.

Файл ресурсов можно преобразовать в текстовый файл .DRC для того, чтобы посмотреть его структуру или отредактировать. Например, в некоторых функциях (в частности, в ряде конструкторов исключений) требуется знать идентификаторы строк в файле ресурсов.

Файл .DRC создается, если вы компилировали свое приложение с ключом -gd в командной строке или при включенной опции Detailed Map File на странице Linker в окне опций проекта (команда Project | Options). В создающемся при этом файле <имя проекта>.DRC имеется таблица всех строк файла ресурсов, а в операторах #define указаны идентификаторы (номера) строк. Файл .DRC можно оттранслировать в файл ресурсов .RES утилитой BRCC32, выполняемой в режиме MS-DOS. В командной строке должно быть указано имя транслируемого файла .DRC.


resourcestring
resourcestring - объявление ресурсов строк

Пример   см.также

Ключевое слово resourcestring служит в объявлениях блоков (программы, модулей, процедур, функций) для объявления строк, которые должны быть помещены в ресурсы - файл .RES с именем, совпадающим с  именем файла проекта. Во время проектирования ресурсы хранятся в этом файле, а при компиляции ресурсы включаются в выполняемый файл.

Ресурсы строк могут использоваться как константные выражения при определении типизированных констант или при инициализации переменных типа AnsiString. Такие типизированные константы и переменные инициализируются при выполнении раздела initialization включающего их блока. Это может создавать проблемы при наличии перекрестных ссылок между блоками, так как блоки могут ссылаться на типизированные константы и переменные до того, как они будут инициализированы.


resourcestring

  NoInform = 'Отсутствует требуемая информация';

  NoParam = 'Задано %d параметров из %d';


Директивы компилятора

Директивы компилятора - это указания компилятору на выполнение тех или иных операций. Записываются в формате {$<директива>}. По области действия различаются глобальны, действующие на весь компилируемый файл, и локальные, действующие от места их объявления до места появления другой директивы, отменяющей предыдущую.

Имеется три вида директив препроцессора: ключевые директивы, директивы параметров и директивы условной компиляции.

Ключевые директивы и директивы параметров имеют установки по умолчанию. Работая в Интегрированной Среде Разработки Delphi вы можете установить эти значения по умолчанию установкой соответствующих индикаторов страницы Compiler диалогового окна опций проекта Project Options. Если вы захотите узнать установленные директивы, нажмите клавиши Ctrl - O и затем еще раз нажмите "O". В начало вашего файла в Редакторе кода вставятся явным образом все значения директив, используемые в данный момент.

Основные директивы:

директивы условной компиляции

{$C+} и {$C-}    - директивы проверки утверждений

{$I+} и {$I-}    - директивы контроля ввода/вывода

{$M} и {$S}      - директивы, определяющие размер стека

{$M+} и {$M-}    - директивы информации времени выполнения о типах

{$Q+} и {$Q-}    - директивы проверки переполнения целочисленных операций

{$R} - директива связывания ресурсов

{$R+} и {$R-}    - директивы проверки диапазона

{$APPTYPE CONSOLE} - директива создания консольного приложения


Директивы условной компиляции

Пример   см.также

Условная компиляция дает возможность программисту управлять выполнением директив препроцессора и компиляцией программного кода. Она может строиться по двум схемам. Первая из них имеет вид:

{$IFxxx}

  ...

{$ENDIF}

Начинается она с условной директивы {$IFxxx}, которая проверяет некоторое условие. Если проверяемое условие выполняется, то код, расположенный между условной директивой и директивой {$ENDIF}, компилируется. В противном случае этот фрагмент кода не компилируется, т.е. все расположенные в нем директивы препроцессора и операторы Object Pascal игнорируются и в результирующий файл не попадают.

Вторая схема задания условной компиляции имеет вид:

{$IFxxx}

  ...

{$ELSE}

  ...

{$ENDIF}

В этом случае, если условие, проверяемое условной директивой, истинно, то компилируется фрагмент кода, расположенный между ней и директивой {$ELSE}. Если же условие ложно, то компилируется фрагмент кода, расположенный между директивой {$ELSE} и директивой {$ENDIF}.

Теперь рассмотрим сами условные директивы. Первая из них {$IFDEF}:

{$IFDEF условный идентификатор}

Эта директива проверяет, был ли определен указанный в ней условный идентификатор. Определение условного идентификатора задается директивой {$DEFINE}:

{$DEFINE условный идентификатор}

Таким образом, если некоторый условный идентификатор был задан директивой {$DEFINE}, то директива {$IFDEF}, проверяющая этот идентификатор, выдаст истину и следующий за ней фрагмент кода будет компилироваться. А если директивы {$DEFINE} не было или она была отменена противоположной ей директивой {$UNDEF}:

{$UNDEF условный идентификатор}

то директива {$IFDEF}, проверяющая этот идентификатор, выдаст ложь и последующий фрагмент кода компилироваться не будет.

Имеется также директива {$IFNDEF}, противоположная по смыслу директиве {$IFDEF}. Она возвращает истину, если указанный в ней условный идентификатор не определен.

Работая с условными идентификаторами, имейте в виду, что они не имеют никакого отношения к идентификаторам, используемым в программе.

Имеется еще одна условная директива - {$IFOPT}:

{$IFOPT ключевая опция}

Она возвращает истину, если включена указанная ключевая опция. Например, во фрагменте кода

{$IFOPT Q+}

 ...

{$ENDIF}

код между опциями {$IFOPT} и {$ENDIF} будет компилироваться, только если включена опция Q проверки переполнения при целочисленных операциях.


Пример применения условной компиляции

Условная компиляция, обеспечиваемая условными директивами, может быть полезна во многих случаях. Например, нередко в процессе отладки приложения в него полезно ввести различные отладочные печати, позволяющие следить за ходом выполнения программы. Если вы не хотите, чтобы эти печати оставались в окончательном варианте программы, вы можете в разных местах приложения ввести конструкции вида

{$IFDEF Debug}

  операторы отладки

{$ENDIF}

Тогда, если в начале программы вы введете директиву

{$DEFINE Debug}

операторы отладки будут компилироваться и выполняться. Но когда вы уберете эту директиву, или закомментируете ее:

//{$DEFINE Debug}

или введете после нее директиву

{$UNDEF Debug}

все операторы отладки исчезнут из текста.


директивы компилятора {$C+} и {$C-}
{$C+} и {$C-} - директивы проверки утверждений

Синтаксис   см.также

Директивы компилятора, разрешающие или запрещающие проверку утверждений.

По умолчанию	{$C+} или {$ASSERTIONS ON}

Область действия локальная

Описание

Директивы компилятора $C разрешают или запрещают проверку утверждений. Они влияют на работу процедуры Assert, используемой при отладке программ. По умолчанию действует директива {$C+} и процедура Assert генерирует исключение EAssertionFailed, если проверяемое утверждение ложно.

Так как эти проверки используются только в процессе отладки программы, то перед ее окончательной компиляцией следует указать директиву {$C-}. При этом работа процедур Assert будет блокировано и генерация исключений EAssertionFailed производиться не будет.

Директивы действуют на весь файл исходного кода независимо от того, в каком месте файла они расположены.


{$C+} или {$C-}

{$ASSERTIONS ON} или {$ASSERTIONS OFF}


директивы компилятора {$I+} и {$I-}
{$I+} и {$I-} - директивы контроля ввода/вывода

Синтаксис   см.также

Директивы компилятора, включающие и выключающие контроль файлового ввода-вывода.

По умолчанию {$I+} или {$IOCHECKS ON}

Область действия локальная

Описание

Директивы компилятора $I включают или выключают автоматический контроль результата вызова процедур ввода-вывода Object Pascal. Если действует директива {$I+}, то при возвращении процедурой ввода-вывода ненулевого значения генерируется исключение EInOutError и в его свойство errorcode заносится код ошибки. Таким образом, при действующей директиве {$I+} операции ввода-вывода располагаются в блоке try...except, имеющем обработчик исключения EInOutError. Если такого блока нет, то обработка производится методом TApplication.HandleException.

Если действует директива {$I-}, то исключение не генерируется. В этом случае проверить, была ли ошибка, или ее не было, можно, обратившись к функции IOResult. Эта функция очищает ошибку и возвращает ее код, который затем можно анализировать. Типичное применение директивы {$I-} и функции IOResult демонстрирует следующий пример:

{$I-}

AssignFile(F,s);

Rewrite(F);

{$I+}

i:=IOResult;

if i<>0 then

case i of

2: ..........

3: ..........

end;

В этом примере на время открытия файла отключается проверка ошибок ввода вывода, затем она опять включается, переменной i присваивается значение, возвращаемое функцией IOResult и, если это значение не равно нулю (есть ошибка), то предпринимаются какие-то действия в зависимости от кода ошибки.

Подобный стиль программирования был типичен до введения в Object Pascal механизма обработки исключений. Однако сейчас, по-видимому, подобный стиль устарел и применение директив $I потеряло былое значение.

Для получения более детальной информации см. разделы EInOutError и IOResult.


{$I+} или {$IOCHECKS ON}

{$I-} или {$IOCHECKS OFF}


директивы компилятора {$M} и {$S}
{$M} - директивы, определяющие размер стека

Синтаксис   см.также

Директивы компилятора, определяющие размер стека

По умолчанию {$M 16384,1048576}

Область действия глобальная

Описание

Локальные переменные в процедурах и функциях размещаются в стеке приложения. При каждом вызове процедуры или функции ее локальные переменные помещаются в стек. При выходе из процедуры или функции эти локальные процедуры удаляются из стека.

Директивы компилятора $M задают параметры стека приложения: его минимальный и максимальный размеры. Приложение всегда гарантированно имеет размер стека, равный его минимальной величине. Если при запуске приложения Windows обнаруживает, что не может выделить этот  минимальный объем памяти, то выдается сообщение об этой ошибке.

Если во время работы выясняется, что минимального размера стека не хватает, то размер увеличивается на 4K, но не более, чем до установленного директивой максимального размера. Если увеличение размера стека невозможно из-за нехватки памяти или из-за достижения его максимальной величины, генерируется исключение EStackOverflow.

Минимальный размер стека по умолчанию равен 16384 (16K). Этот размер может изменяться параметром minstacksize директивы {$M} или параметром number директивы {$MINSTACKSIZE}.

Максимальный размер стека по умолчанию равен 1,048,576 (1M). Этот размер может изменяться параметром maxstacksize директивы {$M} или параметром number директивы {$MAXSTACKSIZE number}.

Значение минимального размера стека может задаваться целым числом в диапазоне между 1024  и 2147483647. Значение максимального размера стека должно быть не менее минимального размера и не более 2147483647.

Директивы задания размера стека могут включаться только в программу и не должны использоваться в библиотеках и модулях.

В Delphi 1 имеется процедура компилятора {$S}, осуществляющая переключение контроля переполнения стека. Теперь этот процесс полностью автоматизирован и директива {$S} оставлена только для обратной совместимости.


{$M minstacksize,maxstacksize}

{$MINSTACKSIZE number}

{$MAXSTACKSIZE number}


директивы компилятора {$M+} и {$M-}
{$M+} и {$M-} - директивы информации времени выполнения о типах

Синтаксис   см.также

Директивы компилятора, включающие и выключающие генерацию информации времени выполнения о типах (runtime type information - RTTI).

По умолчанию {$M-} или {$ TYPEINFO OFF}

Область действия локальная

Описание

Директивы компилятора $I включают или выключают генерацию информации времени выполнения о типах (runtime type information - RTTI). Если класс объявляется в состоянии {$M+} или является производным от класса объявленного в этом состоянии, то компилятор генерирует RTTI о его полях, методах и свойствах, объявленных в разделе published. В противном случае раздел published в классе не допускается.

Класс TPersistent, являющийся предшественником большинства классов Delphi и все классов компонентов, объявлен в модуле Classes в состоянии {$M+}. Так что для всех классов, производных от него, заботиться о директиве {$M+}не приходится.


{$M+} или {$TYPEINFO ON}

{$M-} или {$ TYPEINFO OFF}


директивы компилятора {$Q+} и {$Q-}
{$Q+} и {$Q-} - директивы проверки переполнения при целочисленных операциях

Синтаксис   см.также

Директивы компилятора, включающие и выключающие проверку переполнения при целочисленных операциях

По умолчанию {$Q-} или {$OVERFLOWCHECKS OFF}

Область действия локальная

Описание

Директивы компилятора $Q включают или выключают проверку переполнения при целочисленных операциях. Под переполнением понимается получение результата, который не может сохраняться в регистре компьютера. При включенной директиве {$Q+} проверяется переполнение при целочисленных операциях +, -, *, Abs, Sqr, Succ, Pred, Inc и Dec. После каждой из этих операций размещается код, осуществляющий соответствующую проверку.  Если обнаружено переполнение, то генерируется исключение EIntOverflow. Если это исключение не может быть обработано, выполнение программы завершается.

Директивы $Q проверяют только результат арифметических операций. Обычно они используются совместно с директивами {$R}, проверяющими диапазон значений при присваивании.

Директива {$Q+} замедляет выполнение программы и увеличивает ее размер. Поэтому обычно она используется только во время отладки программы. Однако, надо отдавать себе отчет, что отключение этой директивы приведет к появлению ошибочных результатов расчета в случаях, если переполнение действительно произойдет во время выполнении программы. Причем сообщений о подобных ошибках не будет.


{$Q+} или {$OVERFLOWCHECKS ON}

{$Q-} или {$OVERFLOWCHECKS OFF}


директивы компилятора {$R}
{$R} - директива связывания ресурсов

Синтаксис   см.также

Директива компилятора, связывающая с выполняемым модулем файлы ресурсов

Область действия локальная

Описание

Директива компилятора {$R} указывает файлы ресурсов (.DFM, .RES), которые должны быть включены в выполняемый модуль или в библиотеку. Указанный файл должен быть файлом ресурсов Windows. По умолчанию расширение файлов ресурсов - .RES.

В процессе компоновки компилированной программы или библиотеки файлы, указанные в директивах {$R}, копируются в выполняемый модуль. Компоновщик Delphi ищет эти файлы сначала в том каталоге, в котором расположен модуль, содержащий директиву {$R}, а затем в каталогах, указанных при выполнении команды главного меню Project | Options на странице Directories/Conditionals диалогового окна в опции Search path или в опции /R командной строки DCC32.

При генерации кода модуля, содержащего форму, Delphi автоматически включает в файл .pas директиву {$R *.DFM }, обеспечивающую компоновку файлов ресурсов форм. Эту директиву нельзя удалять из текста модуля, так как в противном случае загрузочный модуль не будет создан и сгенерируется исключение EResNotFound.


{$R <ресурсы>} или {$RESOURCE <ресурсы>}

где <ресурсы> - имя или шаблон файла.


директивы компилятора {$R+} и {$R-}
{$R+} и {$R-} - директивы проверки диапазона

Синтаксис   см.также

Директивы компилятора, включающие и выключающие проверку диапазона целочисленных значений и индексов

По умолчанию {$R-} или {$RANGECHECKS OFF}

Область действия локальная

Описание

Директивы компилятора $R включают или выключают проверку диапазона целочисленных значений и индексов. Если включена директива {$R+}, то все индексы массивов и строк и все присваивания скалярным переменным и переменным с ограниченным диапазоном значений проверяются на соответствие значения допустимому диапазону. Если требования диапазона нарушены или присваиваемое значение слишком велико, генерируется исключение ERangeError. Если оно не может быть перехвачено, выполнение программы завершается.

Проверка диапазона длинных строк типа Long strings не производится.

Директива {$R+} замедляет работу приложения и увеличивает его размер. Поэтому она обычно используется только во время отладки.


{$R+} или {$RANGECHECKS ON}

{$R-} или {$RANGECHECKS OFF}


модуль (структура)
Структура модуля

Каждый модуль в общем случае имеет структуру:

unit <имя модуля>;

interface // Открытый интерфейс модуля

{Сюда могут помещаться списки подключаемых модулей, объявления типов, констант, переменных, функций и процедур, к которым будет доступ из других модулей }

implementation // Реализация модуля

{Сюда могут помещаться списки подключаемых модулей, объявления типов, констант, переменных, к которым не будет доступа из других модулей. Тут же должны быть реализации всех объявленных в разделе interface функций и процедур, а также могут быть реализации любых дополнительных, не объявленных ранее функций и процедур.}

initialization {не обязательный}
<Операторы, выполняемые один раз при первом обращении к модулю>

finalization {не обязательный}
<Операторы, выполняемые при любом завершении работы модуля>

end.


interface - раздел модуля
Раздел Interface представляет собой внешний интерфейс модуля. Поэтому подключаемые в нем модули, объявленные типы, классы, константы, переменные, функции и процедуры доступны внешним модулям, обращающимся к данному модулю.


implementation - раздел модуля
Раздел Implementation представляет собой реализацию модуля. Все подключаемые в нем модули, объявленные типы, классы, константы, переменные,  функции и процедуры доступны только в пределах данного модуля. Основное тело модуля составляют коды, реализующие объявленные функции и процедуры.


initialization и finalization - разделы модуля
Раздел initialization включает в себя операторы, которые выполняются только один раз при первом обращении программы к данному модулю. Этот раздел не является обязательным. В нем могут помещаться какие-то операторы, производящие начальную настройку модуля.

Раздел finalization включает в себя операторы, которые выполняются только один раз при любом завершении работы программы: нормальном или аварийном. Этот раздел не является обязательным. В нем могут помещаться какие-то операторы, производящие зачистку "мусора" - удаление временных файлов, освобождение ресурсов памяти и т.п. Введение раздела finalization не разрешается, если в модуле нет раздела initialization.


программа (структура файла)
Структура головного файла программы

Головной файл программы имеет следующую структуру:

Program <имя>;

{объявления подключаемых модулей, а также объявления локальных для головного файла типов, классов, констант, переменных, описания локальных функций и переменных}

begin

{операторы тела программы}

end.

В Delphi головной файл обычно не содержит ничего, кроме операторов инициализации приложения, создания форм и запуска приложения. Все программные коды помещаются в файлы модулей.


Предложение uses
Предложение uses - подключение модулей

Предложение, определяющее подключаемые к проекту или используемые в данном модуле другие модули, начинается с ключевого слова uses, после которого следует список имен модулей, разделяемый запятыми. Например:

uses Windows, Messages, SysUtils, Classes, Unit2, MyUnit;

Предложение в головном файле программы может также содержать после имени модуля ключевое слово in, после которого указывается имя файла, в котором содержится модуль. Например:

uses Unit1 in 'Unit1.pas', Unit2

                          in 'c:\exampes\Unit2.pas';

Форма с in используется в случаях, если Delphi неясно, где надо искать соответствующие файлы.

В предложениях uses, включаемых в модули, использование in не допускается.

При взаимных ссылках модулей друг на друга не разрешаются циклические ссылки с помощью предложений uses, размещенных в разделах interface. Такие циклы надо разрывать, перенося одно или все предложения uses из разделов interface в разделы implementation модулей. Например, недопустимыми циклическими ссылками являются следующие предложения uses в модулях Unit1 и Unit2:

unit Unit1 interface uses ... Unit2; ... implementation ...	unit Unit2 interface uses ... Unit1; ... implementation ...

В этом случае компилятор выдаст сообщение об ошибке:

[Fatal Error] Unit1.pas(3): Circular unit reference to 'Unit1'

и приложение не будет скомпилировано. Выходом из положения является вариант

unit Unit1 interface ... implementation uses ... Unit2; ...	unit Unit2 interface uses ... Unit1; ... implementation ...
или

unit Unit1 interface ... implementation uses ... Unit2; ...	unit Unit2 interface ... implementation uses ... Unit1; ...


. INI - файлы
Файлы INI

Пример   см.также

Файлы .INI - это текстовые файлы, предназначенные в 16-разрядных Windows 3.x для хранения информации о настройках различных приложений. Информация логически группируется в разделы, каждый из которых начинается оператором заголовка, заключенным в квадратные скобки. Например, [Desktop]. В строках, следующих за заголовком содержится информация, относящаяся к данному разделу, в форме:

<ключ>=<значение>

Файлы .INI, как правило, хранятся в каталоге Windows, который можно найти с помощью функции GetWindowsDirectory.

Работу с файлами .INI проще всего осуществлять с помощью создания в приложении объекта типа TIniFile.

В Windows 95/NT основная информация хранится в системном реестре registry и использование файлов .INI не рекомендуется. Хотя и в Windows 95 имеется как системный файл WIN.INI, так и множество файлов .INI различных программ. В частности, имеет свой файл .INI и Delphi 1.


Пример фрагмента файла WIN.INI

[windows]

run=

NullPort=None

load=essdaemn.exe hpljsw.exe

device=Epson LX-100,EPSON9,LPT1:

[Desktop]

Wallpaper=(None)

TileWallpaper=0

WallpaperStyle=0

Pattern=(Нет)

[Intl]

iCountry=7

ICurrDigits=0

iCurrency=1

...


Реестр

см.также

Реестр - это база данных для хранения информации о системной конфигурации аппаратуры, о Windows и о приложениях Windows. Почти все, что в Windows 3.x находилось в файлах .INI, перенесено в Windows 95/ NT в реестр. Реестр имеет иерархическую организацию, которая, содержит много уровней ключей, субключей и параметров.

Реестр делит свои данные на две категории: характеризующие компьютер и характеризующие пользователя. Характеристики компьютера включают в себя все, связанное с техническими средствами, а также с установленными приложениями и их конфигурацией. Характеристики пользователя включают в себя установки по умолчанию для экрана, пользовательские конфигурации, информацию о выбранных пользователем принтерах, установки сети.

Шесть основных ключей реестра содержат все субключи и записи низшего уровня. Четыре ключа верхнего уровня для характеристик компьютера:

Hkey_Local_Machine	Информация о компьютере, включая конфигурацию установленной аппаратуры и программного обеспечения
Hkey_Current_Config	Информация о текущем оборудовании
Hkey_Dyn_Data	Динамические данные о состоянии, используемые процедурами plug-and-play
Hkey_Classes_Root	Информация об OLE, drag&drop, клавишах быстрого доступа и пользовательском интерфейсе Windows 95

Два ключа верхнего уровня для характеристик пользователя:

Hkey_Users	Информация о пользователях, включая установки экрана и приложений
Hkey_Current_User	Информация о пользователе, зарегистрированном в данный момент

Реестр хранится в файле SYSTEM.DAT в каталоге Windows. Просмотр и редактирование реестра из Windows осуществляется редактором реестра REGEDIT.EXE.


OnClick - событие TControl

Пример

Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя

Класс TControl

Определение

TNotifyEvent = procedure (Sender: TObject) of object;

property OnClick: TNotifyEvent;

Описание

Обычно событие OnClick наступает, если пользователь нажал и отпустил основную кнопку мыши, когда указатель мыши находился на компоненте. Это событие происходит также, если:

•	Пользователь выбрал элемент в сетке, дереве, списке, выпадающем списке, нажав клавишу со стрелкой.

•	Пользователь нажал клавишу пробела, когда кнопка или индикатор были в фокусе.

•	Пользователь нажал клавишу Enter, а активная форма  имеет кнопку по умолчанию, указанную свойством Default.

•	Пользователь нажал клавишу Esc, а активная форма  имеет кнопку прерывания, указанную свойством Cancel.

•	Пользователь нажал клавиши быстрого доступа к кнопке или индикатору. Например, если свойство Caption индикатора записано как '&Полужирный' и символ П подчеркнут, то нажатие пользователем комбинации клавиш Alt+П вызовет событие OnClick в этом индикаторе.

•	Приложение установило в true свойство Checked радиокнопки RadioButton.

•	Приложение изменило свойство Checked индикатора CheckBox.

•	Вызван метод Click элемента меню.

Для формы событие OnClick наступает, если пользователь щелкнул на пустом месте формы или на недоступном компоненте.

Параметр Sender содержит объект, в котором произошло событие, и может использоваться для дифференцированной реакции на события в разных компонентах.


Пример обработки события OnClick и вывода сообщения ShowMessage.
Пример обработки события OnClick и вывода сообщения ShowMessage

Один обработчик события OnClick может использовать для обработки событий в различных компонентах. Если при этом требуется различать, в каком компоненте произошло событие, можно использовать параметр Sender, как в приведенном чисто демонстрационном примере, отображающем сообщение о том, в каком компоненте произошло событие:

ShowMessage('OnClick в '+(Sender as TControl).Name);


OnDblClick - событие

Событие соответствует двойному щелчку мыши на компоненте

Класс TControl

Определение

TNotifyEvent = procedure (Sender: TObject) of object;

property OnDblClick: TNotifyEvent;

Описание

Событие OnDblClick наступает, если пользователь осуществил двойной щелчок: дважды с коротким интервалом нажал и отпустил основную кнопку мыши, когда указатель мыши находился на компоненте. К одному и тому же компоненту нельзя написать обработчики событий OnClick и OnDblClick, поскольку первый из них всегда перехватит первый из щелчков.

Параметр Sender содержит объект, в котором произошло событие, и может использоваться для дифференцированной реакции на события в разных компонентах.


OnDragDrop - событие

Пример

Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом

Класс TControl

Определение

TDragDropEvent = procedure(Sender, Source: TObject;
                           X, Y: Integer) of object;

property OnDragDrop: TDragDropEvent;

Oписание

Событие OnDragDrop наступает в момент отпускания перетаскиваемого компонента над данным компонентом. В обработчике события надо описать, что в этот момент должно произойти. Параметр Source соответствует перетаскиваемому объекту, а параметр Sender - объекту, над которым объект был отпущен. Параметры X и Y содержат координаты позиции курсора мыши над компонентом в системе координат клиентской области этого компонента.


Пример обработки событий OnDragDrop и OnMouseDown

1. Пусть на форме имеется несколько списков типа TListBox и вы хотите позволить пользователю перемещать строки из одного списка в другой. Это можно сделать следующим образом.

Во всех списках задаются значения свойств DragMode, равные dmAutomatic. Это обеспечивает автоматическое начало перетаскивания.

Далее для одного из списков пишется обработчик события OnDragOver вида:

procedure TForm1.ListBox1DragOver(Sender, Source: TObject;
                                  X, Y: Integer;
                                  State: TDragState;
                                  var Accept: Boolean);

begin

  Accept := Source is TListBox;

end;

Этот обработчик указывает, что на данный компонент можно перетаскивать объекты типа TListBox.

Во всех остальных списках в событии OnDragOver указывается этот же обработчик.

Далее для одного из списков пишется обработчик события OnDragDrop вида:

procedure TForm1.ListBox1DragDrop(Sender, Source: TObject;
                                  X, Y: Integer);

begin

  (Sender as TListBox).Items.Add((Source as TListBox).

                   Items[(Source as TListBox).ItemIndex]);

  (Source as TListBox).Items.Delete(
                   (Source as TListBox).ItemIndex);

end;

Первый оператор обработчика добавляет в список строку, выделенную в списке-источнике. Если пишется не универсальный обработчик, а предназначенный только для данного компонента, то (Sender as TListBox) можно заменить на имя компонента ListBox1. Второй оператор удаляет эту строку из источника (если требуется не перенос, а только копирование строк из одного списка в другой, то этот оператор не нужен).

Во всех остальных списках в событии OnDragDrop указывается этот же обработчик.

После этого, заполнив списки, можно запускать приложение. Пользователь сможет перетаскивать строки между любыми имеющимися списками.

2. Если приведенный выше пример по каким-то соображениям желательно осуществлять не в автоматическом режиме, а в режиме ручного управления (например, перетаскивание возможно только в каком-то конкретном режиме работы приложения), то отличия в реализации примера заключаются в следующем.

Во всех списках задаются значения свойств DragMode, равные dmManual. Это обеспечивает управление началом перетаскивания.

Затем в одном из списков задается обработчик события OnMouseDown вида:

procedure TForm1.ListBox3MouseDown(Sender: TObject;
                                   Button: TMouseButton;

                                   Shift: TShiftState;
                                   X, Y: Integer);

begin

 if (Button = mbLeft)

  and <проверка какого-нибудь условия> then
     (Sender as TListBox).BeginDrag(false);

end;

В этом обработчике первое условие проверяет, что нажата именно левая кнопка мыши, а в качестве второго можно задать какое-то условие, по которому нажатие кнопки мыши можно ассоциировать с началом перетаскивания (если вы предусматриваете подобное условие). Затем методом BeginDrag начинается перетаскивание. Поскольку в параметре метода задано значение False, то перетаскивание в действительности начнется только после сдвига мыши на 5 пикселей.

Во всех остальных списках в событии OnMouseDown указывается этот же обработчик.

Все остальные обработчики событий не отличаются от указанных в предыдущем примере.


OnDragOver - событие

Пример

Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом

Класс TControl

Определение

TDragState = (dsDragEnter, dsDragLeave, dsDragMove);

TDragOverEvent = procedure(Sender, Source: TObject;
                           X, Y: Integer; State: TDragState;
                           var Accept: Boolean) of object;

property OnDragOver: TDragOverEvent;

Описание

Событие OnDragOver начинается в момент, когда перетаскиваемый объект пересек границу данного компонента и оказался внутри его контура. Заканчивается событие, когда объект, покидая компонент, пересек его границу. Обработчик события OnDragOver используется для того, чтобы дать сигнал о готовности компонента принять перетаскиваемый объект в случае, если пользователь отпустит его над данным компонентом. Если компонент готов принять объект, в обработчике надо задать значение параметра Accept, равное True. Впрочем, это значение по умолчанию равно True, так что его можно не задавать. Вообще в предельном случае обработчик может быть пустым, что будет означать готовность компонента принять любой объект. Но даже пустой обработчик нужен, так как иначе сообщения о приеме компонента приложение не получит.

Во время перетаскивания над компонентом объекта, который может быть принят, форма курсора мыши может изменяться, сигнализируя пользователю о готовности компонента принять объект. Чтобы это было так, надо до момента события OnDragOver (а обычно - во время проектирования) задать соответствующее значение свойства компонента DragCursor.

Параметр Source определяет перетаскиваемый объект, параметр Sender - сам компонент, параметры X и Y - координаты точки экрана в пикселях. Параметр  State типа TDragState определяет состояние перетаскиваемого объекта по отношению к другим объектам. Возможны следующие состояния:

Значение	Описание
dsDragEnter	Курсор мыши входит в пределы компонента.
DsDragMove	Курсор мыши перемещается в пределах компонента.
DsDragLeave	Курсор мыши выходит за пределы компонента.


Пример обработки событий OnDragDrop
Пример обработки события OnDragOver

procedure TForm1.ListBox1DragOver(Sender, Source: TObject;
                    X, Y: Integer;
                    State: TDragState; var Accept: Boolean);

begin

  Accept := Source is TListBox;

end;

Этот обработчик события OnDragOver сигнализирует о том, что компонент готов принять перетаскиваемые объекты типа TListBox


OnEndDock - событие

Событие наступает в момент встраивания компонента

Класс TControl

Определение

type TEndDragEvent = procedure(Sender, Target: TObject;
            X, Y: Integer) of object;

property OnEndDock: TEndDragEvent;

Описание

Событие OnEndDock наступает в момент встраивания компонента в контейнер. Его обработчик может использоваться, чтобы определить процедуры, которые должны выполняться сразу после встраивания.


OnEndDrag - событие

Пример

Событие наступает в момент прерывания или окончания перетаскивания компонента

Класс TControl

Определение

TEndDragEvent = procedure(Sender, Target: TObject;
                          X, Y: Integer) of object;

property OnEndDrag: TEndDragEvent;

Описание

Событие OnEndDrag наступает при любом окончании процесса перетаскивания компонента - успешном (компонент перетащен в приемник) или безуспешном (компонент отпущен над формой или компонентом, не способным его принять. Событие наступает в перетаскиваемом компоненте.

Обработка этого события не требуется для осуществления процесса перетаскивания. Соответствующий обработчик может быть написан, если требуется какое-то действие или сообщение, подтверждающее результат перетаскивания, или какая-то реакция в перетаскивавшемся компоненте.

Параметр Sender - это сам объект перетаскивания. Параметр Target - это компонент-приемник, если объект был им принят, или nil, ели перетаскивание закончилось неудачей. Параметры X и Y - координаты экрана в пикселях.


Пример обработки события OnEndDrag и сообщения ShowMessage

procedure TForm1.Component1EndDrag(Sender,
                                     Target: TObject;
                                     X, Y: Integer);

begin

 if Target = nil
  then ShowMessage('Перенесение объекта '+
                   (Sender as TControl).Name +
                   ' прервано')

 else

  ShowMessage((Sender as TControl).Name +
              ' перенесен в '
              + (Target as TControl).Name);

end;

В этом примере просто отображается сообщение о результатах перетаскивания типа 'Перенесение объекта ListBox1 прервано' или 'ListBox1 перенесен в ListBox2'. Но, конечно, аналогичным образом можно предусмотреть любые действия.


OnEnter - событие

Пример

Событие наступает в момент получения элементом фокуса

Класс TWinControl

Определение

TNotifyEvent = procedure(Sender: TObject) of object;

property OnEnter: TNotifyEvent;

Описание

Событие OnEnter наступает в момент получения элементом фокуса. Это событие не наступает при переключениях между формами или между приложениями.

При переключениях между элементами, расположенными в разных контейнерах, например, на разных панелях, событие OnEnter сначала наступает для контейнера, а потом для содержащегося в нем элемента. Это противоположно последовательности событий OnExit которые при переключении на компонент другого контейнера наступают сначала для компонента, а потом для контейнера.


Пример обработки событий OnEnter и OnExit

Пусть форма имеет кнопку OK и групповую панель, включающую три радиокнопки. Пусть в начальный момент активна кнопка OK. Когда пользователь щелкнет на одной из радиокнопок, в кнопке OK наступит событие OnExit, затем наступит событие OnEnter групповой панели, и только затем наступит событие OnEnter той кнопки, на которой щелкнули. Если после этого пользователь щелкнет на кнопке OK, то сначала наступит событие OnExit радиокнопки, затем событие OnExit групповой панели, а затем событие OnEnter кнопки OK.


OnExit - событие

Пример

Событие наступает в момент потери элементом фокуса

Класс TWinControl

Определение

TNotifyEvent = procedure(Sender: TObject) of object;

property OnExit: TNotifyEvent;

Описание

Событие OnExit наступает в момент потери элементом фокуса, в момент его переключения на другой элемент. Это событие не наступает при переключениях между формами или между приложениями.

Значение свойства ActiveControl изменяется прежде, чем происходит событие OnExit.

При переключениях между элементами, расположенными в разных контейнерах, например, на разных панелях, событие OnExit сначала наступает для элемента, а потом для содержащего его контейнера. Это противоположно последовательности событий OnEnter, которые при переключении из другого контейнера на компонент данного контейнера наступают сначала для контейнера, а потом для компонента.

Пример, поясняющий последовательность событий пре переключениях фокуса, приведен в разделе OnEnter.


OnKeyDown - событие

Пример

Событие наступает при нажатии пользователем любой клавиши

Класс TWinControl

Определение

TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft,
                        ssRight, ssMiddle, ssDouble);

TKeyEvent = procedure (Sender: TObject; var Key: Word;
                         Shift: TShiftState) of object;

property OnKeyDown: TKeyEvent;

Описание

Событие OnKeyDown наступает, если компонент находится в фокусе, при нажатии пользователем любой клавиши, включая функциональные и вспомогательные, такие, как Shift, Alt и Ctrl.

В обработчик события передаются, кроме обычного параметра Sender, указывающего на компонент, в котором произошло событие, также параметры Key и Shift. Параметр Key определяет нажатую клавишу клавиатуры. Для не алфавитно-цифровых клавиш используется виртуальный код API Windows. Эти коды и способы проверки параметра Key приведены в разделе Коды клавиш. Коды не различают символы в верхнем и нижнем регистрах и не различают символы кириллицы и латинские.

Параметр Shift является множеством, которое может быть пустым или включать следующие элементы:

Элемент	Значение
ssShift	Нажата клавиша Shift.
SsAlt	Нажата клавиша Alt.
SsCtrl	Нажата клавиша Ctrl.

Значения элементов, соответствующие нажатиям кнопок мыши, в данном событии не используются.


Пример обработки события OnKeyDown

Пусть вы хотите распознать комбинацию клавиш Alt-X. Для этого вы можете написать оператор:

if((Key = ord('X'))and (ssAlt in Shift)) then ... ;

Реакцию на нажатие пользователем клавиши Enter можно оформить одним из следующих операторов:

if (Key = 13) then ... ;

или

if (Key = $0D) then ... ;

или

if (Key = VK_RETURN) then ... ;


OnKeyPress - событие

Пример

Событие наступает при нажатии пользователем клавиши символа

Класс TWinControl

Определение

TKeyPressEvent = procedure (Sender: TObject;
                              var Key: Char)
                                      of object;

property OnKeyPress: TKeyPressEvent;

Описание

Событие OnKeyPress наступает, если компонент находится в фокусе, при нажатии пользователем клавиши символа. Параметр Key в обработчике этого события имеет тип Char и соответствует символу нажатой клавиши. При этом различаются символы в верхнем и нижнем регистрах и символы кириллицы и латинские. Клавиши, не отражаемые в кодах ASCII (функциональные клавиши и такие, как Shift, Alt, Ctrl), не вызывают этого события. Поэтому нажатие таких комбинаций клавиш, как, например, Shift-A, генерирует только одно событие OnKeyPress, при котором параметр Key равен "A". Для того, чтобы распознавать клавиши, не соответствующие символам, или комбинации клавиш, надо использовать обработчики событий OnKeyDown и OnKeyUp.

Следует отметить, что событие OnKeyPress заведомо наступает, если нажимается только клавиша символа или клавиша символа при нажатой клавише Shift. Если же клавиша символа нажимается одновременно с какой-то из вспомогательных клавиш, то событие OnKeyPress может не наступить (произойдут только события OnKeyDown при нажатии и OnKeyUp при отпускании) или, если и наступит, то укажет на неверный символ. Например, при нажатой клавише Alt событие OnKeyPress при нажатии символьной клавиши не наступает. А при нажатой клавише Ctrl событие OnKeyPress при нажатии символьной клавиши наступает, но символ не распознается.

Поскольку параметр Key передается в обработчик как var, его можно изменять, передавая для дальнейшей стандартной обработки другой символ, как в приведенных ниже примерах.


Пример обработки события OnKeyPress

1. Пусть вы хотите, чтобы пользователь не мог вводить в окно редактирования Edit1 какие-либо символы, кроме цифр. Это можно сделать, написав для Edit1 следующий обработчик события OnKeyPress:

if not(Key in ['0'..'9']) then Key:= #0;

Этот оператор трансформирует все не цифровые символы в нулевые и они не будут отражаться в окне редактирования.

2. Приведенный ниже оператор переводит символы в верхний регистр, независимо от того, в каком регистре набрал их пользователь (действует только на латинские символы):

Key := UpCase(Key);


OnKeyUp - событие

Пример

Событие наступает при отпускании пользователем любой клавиши

Класс TWinControl

Определение

TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft,
                        ssRight, ssMiddle, ssDouble);

TKeyEvent = procedure (Sender: TObject; var Key: Word;
                       Shift: TShiftState) of object;

property OnKeyUp: TKeyEvent;

Описание

Событие OnKeyUp наступает, если компонент находится в фокусе, при отпускании пользователем любой ранее нажатой клавиши, включая функциональные и вспомогательные, такие, как Shift, Alt и Ctrl.

В обработчик события передаются, кроме обычного параметра Sender, указывающего на компонент, в котором произошло событие, также параметры Key и Shift. Параметр Key определяет клавишу клавиатуры, которая отпускается. Для не алфавитно-цифровых клавиш используются виртуальные коды API Windows. Эти коды и способы проверки параметра Key приведены в разделе Коды клавиш. Коды не различают символы в верхнем и нижнем регистрах и не различают символы кириллицы и латинские.

Параметр Shift является множеством, которое может быть пустым или включать следующие элементы:

Элемент	Значение
ssShift	Отпускается клавиша Shift.
SsAlt	Отпускается клавиша Alt.
SsCtrl	Отпускается клавиша Ctrl.
Значения элементов, соответствующие нажатиям кнопок мыши, в данном событии не используются.

Событие OnKeyUp наиболее удобно, чтобы распознавать нажатые клавиши и кнопки, особенно, комбинации клавиш. Надо только не забывать, что параметр Key имеет тип word. Поэтому для его распознавания надо или сравнивать Key с целым числом, соответствующим коду символа (в этом может помочь функция ord) или применять к Key функцию chr, переводящую его в символ. К тому же надо учитывать, что виртуальный код не различает символы в верхнем и нижнем регистре и не реагирует на то, русский или английский язык включен в данный момент.


Пример обработки события OnKeyUp

Пусть вы хотите написать обработчик, который бы реагировал на нажатие клавиш Shift-Y. Проверить нажатые клавиши можно оператором:

if (ssShift in Shift) and (Key = ord('Y')) then ...

Если же вы напишете оператор

if (Key = ord('Y')) then ...

то он будет реагировать и на 'Y', и на 'y', и даже на русские буквы 'Н' и 'н', которые обычно расположены на той же клавише, что и латинская 'Y'.


OnMouseDown, OnMouseUp - события
OnMouseDown и OnMouseUp - события

Пример

События наступают в моменты нажатия и отпускания пользователем клавиши мыши над компонентом

Класс TControl

Определение

TMouseButton = (mbLeft, mbRight, mbMiddle);

TShiftState = set of (ssShift, ssAlt, ssCtrl,
                      ssLeft, ssRight,
                      ssMiddle, ssDouble);

TMouseEvent = procedure (Sender: TObject;
                         Button: TMouseButton;
                         Shift: TShiftState;
                         X, Y: Integer) of object;

property OnMouseDown: TMouseEvent;

property OnMouseUp: TMouseEvent;

Описание

Обработка событий OnMouseDown и OnMouseUp используется для операций, требуемых при нажатии и отпускании пользователем какой-нибудь кнопки мыши.

Если требуется различная обработка событий в зависимости от того, какая кнопка мыши нажата или какая нажата вспомогательная клавиша, можно анализировать параметры Button и Shift. Значения параметра Button определяют, какая кнопка мыши нажата: mbLeft - левая, mbRight - правая, mbMiddle - средняя. Параметр Shift представляет собой множество, содержащее помимо обозначения нажатой кнопки еще и обозначения нажатых одновременно с этим вспомогательных клавиш Shift, Alt, Ctrl (соответствуют элементам множества ssShift, ssAlt, ssCtrl). Параметры X и Y определяют координаты указателя мыши в клиентской области компонента. Параметр Sender - указатель на компонент, в котором произошло событие.


Пример обработки события OnMouseDown и OnMouseUp

1. Обработчик события OnMouseDown может использоваться для начала процесса перетаскивания компонента, если вы решили задать какое-то дополнительное условие (например, проверка каких-то опций), по которому можно начинать перетаскивание. В этом случае в компоненте вы задаете свойство DragMode, равным dmManual, что обеспечивает управление началом перетаскивания. Обработчик события OnMouseDown может иметь вид:

procedure TForm1.ListBox3MouseDown
                 (Sender: TObject;
                  Button: TMouseButton;

                  Shift: TShiftState; X, Y: Integer);

begin

 if (Button = mbLeft)

  and <проверка какого-нибудь условия> then
     (Sender as TListBox).BeginDrag(false);

end;

В приведенной структуре if первое условие (Button = mbLeft) можно заменить эквивалентным ему условием, проверяющим параметр Shift:

if (ssLeft in Shift) ...

2. Если вы пишете обработчик, описанный выше, но хотите, чтобы перетаскивание начиналось только в случае, когда пользователь нажал левую кнопку мыши при нажатой клавише Alt, оператор обработки может иметь вид:

if (Button = mbLeft) and (ssAlt in Shift)

  then (Sender as TListBox).BeginDrag(false);


OnMouseMove - событие

Пример

Событие наступает при перемещении курсора мыши над компонентом

Класс TControl

Определение

  TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft,
                          ssRight, ssMiddle, ssDouble);

TMouseMoveEvent = procedure(Sender: TObject;
                            Shift: TShiftState;
                            X, Y: Integer) of object;

property OnMouseMove: TMouseMoveEvent;

Описание

Обработчик события OnMouseMove пишется, если надо произвести какие-то операции при перемещении курсора мыши над компонентом.

Параметр Shift, являющийся множеством, содержит элементы, позволяющие определить, какие кнопки мыши и какие вспомогательные клавиши (Shift, Ctrl и Alt) нажаты в этот момент. Параметры X и Y определяют координаты указателя мыши в клиентской области компонента. Параметр Sender - сам компонент.

Событие OnMouseMove возникает независимо от того, нажаты ли какие-то кнопки или клавиши. Правда, хотя это и не документировано в Delphi, при нажатой правой кнопке мыши это событие, почему-то, не наблюдается.


Пример обработки события OnMouseMove

if (ssAlt in Shift) then ...

Этот оператор проверяет, не нажата ли клавиша Alt во время перемещения курсора мыши над компонентом, и, если нажата, то предпринимаются какие-то действия.


OnStartDock - событие

Событие наступает, когда пользователь начал процесс перетаскивания и встраивания компонента

Класс TControl

Определение

type TStartDockEvent = procedure(Sender: TObject;
   var DragObject: TDragDockObject) of object;

property OnStartDock: TStartDockEvent;

Описание

Событие OnStartDock наступает, когда пользователь начал процесс перетаскивания и встраивания компонента. Обработка события может предусматривать необходимые в этот момент действия.


OnStartDrag - событие

Событие наступает, когда пользователь начал процесс перетаскивания компонента

Класс TControl

Определение

TStartDragEvent = procedure (Sender: TObject;
                        var DragObject: TDragObject)
                                            of object;

property OnStartDrag: TStartDragEvent;

Описание

Событие OnStartDrag наступает, когда пользователь нажал левую кнопку мыши над объектом и, не отпуская ее, начал смещать курсор мыши, т.е. начал перетаскивание.

Обработчик события OnStartDrag позволяет описать какие-то специальные действия, необходимые при начале перетаскивания. Параметр Sender является тем компонентом, который должен перетаскиваться или который содержит объект будущего перетаскивания.

Переменная DragObject по умолчанию равняется nil. Это означает, что переноситься будет сам компонент или его объект. При этом автоматически создается объект типа TDragControlObject, с которым Delphi осуществляет весь процесс перетаскивания. Но обработчик может создавать и новый объект перетаскивания, в котором определен какой-нибудь особый вид курсора и т.п.


OnChange, OnChanging - события канвы
OnChange - событие класса TCanvas

Событие происходит сразу после изменения изображения на канве

Класс TCanvas

Определение

TNotifyEvent = procedure (Sender: TObject) of object;

property OnChange: TNotifyEvent;

Описание

Событие OnChange наступает после изменения изображения на канве. При вызове любого метода рисования осуществляется следующая последовательность операций:

1.	Наступает событие OnChanging

2.	Вызванный метод канвы TCanvas делает изменения в изображении

3.	Наступает событие OnChange

Событие канвы OnChange наступает при изменении именно самого изображения, а не свойств канвы. Такие свойства канвы, как объекты Font - шрифт, Brush - кисть и Pen - перо имеют свои собственные события OnChange.


OnPaint - событие

Пример

Событие наступает при получении сообщения Windows о необходимости перерисовать испорченное изображение

Класс TCustomForm

      TPaintBox

Определение

property OnPaint: TNotifyEvent;

Описание

Событие OnPaint наступает, когда приходит сообщение Windows о необходимости перерисовать испорченное изображение. Изображение может испортится из-за временного перекрытия данного окна другим окном того же или постороннего приложения. Обработчик данного события должен перерисовать изображение. При перерисовке изображения канвы Canvas можно использовать свойство ClipRect, которое указывает область канвы, внутри которой изображение испорчено.


Пример обработки события OnPaint

Если копия изображения, отображаемого на канве, хранится в компоненте BitMap, то обработчик события OnPaint может иметь вид:

Canvas.Draw(0,0,BitMap);

для формы или

PaintBox1.Canvas.Draw(0,0,BitMap);

для компонента TPaintBox.

Более быстрая перерисовка получается при использовании свойства ClipRect канвы , например:

Canvas.CopyRect(Canvas.ClipRect,BitMap.Canvas,
               Canvas.ClipRect);


OnProgress - событие

События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса

Класс TGraphic

Определение

type

    TProgressStage = (psStarting, psRunning, psEnding);

    TProgressEvent=procedure(Sender: TObject;
                             Stage: TProgressStage;
                             PercentDone: Byte;
                             RedrawNow: Boolean;
                             const R: TRect;
                             const Msg: string) of object;

  property OnProgress: TProgressEvent;

Описание

События OnProgress наступают во время медленных процессов изменения графического изображения таких, как загрузка, сохранение, трансформация. Эти события позволяют построить в приложении индикатор хода процесса, обеспечивающий обратную связь с пользователем. Разработчики новых компонентов могут генерировать события OnProgress, вызывая защищенный метод Progress.

Параметр Stage указывает стадию процесса: начало, продолжение, окончание. Он может соответственно принимать значения psStarting, psRunning и psEnding. Если приложение предусматривает индикацию процесса, то можно создавать индикатор при Stage = psStarting, изменять его показания, пока Stage = psRunning и закрывать при Stage = psEnding. Параметр PercentDone показывает, какая примерно часть процесса выполнена. Этот параметр может использоваться в индикаторе процесса.

Параметр RedrawNow указывает, может ли изображение в данный момент быть успешно отображено на экране. Параметр R указывает область изображения, которая изменена и нуждается в перерисовке.

Параметр Msg содержит краткую справку о протекающем процессе. Например, "Loading, Storing, or Reducing colors". Строка Msg может быть и пустой.


OnClick- событие TMediaPlayer
OnClick - событие компонента TMediaPlayer

Пример

Событие наступает при щелчке пользователя на одной из кнопок медиа-плейера TMediaPlayer или при нажатии клавиши "Пробел" в то время, когда медиа-плейер находится в фокусе

Класс TMediaPlayer

Определение

type

 MPBtnType=(btPlay,btPause,btStop,btNext,btPrev,btStep,
                 btBack, btRecord, btEject);

 EMPNotify=procedure(Sender:TObject; Button:TMPBtnType;
                     var DoDefault: Boolean) of object;

property OnClick: EMPNotify;

Описание

Вызвать событие OnClick пользователь может двумя способами: щелчком пользователя на одной из кнопок медиа-плейера TMediaPlayer или перемещением фокуса с кнопки на кнопку клавишами со стрелками и нажатием клавиши "Пробел".

Обработчик события OnClick получает параметр Button, который показывает, какая именно кнопка медиа-плейера сработала. Параметр Button может принимать значения btBack, btEject, btNext, btPause, btPlay, btPrev, btRecord, btStep, btStop.

Параметр DoDefault, передаваемый в обработчик как var, определяет, должен ли вызываться метод, соответствующий данной кнопке по умолчанию. Если DoDefault = true (это значение принято по умолчанию), то вызывается метод по умолчанию. Например, если произошел щелчок на кнопке Play, то Button = btPlay и по умолчанию вызывается метод Play. Если же в обработчике задать DoDefault = false, то надо самому запрограммировать соответствующую реакцию на событие.

Таблица кнопок, значений Button и методов, вызываемых по умолчанию:

Кнопка	Значение Button	Вызываемый метод
Play	btPlay	Play
Record	btRecord	StartRecording
Stop	btStop	Stop
Next	btNext	Next
Prev	btPrev	Previous
Step	btStep	Step
Back	btBack	Back
Pause	btPause	Pause
Eject	btEject	Eject


Пример обработки события OnClick компонента TMediaPlayer

Следующие обработчики событий OnCreate формы Form1 и OnClick медиа-плейера MediaPlayer1 обеспечивают при включенном индикаторе CheckBox1 режим обучения, при котором пользователю показывается назначение клавиш, а если индикатор не включен, то обеспечивается нормальная работа плеера (DoDefault остается равным true).

procedure TForm1.FormCreate(Sender: TObject);

begin

 MediaPlayer1.Left := 20;

 MediaPlayer1.Top := 12;

end;

procedure TForm1.MediaPlayer1Click(Sender: TObject;
          Button: TMPBtnType; var DoDefault: Boolean);

const ButtonStr: array[TMPBtnType] of string =
          ('Воспроизведение', 'Пауза', 'Стоп',
           'Следующий', 'Предыдущий', 'Вперед',
           'Назад', 'Запись','Конец');

      ButtonPos: array[TMPBtnType] of word =
          (20,48,76,104,132,160,188,216,244);

begin

if CheckBox1.Checked

 then begin

{Отказ от операций по умолчанию}

  DoDefault:=false;

  Label1.Caption:=ButtonStr[Button];

  Label1.Left:=ButtonPos[Button];

 end;

end;


OnDropDown - событие выпадающих списков

Событие наступает перед раскрытием выпадающего списка

Класс TCustomComboBox

      TDBLookupComboBox

      DroppedDown

Определение

type TNotifyEvent = procedure (Sender: TObject)
                                        of object;

property OnDropDown: TNotifyEvent;

Описание

Событие OnDropDown наступает перед раскрытием выпадающего списка. Обработчик этого события можно использовать, например, для подготовки списка: заполнения элементов списка (если они изменяются), его сортировки и т.п.


OnChange - событие выпадающих списков

см.также

Событие наступает, когда изменяется текст, отображаемый в области редактирования списка

Класс TCustomComboBox

Определение

type TNotifyEvent = procedure (Sender: TObject)
                                        of object;

property OnChange: TNotifyEvent;

Описание

Событие OnChange наступает сразу после того, как пользователь изменил текст, отображаемый в области редактирования списка. Это изменение может быть связано как с непосредственным редактированием текста, так и с выбором пользователем нового значения в списке. В момент обработки события свойство Text равно новому значению текста.

Событие не наступает, если свойство Text изменяется программно, а не в результате действий пользователя.


OnChange - событие окон редактирования

Событие наступает, когда может быть изменился текст в окне редактирования

Класс TCustomEdit

Определение

property OnChange: TNotifyEvent;

Описание

Событие OnChange наступает, когда может быть изменился текст в окне редактирования. В момент обработки события свойство Text равно новому значению текста. Определить, изменен ли в действительности текст, можно по значению свойства Modified, получающему значение true, если текст изменен.


OnChange - событие TDBRadioGroup

Событие наступает при изменении пользователем данных отображаемого поля набора данных

Класс TDBRadioGroup

Определение

property OnChange: TNotifyEvent

Описание

Событие OnChange наступает при изменении пользователем данных отображаемого поля набора данных. Обработчик события можно использовать для выполнения каких-то действий, являющихся следствием этого изменения.


OnCloseUp- событие TDBLookupComboBox

Наступает после свертывания ранее развернутого списка

Класс TDBLookupComboBox

Определение

type TNotifyEvent = procedure (Sender: TObject)
                                        of object;

property OnCloseUp: TNotifyEvent;

Описание

Событие OnCloseUp наступает после свертывания ранее развернутого списка. Свертывание может наступить в результате действия пользователя или в результате вызова метода CloseUp.


OnChange - событие TMenu

Событие наступает при изменении меню

Класс TMenu

      TMainMenu

      TPopupMenu

Определение

type TMenuChangeEvent = procedure (Sender: TObject; Source: TMenuItem; Rebuild: Boolean) of object;

property OnChange: TMenuChangeEvent;

Описание

Событие OnChange наступает при загрузке меню в память и при изменении структуры меню: добавлении или удалении разделов, изменении их свойств.

В обработчике события параметр Sender - изменяемое меню,  параметр Source - изменяемый раздел меню (если таковой имеется). Параметр Rebuild указывает, будет ли меню перестраиваться (например, при удалении или добавлении разделов).


OnChange - событие графического объекта

Событие наступает после изменения графического объекта

Класс TGraphicsObject

Определение

property OnChange: TNotifyEvent

Описание

Обработчик события OnChange должен осуществить необходимые операции при изменении графического объекта и отразить его новые установки.


Общая характеристика исключений
Общая характеристика

Исключение - это объект специального вида, характеризующий возникшую в программе исключительную ситуацию. Он может также содержать в виде свойств некоторую уточняющую информацию.

Особенностью исключений является то, что это сугубо временные объекты. Как только они обработаны каким-то обработчиком, они разрушаются.

Базовым классом исключений является Exception. Все предопределенные в Delphi классы исключений являются прямыми или косвенными наследниками этого класса. Пользователь может создавать свои собственные классы исключений, производные от класса Exception или от его наследников.

Исключения могут генерироваться автоматически при возникновении в программе каких-то ошибок, или целенаправленной генерацией с помощью ключевого слова raise и конструкторов исключений.

Если исключение не перехвачено нигде в программе, то оно обрабатывается методом HandleException. Он обеспечивает стандартную реакцию программы на большинство исключений - выдачу пользователю краткой информации в окне сообщений и уничтожение экземпляра исключения.

Исключения могут перехватываться в разделе except блока try ... except с помощью оператора on...do. Этот оператор перехватывает не только исключения указанного в нем класса, но и исключения всех классов, производных от указанного. Поэтому важно представлять себе иерархию классов исключений.


Обзор справочных разделов по исключениям

Справочные данные по созданию обработчиков исключений даны в разделах try...except,

else,

try...finally,

on...do,

ExceptObject,

ExceptAddr,

ExceptionErrorMessage.

При обработке исключений часто используются диалоговые окна с сообщением об ошибке и вопросом о дальнейших действиях. Функции отображения таких стандартных диалоговых окон рассмотрены в разделах MessageDlg,

MessageDlgPos,

ShowException,

ShowMessage,

ShowMessageFmt,

TMsgDlgType.

Преднамеренная генерация исключений рассмотрена в разделе raise. При генерации используются конструкторы класса Exception, рассмотренные в разделах

Create,

CreateFmt,

CreateFmtHelp,

CreateHelp,

CreateRes,

CreateResFmt,

CreateResFmtHelp,

CreateResFmtHelp.

 Кроме того для генерации некоторых типов исключений существуют специальные функции. Они рассмотрены в разделах

Abort (исключение EAbort),

Error (исключение EListError),

OutOfMemoryError (исключение EOutOfMemory),

RaiseLastWin32Error (исключение EWin32Error).

Различные классы исключений рассмотрены в разделе Exception (его свойства - в разделах Message и HelpContext) и в 74 других разделах по именам соответствующих исключений.

Генерация ряда исключений связана с некоторыми директивами компилятора. С этой точки зрения полезно взглянуть разделы {$I+} и {$I-}, {$M}, {$Q+} и {$Q-}, {$R+} и {$R-}, {$S}.


Exception - базовый класс исключений

Иерархия	Интерфейс Свойства	Конструкторы

Базовый класс всех исключений в Delphi.

Модуль SysUtils

Описание

Все предопределенные в Delphi классы исключений являются прямыми или косвенными наследниками класса Exception. Класс Exception наследует также все функции своего базового класса TObject, в частности, полезную для идентификации неизвестного исключения функцию ClassName.


TObject


Открытый интерфейс класса Exception:

type

  Exception = class(TObject)

    public

      constructor Create(const Msg: string);

      constructor CreateFmt(const Msg: string; const Args: array of const);

      constructor CreateRes(Ident: Integer);

      constructor CreateResFmt(Ident: Integer; const Args: array of const);

      constructor CreateHelp(const Msg: string; HelpContext: Integer);

      constructor CreateFmtHelp(const Msg: string; const Args:

array of const; HelpContext: Integer);

      constructor CreateResHelp(Ident, HelpContext: Integer);

      constructor CreateResFmtHelp(Ident: Integer; const Args:

array of const; HelpContext: Integer);

      property HelpContext: Integer;

      property Message: string;

  end;


Свойства класса

Свойство	Тип	Описание
Message	string	Строка сообщения, которая в дальнейшем при обработке исключения системным обработчиком отображается в окне сообщений; устанавливается конструктором с умолчанием; Подробнее см. в разделе Message.
HelpContext	Integer	Целый идентификатор экрана контекстно зависимой справки. Этот экран справки отображается, если пользователь, находясь в окне с сообщением об ошибке, нажимает клавишу F1. По умолчанию равен 0. Подробнее см. в разделе HelpContext.


Конструкторы исключений

Описанные в интерфейсе 8 конструкторов, наследуемые всеми исключениями, имеют следующие различия.

Конструкторы, не имеющие в своем имени компонентов Fmt или Res, принимают параметр Msg типа string, являющийся текстом, который заносится в свойство Message и в дальнейшем при обработке исключения системным обработчиком будет отображен в окне сообщений.

Конструкторы, в имя которых входит Fmt, принимают параметр Msg типа string, являющийся строкой описания формата текста, и параметр Args, являющийся массивом переменных, значения которых включаются в текст в соответствии с форматом, записанным в Msg. Значение свойства Message формируется обращением к функции Format в модуле SysUtils, которая и формирует текст сообщения в соответствии со строкой описания формата и списком массива.

Конструкторы, в имя которых входит Help, принимают целый параметр HelpContext, который является идентификатором экрана контекстно-зависимой справки. Принятый параметр сохраняется в свойстве HelpContext. Этот экран справки отображается, если пользователь, находясь в окне с сообщением об ошибке, нажимает клавишу F1.

Конструкторы, в имя которых входит Res, принимают целый параметр Ident, который является идентификатором строки сообщения или строки описания формата (если в имя конструктора входит Fmt) в ресурсах проекта. Во время проектирования ресурсы хранятся в отдельном файле с расширением .RES, но при компиляции ресурсы включаются в выполняемый файл. Идентификатор строки вы можете взять из текстового файла .DRC, который создается, если вы компилировали свое приложение с ключом -gd в командной строке или при включенной опции Detailed Map File на странице Linker опций проекта. В создающемся при этом файле <имя проекта>.DRC имеется таблица всех строк файла ресурсов, а в операторах #define указаны идентификаторы (номера) строк. Файл .DRC можно оттранслировать в файл ресурсов .RES утилитой BRCC32 <имя файла .DRC>, выполняемой в режиме MS-DOS.

Таким образом, свойства конструкторов следующие:

Конструктор	Описание
Create(const Msg: string)	Конструктор, передает строку сообщения Msg свойству Message.
CreateFmt(const Msg: string;  const Args: array of const)	Конструктор формирует строку свойства Message, исходя из строки описания формата Msg и массива аргументов Args.
CreateRes(Ident: Integer)	Конструктор задает строку свойства Message идентификатором Ident строки сообщения в ресурсах проекта (см. раздел CreateRes).
CreateResFmt(Ident: Integer;  const Args: array of const)	Конструктор задает строку свойства Message идентификатором Ident строки описания формата в ресурсах проекта и массивом аргументов Args (см. раздел CreateResFmt).
CreateHelp(const Msg: string; HelpContext: Integer)	Конструктор передает строку сообщения Msg свойству Message; передает свойству HelpContext идентификатор HelpContext экрана контекстно-зависимой справки по этому исключению (см. раздел CreateHelp).
CreateFmtHelp(const Msg: string; const Args: array of const;  HelpContext: Integer)	Конструктор формирует строку свойства Message, исходя из строки описания формата Msg и массива аргументов Args; передает свойству HelpContext идентификатор HelpContext экрана контекстно-зависимой справки по этому исключению (см. раздел CreateFmtHelp).
CreateResHelp(Ident, HelpContext: Integer)	Конструктор задает строку свойства Message идентификатором Ident строки сообщения в ресурсах проекта; передает свойству HelpContext идентификатор HelpContext экрана контекстно-зависимой справки по этому исключению (см. раздел CreateResHelp).
CreateResFmtHelp(Ident: Integer;  const Args: array of const;  HelpContext: Integer)	Конструктор формирует строку свойства Message исходя из строки описания формата в ресурсах проекта, указываемой идентификатором Ident, и массива аргументов Args; передает свойству HelpContext идентификатор HelpContext экрана контекстно-зависимой справки по этому исключению (см. Раздел CreateResFmtHelp).


EAbort - исключение

Иерархия	Свойства 	Конструкторы 	Пример

Исключение без сообщения об ошибке.

Модуль SysUtils

Описание

EAbort - класс исключений, соответствующих прерываниям процесса вычисления, при которых не должно отображаться диалоговое окно с сообщением об ошибке. Если приложения не отлавливают таких "молчаливых" исключений, то это исключение попадает в обработчик TApplication.HandleException и разрушается без всяких сообщений.

Простейший путь генерации исключения EAbort - вызов процедуры Abort.

Обычное применение EAbort - намеренное прерывание вычислений при выполнении некоторого условия окончания или при прерывании, заданном   пользователем (например, при нажатии клавиши Esc или какого-то оговоренного сочетания клавиш). Таким образом, генерация "молчаливого исключения" процедурой Abort эквивалентна применению Exit или Break (если вся текущая процедура является циклом). Отличие Abort от Exit и Break заключается в том, что Break прерывает только цикл и управление передается следующему после него оператору, Exit прерывает только текущую процедуру и управление передается в вызвавшую ее процедуру (если только текущая процедура не main), а Abort прерывает текущую процедуру и все вызвавшие ее процедуры, передавая управление на самый верх. Таким образом это наиболее простой выход из глубоко вложенных процедур. Впрочем, можно при необходимости перехватить исключение на каким-то промежуточном уровне, предусмотрев на нем блок try...except и вставив в его раздел except соответствующий оператор on...do:

on EAbort do ...;


TObject

Exception


Пример

if <проверка условия прерывания>

 then Abort; {вызов процедуры Abort, генерирующей исключение EAbort}


Конструкторы

Исключение EAbort наследует все конструкторы класса Exception:

 Create,

 CreateFmt,

 CreateRes,

 CreateResFmt,

 CreateHelp,

 CreateFmtHelp,

 CreateResHelp,

 CreateResFmtHelp.

   Но в явном виде они используются редко, так как обычно генерация осуществляется функцией Abort.


Свойства

Message	Содержит сообщение, характеризующее данное исключение. Задается конструкторами. По умолчанию (при генерации процедурой Abort) Message хранит значение "Operation aborted".
HelpContext	Содержит идентификатор экрана контекстно-зависимой справки по этому исключению; задается теми конструкторами, в имени которых имеется элемент Help.


EAbstractError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при попытке вызвать абстрактный метод.

Модуль SysUtils

Описание

Исключение класса EAbstractError генерируется во время выполнения при попытке вызвать абстрактный метод. В процессе проектирования это исключение генерируется при размещении на форме компонента с абстрактным методом.

Абстрактный метод, объявляемый директивой abstract должен быть перегружен в производных классах прежде, чем создается экземпляр объекта.

Все свойства и методы исключения EAbstractError наследуются от базового класса Exception.


EAccessViolation - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибочном доступе к памяти.

Модуль SysUtils

Описание

Исключение класса EAccessViolation генерируется во время выполнения при возникновении следующих ситуаций:

Попытка разыменования нулевого указателя nil.

Попытка записи в кодовую страницу.

Попытка доступа к адресу вне памяти, распределенной приложению.

Исключение EAccessViolation автоматически генерируется при возникновении подобных ситуаций. Генерация его с помощью оператора raise не разрешается.

Все свойства и методы исключения EAccessViolation наследуются от базового класса Exception.


EArrayError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибочном манипулировании с потомками класса TBaseArray.

Модуль mxarrays

Описание

Исключение класса EArrayError генерируется во время выполнения при возникновении следующих ситуаций при работе с массивами - наследниками класса TBaseArray:

Использование ошибочного индекса элемента массива.

Добавление слишком большого числа элементов в массив фиксированной длины.

Попытка вставки элемента в отсортированный массив.

Все свойства и методы исключения EAbstractError наследуются от базового класса Exception.


EAssertionFailed - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется процедурой Assert.

Модуль SysUtils

Описание

Исключение EAssertionFailed генерируется процедурой Assert, примененной для булева выражения, возвращающего значение False. Это исключение генерируется только при включенной директиве компилятора {$C+}. Используется только в процессе отладки программ.

Все свойства и методы исключения EAssertionFailed наследуются от базового класса Exception.


EBitsError- исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибке доступа к массиву булевых величин TBits.

Модуль Classes

Описание

Исключение EBitsError генерируется, когда приложение осуществляет попытку ошибочного доступа к булеву массиву (например, класса TBits) со слишком малым или слишком большим значением индекса (меньшим нуля или большим, чем значение свойства Size.

Все свойства и методы исключения EBitsError наследуются от базового класса Exception.


ECacheError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибке построения КЭШа в кубе решений

Модуль mxstore

Описание

Исключение ECacheError генерируется, когда:

Набор данных в кубе решений включает слишком много полей.

Набор данных в кубе решений не содержит все необходимое для вычисление вторичных величин, таких, как среднее значение.

Размерность в карте размерностей не соответствует диапазону размерностей данных.

Все свойства и методы исключения ECacheError наследуются от базового класса Exception.


EClassNotFound - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при невозможности найти указанный компонент, прочитанный из входного потока

Модуль classes

Описание

Исключение EClassNotFound генерируется, когда при чтении компонента из потока встречается имя, которое не было связано с текущим приложением. Это может случиться, если компонент присутствует на форме, но был удален из объявления типа.

Все свойства и методы исключения EClassNotFound наследуются от базового класса Exception.


TObject

Exception

EStreamError

EFilerError


EComponentError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибках регистрации или переименования компонентов.

Модуль classes

Описание

Исключение EComponentError генерируется в процессе регистрации и переименования компонентов в следующих ситуациях:

Delphi не может зарегистрировать компонент.

Приложение не может переименовать компонент.

Сделан запрос на отыскание интерфейса COM для компонента, не поддерживающего COM.

Чтобы зарегистрировать компонент, пишется процедура с именем Register в разделе interface файла модуля компонента. Эта процедура должна вызывать RegisterComponents для каждого компонента, который желательно регистрировать.

Ошибка переименования компонента получается, когда приложение пытается переименовать компонент во время выполнения и новое имя совпадает с именем другого компонента или является недопустимым идентификатором Object Pascal.

Все свойства и методы исключения EComponentError наследуются от базового класса Exception.


EControlC - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при нажатии пользователем клавиш Ctrl+C при выполнении консольного приложения

Модуль sysutils

Описание

Исключение EControlC генерируется при нажатии пользователем клавиш Ctrl+C для прерывания выполнения консольного приложения. При его обработке можно выдать запрос пользователю, действительно ли он хочет прервать работу, и предпринять действия в зависимости от его ответа.

Все свойства и методы исключения EControlC наследуются от базового класса Exception.


EConvertError - исключение

Иерархия      Свойства      Конструкторы      Пример

Исключение генерируется при ошибках преобразования строк и объектов

Модуль sysutils

Описание

Исключение EConvertError генерируется когда:

Приложение делает попытку ошибочного преобразования целых чисел, чисел с плавающей запятой, дат или времени в строку или ошибочного преобразования строк в эти типы. Например, применение функций StrToInt или StrToFloat к строке, текст которой не соответствует числу, или StrToDate к строке, неправильно представляющей дату.

Приложение передает процедуре или функции форматирования ошибочный аргумент.

Приложение пытается сделать недопустимое присваивание одного объекта, производного от TPersistent, другому объекту, производному от TPersistent. Например, присвоить элемент TButton элементу TEdit.

Все свойства и методы исключения EConvertError наследуются от базового класса Exception.


Например, при вызове

        ShowMessageFmt('Задано только %g параметров', [N])

в строке форматирования задается формат числа с плавающей запятой, а переменная N - целая.


EDatabaseError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибках работы с базами данных

Модуль db

Описание

Исключение EDatabaseError генерируется, когда компонент обнаруживает ошибку базы данных. Можно генерировать это исключение и самому, при каких-то ошибках в данных, не фиксируемых автоматически.

Все свойства и методы исключения EDatabaseError наследуются от базового класса Exception.

Класс EDatabaseError является базовым для некоторых других исключений:

EDBClient	Ошибка в наборе данных клиента. Свойство ErrorCode содержит код ошибки, возвращаемый BDE.
EDBEngineError	Ошибка в BDE. Свойство Errors содержит информацию об ошибке - объект типа TDBErrors. Свойство ErrorCount хранит число ошибок.
ENoResultSet	Генерируется компонентом TQuery при попытке открыть запрос без оператора SELECT.


EDateTimeError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибках ввода даты или времени (только начиная с Delphi 3)

Модуль comctrls

Описание

Исключение EDateTimeError генерируется компонентом  при ошибках ввода даты или времени, например, в компоненте TDateTimePicker.

Все свойства и методы исключения EDateTimeError наследуются от базового класса Exception.


EDBEditError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при нарушении маски

Модуль mask

Описание

Исключение EDBEditError генерируется, если приложение пытается использовать данные, не соответствующие заданной маске для поля. Маска ограничивает данные, которые могут вводиться в окно редактирования или в поле данных.

Все свойства и методы исключения EDBEditError наследуются от базового класса Exception.


EDimensionMapError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется, когда набор данных в кубе решений имеет несоответствующий формат

Модуль mxdb

Описание

Исключение EDimensionMapError генерируется, когда набор данных в кубе решений не содержит результирующих значений, содержит только результирующие значения ил запрос не содержит соответствующего группирования.

Все свойства и методы исключения EDBEditError наследуются от базового класса Exception.


EExternalException - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при обнаружении неизвестного кода исключения

Модуль sysutils

Описание

Исключение EExternalException генерируется, если Delphi обнаружила неизвестный код исключения. Delphi Распознает следующие коды исключений:

STATUS_INTEGER_DIVIDE_BY_ZERO

STATUS_ARRAY_BOUNDS_EXCEEDED

STATUS_FLOAT_OVERFLOW

STATUS_FLOAT_INEXACT_RESULT

STATUS_FLOAT_INVALID_OPERATION

STATUS_FLOAT_STACK_CHECK

STATUS_FLOAT_DIVIDE_BY_ZERO

STATUS_INTEGER_OVERFLOW

STATUS_FLOAT_UNDERFLOW

STATUS_FLOAT_DENORMAL_OPERAND

STATUS_ACCESS_VIOLATION

STATUS_PRIVILEGED_INSTRUCTION

STATUS_CONTROL_C_EXIT

STATUS_STACK_OVERFLOW

Любые коды исключений, не входящие в приведенный список, вызывают генерацию EExternalException.

Все свойства и методы исключения EExternalException наследуются от базового класса Exception.


EFCreateError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибке создания файла

Модуль classes

Описание

Исключение EFCreateError генерируется, когда приложение не может успешно завершить создание файла. Это, например, может случиться, если пользователь указал недопустимое имя файла или указанный файл уже существует и не может быть перезаписан, так как пользователь не обладает соответствующим уровнем доступа.

Все свойства и методы исключения EFCreateError наследуются от базового класса Exception.


TObject

Exception

EStreamError


EFilerError - исключение

Иерархия      Свойства      Конструкторы

Базовый класс исключений файловых потоков

Модуль classes

Описание

Исключение EFilerError генерируется при попытке дважды зарегистрировать один и тот же класс.

Кроме того EFilerError является базовым для следующих классов чтения и записи потоков:

Исключение	Описание
EReadError	Невозможно прочесть заданное число байтов
EWriteError	Невозможно записать заданное число байтов
EClassNotFound	Компонент не связан с приложением
EInvalidImage	Невозможно прочесть файл ресурсов
EMethodNotFound	Невозможно найти реализацию метода

Все свойства и методы исключения EFilerError наследуются от базового класса Exception.


EFOpenError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибке открытия файла

Модуль classes

Описание

Исключение EFOpenError генерируется, когда приложение не может открыть заданный файл. Это может случиться, например, если указанный файл не существует или он расположен не в том каталоге, в котором приложение ищет его.

Все свойства и методы исключения EFOpenError наследуются от базового класса Exception.


EInOutError - исключение

Иерархия      Свойства      Конструкторы      Пример

Исключение генерируется при ошибке файлового ввода-вывода.

Модуль SysUtils

Описание класса:

type

EInOutError = class(Exception)

ErrorCode: Integer;

end;

Описание

EInOutError - класс исключений, сигнализирующий об ошибке файлового ввода-вывода. Свойство errorcode содержит информацию о конкретном виде ошибки ввода-вывода. Оно заполняется кодом ошибки при автоматической генерации этого исключения.

На генерацию исключения EInOutError влияют директивы {$I+} и {$I-}. Если в момент ошибки действует директива {$I+}, то исключение генерируется. Если же действует директива отмены проверки ошибок {$I-}, то исключение EInOutError генерироваться не будет. В этом случае для того, чтобы убедиться в отсутствии ошибок, или узнать код ошибки надо вызывать функцию IOResult.

Свойство errorcode можно использовать при обработке исключения для диагностики конкретной причины ошибки. Ниже приведен пример использования этого свойства.

Помимо свойства errorcode исключение EInOutError наследует от базового класса свойства, описанные ниже.

Приведенный код анализирует свойство errorcode исключения и выдает сообщение о виде ошибки.

Message	Содержит сообщение, характеризующее данное исключение. Задается конструкторами. По умолчанию Message хранит следующие сообщения в зависимости от кода ошибки: Код Сообщение 2   File not found 3   Invalid file name 4   Too many open files 5   Access denied 100 EOF 101 Disk full 106 Invalid input
HelpContext	Содержит идентификатор экрана контекстно-зависимой справки по этому исключению; задается теми конструкторами, в имени которых имеется элемент Help.

Исключение наследует все методы класса Exception.


В примере подразумевается, что в переменной filename типа string хранится имя обрабатываемого файла.

on IO: EInOutError do
begin
Case IO.errorcode of
2: s:='Файл ''' +s+''' не найден';
3: s:='Ошибочное имя файла ''' +s+'''';
4: s:='Слишком много открытых файлов';
5: s:= 'Файл ''' +s+''' не доступен';
100: s:= 'Достигнут конец файла ''' +s+'''';
101: s:= 'Диск переполнен при работе с файлом ''' +s+'''';
106: s:= 'Ошибка ввода при работе с файлом ''' +s+'''';
end;
MessageDlg(s, mtWarning, [mbOk], 0);
end;


EIntError - исключение

Иерархия      Свойства      Конструкторы      Пример

Базовый класс исключений целочисленных математических операций

Модуль sysutils

Описание

EIntError является базовым классом исключений целочисленных математических операций. Само по себе исключение EIntError никогда не генерируется. Но имя класса EIntError может использоваться для перехвата всех исключений - потомков.

Классы исключений, производные от EIntError:

Исключение	Описание
EDivByZero	Попытка целочисленного деления на нуль
ERangeError	Целочисленное значение или индекс вне допустимого диапазона
EIntOverflow	Переполнение при операции с целыми числами

Обычно организуется перехват этих исключений обработчиками в блоках try...except и, по возможности, результаты корректируются, чтобы можно было продолжать нормальную работу программы.

Все свойства и методы исключения EIntError наследуются от базового класса Exception.


Например, оператор

on EIntError
do ShowMessage('Ошибка операции с целыми числами');

перехватит любые исключения, связанные с целочисленными операциями.


EIntOverflow - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при выполнении операций с целыми числами, в результате которых получается недопустимо большое число

Модуль sysutils

Описание

Исключение переполнения EIntOverflow генерируется, когда результат операции с целыми числами слишком велик, чтобы сохраняться в регистре, и, следовательно, будет искажен.

Переполнение определяется  регистрами компьютера и не совпадает в 16-битных и 32-битных версиях Delphi. Вычисления, вызывающие переполнение в 16-битных приложениях, могут в ряде случаев нормально осуществиться в 32-битном приложении. Вместо них в 32-битной программе может генерироваться исключение ошибки диапазона ERangeError. Если переполнение случилось до операции присваивания, то генерируется исключение EIntOverflow. А если переполнение произошло в момент присваивания, то генерируется исключение ERangeError.

Исключение EIntOverflow генерируется только при включении в исходный код директивы {$Q+} или если вы выполнили команду Project | Options и на странице Compiler включили опцию Overflow-checking. В противном случае исключение не генерируется и, если переполнение в действительности произошло, то результат вычислений будет неверным.

Исключение EIntOverflow генерируется только при выполнении целочисленных операций. Переполнение при операциях с плавающей запятой вызывает генерацию исключения EOverflow.

Все свойства и методы исключения EIntOverflow наследуются от базового класса Exception.


EInvalidGraphic - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при неопознанном графическом файле

Модуль graphics

Описание

Исключение EInvalidGraphic генерируется, когда:

•	Приложение пытается загрузить в изображение файл, который не является файлом битовой матрицы bitmap, файлом пиктограммы, метафайлом или определенным пользователем типом графического файла.

•	Приложение пытается загрузить файл с неизвестным расширением.

Все свойства и методы исключения EInvalidGraphic наследуются от базового класса Exception.


EInvalidGraphicOperation - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при недопустимой операции с графикой

Модуль graphics

Описание

Исключение EInvalidGraphicOperation генерируется, когда делается попытка произвести недопустимую операцию с графикой. Например, это исключение будет сгенерировано при попытке изменить размер пиктограммы или при копировании пиктограммы в буфер Clipboard.

Все свойства и методы исключения EInvalidGraphicOperation наследуются от базового класса Exception.


EInvalidGridOperation - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при недопустимой операции с сеткой

Модуль grids

Описание

Исключение EInvalidGridOperation генерируется, когда делается попытка произвести недопустимую операцию над сеткой. Например, это исключение будет сгенерировано при попытке приложения получить доступ к ячейке или столбцу, не представленным в сетке.

Все свойства и методы исключения EInvalidGridOperation наследуются от базового класса Exception.


EInvalidOperation - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибочной операции с компонентом

Модуль classes

Описание

Исключение EInvalidOperation генерируется при попытке выполнить операцию, которая требует обработчика окна, над компонентом, не имеющем родителя (свойство Parent = nil). Это исключение также генерируется при выполнении операций перетаскивания над формой (например, при попытке выполнить операцию Form1.BeginDrag).

Не путайте это исключение с исключением EInvalidOp.

Все свойства и методы исключения EInvalidOperation наследуются от базового класса Exception.


EInvalidPointer - исключение

Иерархия      Свойства      Конструкторы   Пример

Исключение генерируется при ошибочной операции с указателем

Модуль sysutils

Описание

Исключение EInvalidPointer генерируется при попытке выполнить ошибочную операцию с указателем.

Все свойства и методы исключения EInvalidPointer наследуются от базового класса Exception.


Например, исключение сгенерируется при попытке приложения дважды освободить память, на которую указывает указатель:

New(P);

............

Dispose(P);

Dispose(P);

  или при попытке сослаться на указатель, который уже был освобожден.


EListError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибочном манипулировании списками TStringList и TList

Модуль classes

Описание

Исключение класса EListError генерируется во время работы с объектом типа списка при возникновении следующих ситуаций:

Попытке сослаться на элемент с индексом вне допустимых пределов.

Попытке добавления дубликата строки в объект TStringList, в котором значение свойства Duplicates равно dupError.

Попытка вставить элемент в сортированный список, так как это может нарушить правильную последовательность элементов.

Для объекта типа TList исключение EListError может генерироваться процедурой Error.

Все свойства и методы исключения EListError наследуются от базового класса Exception.


EInvalidImage - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибке чтения файлов ресурсов

Модуль classes

Описание

Исключение EInvalidImage генерируется, когда исключение не может прочесть файл ресурсов. Чаще всего это случается, если указанный файл не является файлом ресурсов.

Эта ошибка получается, если используются несовместимые методы чтения и записи объекта TStream. Для чтения компонента, записанного методом WriteComponentRes должен использоваться метод ReadComponentRes, а для чтения компонента, записанного методом WriteComponent должен использоваться метод ReadComponent. Несогласованность этих методов записи и чтения может стать причиной генерации исключения EInvalidImage.

Все свойства и методы исключения EInvalidImage наследуются от базового класса Exception.


Tobject

Exception

EStreamError

EFilerError


EInvalidOp - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при неопределенной операции с плавающей запятой

Модуль sysutils

Описание

Исключение EInvalidOp генерируется, когда процессор наталкивается на неопределенную инструкцию, ошибочную операцию или при переполнении стека процессора с плавающей запятой.

Не путайте это исключение с исключением EInvalidOperation.

Все свойства и методы исключения EInvalidOp наследуются от базового класса Exception.


TObject

Exception

EMathError


EMathError - исключение

Иерархия      Свойства      Конструкторы   Пример

Базовый класс исключений операций с плавающей запятой

Модуль sysutils

Описание

EMathError является базовым классом исключений математических операций с плавающей запятой. Само по себе исключение EMathError никогда не генерируется. Но имя класса EMathError может использоваться для перехвата всех исключений - потомков.

Классы исключений, производные от EMathError:

Исключение	Описание
EInvalidArgument	Недопустимое значение параметра при обращении к математической функции
EInvalidOp	Неопределенная операция с плавающей запятой
EOverflow	Переполнение при выполнении операции с плавающей запятой
EUnderflow	Потеря значащих разрядов при выполнении операции с плавающей запятой
EZeroDivide	Попытка деления на нуль

Обычно организуется перехват этих исключений обработчиками в блоках try...except и, по возможности, результаты корректируются, чтобы можно было продолжать нормальную работу программы.

Все свойства и методы исключения EMathError наследуются от базового класса Exception.


Например, оператор

on EMathError
do ShowMessage('Ошибка математической операции');

перехватит любые исключения, связанные с операциями с плавающей запятой.


EMCIDeviceError - исключение

Иерархия      Свойства      Конструкторы

Ошибка доступа к устройствам через драйвер Media Control Interface (MCI)

Модуль mplayer

Описание

Исключение EMCIDeviceError генерируется мультимедиа устройствами, доступ к которым осуществляется драйвером Media Control Interface (MCI). Наиболее частый случай генерации этого исключения - попытка доступа к устройству до того, как оно будет открыто методом TMediaPlayer. Open.

Свойства и методы исключения EMCIDeviceError наследуются от базового класса Exception.


EMenuError - исключение

Иерархия      Свойства      Конструкторы

Генерируется при ошибках, связанных с элементами меню

Модуль menus

Описание

Исключение EMenuError генерируется при ошибках работы приложения с элементами меню. Например, исключение EMenuError будет сгенерировано при попытке приложения удалить элемент меню, которого не существует.

Все свойства и методы исключения EMenuError наследуются от базового класса Exception.


EOleException - исключение

Иерархия  Свойства  Конструкторы

Исключение генерируется при ошибке метода или свойства в объекте OLE

Модуль comobj

Описание

Класс исключений EOleException определен в интерфейсе OLE IDispatch. Исключение генерируется, когда происходит ошибка при выполнении метода, вызванного из IDispatch. Оно генерируется, когда на сервер Delphi возвращается значение ошибки из свойства или метода, вызванного из интерфейса IDispatch методом Invoke.

Если происходит ошибка, IDispatch может вернуть полезную информацию об исключении, включая источник исключения, код ошибки, описание ошибки, файл справки и идентификатор его контекстно-зависимой справки. EOleException собирает эту информацию и включает в сообщение, генерируемое конструктором CreateHelp, описание ошибки и ее номер (если возможно). Остальная информация хранится в свойствах Source и HelpFile исключения EOleException и в его свойстве ErrorCode, наследуемом от EOleSysError.


TObject

Exception

EOleError

EOleSysError


Свойство	Тип	Описание
HelpFile	string	Имя файла, содержащего информацию об ошибке, и пути к нему
Source	string	Источник исключения - имя приложения, в котором произошла ошибка
ErrorCode	Integer	Код ошибки

Остальные свойства наследуются от базового класса Exception.


Create - конструктор с синтаксисом

constructor Create(const Message: string; ErrorCode: Integer;
                   const Source, HelpFile: string;
                   HelpContext: Integer);

Конструктор создает объект исключения, выделяет под него память, инициализирует свойства ErrorCode, HelpFile и Source, используя информацию, передаваемую из структуры EXCEPINFO OLE. Затем вызывается конструктор CreateHelp, который отображает описание ошибки и ее номер, полученные из EXCEPINFO.

Остальные методы наследуются от базового класса Exception.


EOutlineError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибке работы с компонентом TOutline

Модуль outline

Описание

Исключение EOutlineError генерируется, когда происходит ошибка при работе с компонентом TOutline.  Например, исключение будет генерироваться, когда приложение:

Пытается обращаться к TOutline с ошибочным индексом узла.

Пытается развернуть узел, у которого не развернут родительский узел.

Пытается загрузить элементы дерева из файла с ошибочным расширением.

Впрочем, не забывайте, что сам тип компонента TOutline оставлен в старших версиях Delphi только для совместимости с Delphi 1.

Все свойства и методы исключения EOutlineError наследуются от базового класса Exception.


EOutOfMemory - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при неудачной попытке распределить память

Модуль sysutils

Описание

Исключение EOutOfMemory генерируется, когда приложение пытается динамически распределить память, но в системе нет достаточного объема памяти для выполнения этой операции. Место для самого исключения EOutOfMemory выделяется сразу, когда приложение начинает работать, и сохраняется в течение всего времени работы.

Никогда не генерируйте исключение EOutOfMemory непосредственно. Используйте для этого процедуру  из модуля sysutils. Эта процедура дает более компактный код, чем непосредственная генерация EOutOfMemory.

Все свойства и методы исключения EOutOfMemory наследуются от базового класса Exception. Однако, методы Destroy и FreeInstance перегружены и ничего не делают, поскольку место под исключение EOutOfMemory всегда сохраняется до конца работы программы.


EOverflow - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при выполнении операций с числами с плавающей запятой, в результате которых получается недопустимо большое число

Модуль sysutils

Описание

Исключение переполнения EOverflow генерируется, когда результат операции слишком велик, чтобы сохраняться в регистре для чисел с плавающей запятой, и, следовательно, будет искажен.

Для целых регистров при переполнении генерируется другое исключение - EIntOverflow.

Все свойства и методы исключения EOverflow наследуются от базового класса Exception.


EPrinter - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибках печати

Модуль printers

Описание

Исключение EPrinter генерируется при ошибке печати. Например, если приложение пытается использовать принтер, которого нет, или задание по какой-то причине не может быть послано на принтер.

Все свойства и методы исключения EPrinter наследуются от базового класса Exception.


EPropertyError - исключение

Иерархия    Свойства    Конструкторы

Исключение генерируется при ошибке задания значения свойства

Модуль dsgnintf

Описание

Исключение EPropertyError генерируется методами SetValue и Edit редактора свойств объекта, когда они не могут установить требуемое значение свойства. Обычно эта ошибка связана со значением, заданным вне допустимых пределов, или с неверным типом данных.

Все свойства и методы исключения EPropertyError наследуются от базового класса Exception.


ERangeError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при целочисленном значении или индексе вне допустимого диапазона

Модуль sysutils

Описание

Исключение ERangeError генерируется при целочисленных вычислениях, когда:

Значение целочисленного выражения превышает предел заданного целого типа, которому оно присваивается.

Делается попытка доступа к элементу массива со значением индекса вне пределов, определенных для этого массива.

Исключение ERangeError генерируется только при включенной директиве проверки диапазона {$R+} или если выполнена команда меню Project | Options и на странице Compiler в диалоговом окне установлена опция Range-checking.

Все свойства и методы исключения ERangeError наследуются от базового класса Exception.


TObject

Exception

EIntError


EReadError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при невозможности прочесть из потока заданное число байтов

Модуль classes

Описание

Исключение EReadError генерируется, когда приложение пытается читать данные из потока, но не может прочесть заданное число байтов.

Исключение EReadError генерируется также, если Delphi не может прочесть свойство при создании формы. Это может случиться, если компонент некорректно читает ресурсы формы или если ресурсы испорчены.

Все свойства и методы исключения EReadError наследуются от базового класса Exception.


TObject

Exception

EStreamError

EFilerError


ERegistryException - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибке обращения к реестру

Модуль registry

Описание

Исключение ERegistryException генерируется, когда приложение не может:

Создать новый ключ реестра.

Прочитать значение данных, связанных с ключом.

Прочитать двоичные значения данных, связанных с ключом, в локальный буфер.

Записать данные в ключ.

Создание ключа приводит к ошибке, когда приложение пытается создать субключ ключа, для которого не имеет права доступа KEY_CREATE_SUB_KEY.

Чтение данных, связанных с ключом, может привести к отказу, когда приложение не имеет права доступа KEY_READ или когда приложение пытается прочесть данные ключа несоответствующим образом, например, читает как строку целое значение.

Чтение двоичных данных ключа в локальный буфер приводит к отказу, если приложение не выделило буфер достаточного размера для этих данных.

Запись значения данных в ключ может привести к отказу, если приложение не имеет права доступа KEY_WRITE к данному ключу.

Все свойства и методы исключения ERegistryException наследуются от базового класса Exception.


EResNotFound - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется в процессе проектирования при ошибке загрузки файла ресурсов .DFM или .RES.

Модуль classes

Описание

Исключение EResNotFound генерируется, когда Delphi не может найти указанные ресурсы (форму, битовую матрицу .bmp, пиктограмму) в файле  .DFM или .RES или когда ресурсы не связаны с приложением.

Если вы получили это исключение при запуске приложения или при создании формы, проверьте наличие в файле формы .pas директивы компилятора {$R *.DFM}. Если эта директива записана с ошибкой или закомментирована, файл .DFM не включается в выполняемый модуль и будет генерироваться исключение EResNotFound.

Все свойства и методы исключения EResNotFound наследуются от базового класса Exception.


EStackOverflow - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при переполнении стека

Модуль sysutils

Описание

Исключение EStackOverflow генерируется, когда стек текущей нити вырос до предела и система не может динамически увеличивать стек. Это может случиться из-за чрезмерно большого числа локальных переменных, из-за многошаговых рекурсий, из-за ошибочного кода на ассемблере.

Размеры стека можно регулировать директивами компилятора $MINSTACKSIZE и $MAXSTACKSIZE.


EStreamError - исключение

Иерархия      Свойства      Конструкторы

Базовый класс исключений ошибок потоков

Модуль classes

Описание

Класс EStreamError является базовым для всех исключений ошибок потоков. Само исключение EStreamError генерируется, если ресурсы не могут разместиться в памяти потока.

Все свойства и методы исключения EStreamError наследуются от базового класса Exception.


EUnderflow - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при получении числа, слишком маленького, чтобы его можно было представить переменной типа с плавающей запятой

Модуль classes

Описание

Когда в результате операции над операндами с плавающей запятой получается результат, слишком маленький, чтобы его можно было представить типом с плавающей запятой, этот результат обычно делается равным нулю. Однако, приложение может демаскировать эту потерю значащих разрядов, изменив управляющее слово сопроцессора. Тогда в подобных ситуациях будет генерироваться исключение EUnderflow.

Все свойства и методы исключения EUnderflow наследуются от базового класса Exception.


EVariantError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибках, связанных с типом данных variant

Модуль sysutils

Описание

Исключение EVariantError генерируется, когда:

Приложение пытается выполнить с типом данных variant недопустимое преобразование типов или недопустимую операцию.

Тип variant не содержит объекта, предполагаемого интерфейсом OLE IDispatc.

Функция VarArrayCreate не  может создать требуемого массива variant.

Делается попытка выполнить операцию над массивом variant, но объект не является массивом variant.

Задается индекс массива variant вне допустимых пределов.

Все свойства и методы исключения EVariantError наследуются от базового класса Exception.


EWin32Error - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при ошибках Windows

Модуль sysutils

Описание

Исключение EWin32Error генерируется процедурой RaiseLastWin32Error, когда Windows возвращает код ошибки. Диалоговое окно обработчика исключения содержит номер ошибки и связанное с ней сообщение.

Все свойства и методы исключения EWin32Error наследуются от базового класса Exception.


EWriteError - исключение

Иерархия      Свойства      Конструкторы

Исключение генерируется при невозможности записать данные в поток

Модуль classes

Описание

Исключение EWriteError генерируется, когда:

Метод WriteBuffer объекта потока не может записать заданное число байтов.

Среда проектирования Delphi не может записать одно из свойств компонента в поток. Это может случиться, когда вы пытаетесь спасти форму в процессе проектирования.

Все свойства и методы исключения EWriteError наследуются от базового класса Exception.


Иерархия исключений
Иерархия классов исключений

Ниже приведена таблица иерархии предопределенных в Delphi классов исключений с краткими пояснениями. Большинство исключений описаны подробнее в отдельных разделах. Создаваемые пользователем новые классы должны быть производными от одного из классов этой иерархии.

Exception	Базовый класс исключений
	EAbort	"Молчаливое" исключение, предназначенное для намеренного прерывания вычислений
	EAbstractError	Попытка вызвать абстрактный метод
	EAccessViolation	Ошибочный доступ к памяти
	EArrayError	Ошибка манипулирования с потомками класса TBaseArray
	EAssertionFailed	Ложное выражение, проверяемое функцией Assert
	EBitsError	Ошибка доступа к массиву булевых величин TBits
	ECacheError	Ошибка построения КЭШа в кубе решений
	EComponentError	Ошибка регистрации или переименования компонентов
	EControlC	Нажатие пользователем клавиш Ctrl+C при выполнении консольного приложения
	EConvertError	Ошибка преобразования строк или объектов (в частности, в функциях StrToInt и StrToFloat)
	EDatabaseError	Ошибка работы с базами данных
		EDBClient	Ошибка в наборе данных клиента. Свойство ErrorCode содержит код ошибки, возвращаемый BDE.
			EReconcileError	Ошибка обновления данных компонента TClientDataset; свойство Context содержит информацию в виде сообщения об ошибке.
		EDBEngineError	Ошибка в BDE. Свойство Errors содержит информацию об ошибке - объект типа TDBErrors. Свойство ErrorCount хранит число ошибок.
		ENoResultSet	Генерируется компонентом TQuery при попытке открыть запрос без оператора SELECT
		EUpdateError	Ошибка при обновлении в TProvider.
	EDateTimeError	Ошибка ввода даты или времени в компоненте TDateTimePicker
	EDimensionMapError	Ошибка формата данных в кубе решений
	EDimIndexError	Ошибочный индекс в задании размерности в кубе решений
	EExternalException	Неизвестный код исключения
	EInOutError	Ошибка ввода-вывода из файла; поле errorcode содержит информацию о конкретном виде ошибки
	EIntError	Базовый класс исключений целочисленных математических операций
		EDivByZero	Попытка целочисленного деления на нуль
		ERangeError	Целочисленное значение или индекс вне допустимого диапазона
		EIntOverflow	Переполнение при операции с целыми числами
	EIntfCastError	Ошибочное применение операции преобразования типов as к интерфейсу
	EInvalidCast	Ошибка преобразования типа объекта операцией as
	EInvalidGraphic	Нераспознаваемый графический файл
	EInvalidGraphic Operation	Ошибочная операция с графикой
	EInvalidGridOperation	Ошибочная операция с сеткой
	EInvalidOperation	Ошибочная операция с компонентом
	EInvalidPointer	Ошибочная операция с указателем.
	EListError	Ошибка работы с объектом типа списка.
	ELowCapacityError	Попытка выделить памяти больше, чем доступно кубу решений; надо или увеличить значение. Capacity, или уменьшить размерность куба.
	EMathError	Базовый класс исключений операций с плавающей запятой.
		EInvalidArgument	Недопустимое значение параметра при обращении к математической функции.
		EInvalidOp	Неопределенная операция с плавающей запятой
		EOverflow	Переполнение регистра при операциях с плавающей запятой.
		EUnderflow	Потеря значащих разрядов при выполнении операции с плавающей запятой.
		EZeroDivide	Деление на нуль числа с плавающей запятой.
	EMCIDeviceError	Ошибка доступа к устройствам через драйвер Media Control Interface (MCI).
	EMenuError	Ошибка, связанная с элементами меню.
	EOleCtrlError	Генерируется при невозможности связать приложение с компонентом ActiveX.
	EOleError	Низкоуровневая ошибка Ole; Delphi проверяет это исключение, но не генерирует его
		EOleSysError	Ошибка OLE, специфическая для интерфейса OLE IDispatch; свойство ErrorCode содержит номер ошибки.
			EOleException	Ошибка OLE, связанная с методом или свойством
	EOutlineError	Ошибка при работе с компонентом TOutline
	EOutOfMemory	Неудачная попытка распределить память
		EOutOfResources	Генерируется при попытке приложения создать обработчик Windows, когда Windows не имеет места для размещения дополнительных обработчиков; возможно и при выделении других ресурсов Windows.
	EPackageError	Исключение времени проектирования, генерируемое при загрузке или использовании пакета
	EParserError	Ошибка преобразования текста описания формы в двоичное представление, происходящая обычно из-за синтаксической ошибки исходного текста (часто из-за исправления текста вручную).
	EPrinter	Ошибка печати.
	EPrivilege	Попытка приложения выполнить инструкцию процессора, которая недоступна для текущего уровня привилегий.
	EPropReadOnly	Попытка записать с помощью OLE значение свойства, которое предназначено только для чтения.
	EPropWriteOnly	Попытка прочитать с помощью OLE значение свойства, которое предназначено только для записи.
	EPropertyError	Ошибка при задании значения свойства
	ERegistryException	Ошибка при обращении к реестру.
	EReportError	Ошибка задания типа сервера, из-за которой компонент TReport не может соединиться с базой данных.
	EResNotFound	Ошибка при загрузке файла ресурсов .DFM или .RES в процессе проектирования.
	EStackOverflow	Переполнение стека.
	EStreamError	Базовый класс исключений ошибок потоков.
		EFCreateError	Ошибка создания файла.
		EFOpenError	Ошибка открытия файла.
		EFilerError	Базовый класс исключений файловых потоков
			EReadError	Невозможно прочесть заданное число байтов
			EWriteError	Невозможно записать заданное число байтов
			EClassNotFound	Компонент не связан с приложением
			EInvalidImage	Невозможно прочесть файл ресурсов
			EMethodNotFound	Невозможно найти реализацию метода
	EStringListError	Ошибочный доступ к окну списка с неверным индексом.
	EThread	Конфликт в много нитевом приложении (например, вызов метода Synchronize объекта TThread до успешного завершения его предыдущего вызова).
	ETreeViewError	Ошибка индекса при работе с компонентом TTreeView.
	EunsupportedTypeError	Ошибка выбора типа поля в качестве размерности куба решений.
	EvariantError	Ошибка, связанная с типом данных variant
	Ewin32Error	Ошибка Windows.


CreateFmt - конструктор исключений

Прототип     Пример

Создает экземпляр исключения со строкой форматированного сообщения

Объявлен в базовом классе всех исключений Exception.

Описание

Создает экземпляр исключения любого класса. Устанавливает его свойство Message путем форматирования с помощью строки описания формата Msg списка аргументов Args, заданного как открытый массив. При этой установке используется обращение к функции Format с теми же аргументами Msg и Args. Строка в свойстве Message будет отображаться в окне сообщений при стандартной обработке исключения. Устанавливает свойство  исключения в нуль.


Пример

raise MyEx.Create('Задано %d параметров из %d', [N1, N2]);


Прототип

constructor CreateFmt (const Msg: string; const Args: array of const)


CreateFmtHelp - конструктор исключений

Прототип     Пример

Создает экземпляр исключения со строкой форматированного сообщения и идентификатором контекстно-зависимой справки

Объявлен в базовом классе всех исключений Exception.

Описание

Создает экземпляр исключения любого класса. Устанавливает его свойство Message путем форматирования с помощью строки описания формата Msg списка аргументов Args, заданного как открытый массив. При этой установке используется обращение к функции Format с теми же аргументами Msg и Args. Строка в свойстве Message будет отображаться в окне сообщений при стандартной обработке исключения. Устанавливает свойство HelpContext исключения равным целому параметру AHelpContext, определяющему идентификатор контекстно-зависимой справки  данного исключения. Эта справка будет показана пользователю, если он, находясь в диалоговом окне с сообщением об ошибке нажмет клавишу F1.


Пример

raise MyEx.CreateFmtHelp('Задано только %d параметров', [N],
                           10);


CreateHelp - конструктор исключений

Прототип     Пример

Создает экземпляр исключения с простой строкой сообщения и идентификатором контекстно-зависимой справки

Объявлен в базовом классе всех исключений Exception.

Описание

Создает экземпляр исключения любого класса. Устанавливает его свойство Message равным параметру Msg. Msg может быть литеральной константой, выражением типы строки или функцией, возвращающей строку. Строка в свойстве Message будет отображаться в окне сообщений при стандартной обработке исключения. Устанавливает свойство HelpContext исключения равным целому параметру AHelpContext, определяющему идентификатор контекстно-зависимой справки  данного исключения. Эта справка будет показана пользователю, если он, находясь в диалоговом окне с сообщением об ошибке нажмет клавишу F1.


Прототип

constructor CreateHelp (const Msg: string;
                        AHelpContext: Integer);


Пример

raise MyEx.CreateHelp('Ошибка параметров', 10);


CreateRes - конструктор исключений

Прототип     Пример

Создает экземпляр исключения со строкой сообщения из ресурсов

Объявлен в базовом классе всех исключений Exception.

Создает экземпляр исключения любого класса. Устанавливает его свойство Message путем загрузки из ресурсов строки с идентификатором Ident. Строка в свойстве Message будет отображаться в окне сообщений при стандартной обработке исключения. Устанавливает свойство HelpContext исключения в нуль.

Целый параметр Ident является идентификатором строки в ресурсах проекта. Во время проектирования ресурсы хранятся в отдельном файле с расширением .RES но при компиляции ресурсы включаются в выполняемый файл. Идентификатор строки вы можете взять из текстового файла .DRC, который создается, если вы компилировали свое приложение с ключом -gd в командной строке или при включенной опции Detailed Map File на странице Linker опций проекта. В создающемся при этом файле <имя проекта>.DRC имеется таблица всех строк файла ресурсов, а в операторах #define указаны идентификаторы (номера) строк.

Если указан несуществующий идентификатор Ident, CreateRes создает пустую строку сообщения.


Прототип

constructor CreateRes (Ident: Integer);


Пример

raise MyEx. CreateRes(65369);


CreateResFmt - конструктор исключений

Прототип     Пример

Создает экземпляр исключения с форматированным сообщением с помощью строки форматирования из ресурсов

Объявлен в базовом классе всех исключений Exception.

Описание

Создает экземпляр исключения любого класса. Устанавливает его свойство Message путем загрузки из ресурсов строки описания формата и применения ее к списку аргументов Args, заданному как открытый массив. При этой установке используется обращение к функции Format с теми же аргументами Msg и Args. Строка в свойстве Message будет отображаться в окне сообщений при стандартной обработке исключения. Устанавливает свойство HelpContext исключения в нуль.

Целый параметр Ident является идентификатором строки описания формата в ресурсах проекта. Во время проектирования ресурсы хранятся в отдельном файле с расширением .RES, но при компиляции ресурсы включаются в выполняемый файл. Идентификатор строки вы можете взять из текстового файла .DRC, который создается, если вы компилировали свое приложение с ключом -gd в командной строке или при включенной опции Detailed Map File на странице Linker опций проекта. В создающемся при этом файле <имя проекта>.DRC имеется таблица всех строк файла ресурсов, а в операторах #define указаны идентификаторы (номера) строк.

Если указан несуществующий идентификатор Ident, CreateResFmt создает пустую строку сообщения.


Прототип

constructor CreateResFmt(Ident: Integer; const Args: array of const);


Пример

raise MyEx.Create(65369, [7, 25.1]);


CreateResFmtHelp - конструктор исключений

Прототип     Пример

Создает экземпляр исключения с контекстно-зависимой справкой и сообщением, форматированным с помощью строки из ресурсов

Объявлен в базовом классе всех исключений Exception.

Описание

Создает экземпляр исключения любого класса. Устанавливает его свойство Message путем загрузки из ресурсов строки описания формата и применения ее к списку аргументов Args, заданному как открытый массив. При этой установке используется обращение к функции Format с теми же аргументами Msg и Args. Строка в свойстве Message будет отображаться в окне сообщений при стандартной обработке исключения. Устанавливает свойство HelpContext исключения равным целому параметру AHelpContext, определяющему идентификатор контекстно-зависимой справки  данного исключения. Эта справка будет показана пользователю, если он, находясь в диалоговом окне с сообщением об ошибке нажмет клавишу F1.

Целый параметр Ident является идентификатором строки описания формата в ресурсах проекта. Во время проектирования ресурсы хранятся в отдельном файле с расширением .RES, но при компиляции ресурсы включаются в выполняемый файл. Идентификатор строки вы можете взять из текстового файла .DRC, который создается, если вы компилировали свое приложение с ключом -gd в командной строке или при включенной опции Detailed Map File на странице Linker опций проекта. В создающемся при этом файле <имя проекта>.DRC имеется таблица всех строк файла ресурсов, а в операторах #define указаны идентификаторы (номера) строк.

Если указан несуществующий идентификатор Ident, CreateResFmtHelp создает пустую строку сообщения.


Прототип

constructor CreateResFmtHelp(Ident: Integer;
                             const Args: array of const;
                             AHelpContext: Integer);


Пример

raise MyEx.CreateResFmtHelp(65369, [7, 25.1], 10);


CreateResHelp - конструктор исключений

Прототип     Пример

Создает экземпляр исключения со строкой сообщения из ресурсов и с контекстно-зависимой справкой

Объявлен в базовом классе всех исключений Exception.

Описание

Создает экземпляр исключения любого класса. Устанавливает его свойство Message путем загрузки из ресурсов строки с идентификатором Ident. Строка в свойстве Message будет отображаться в окне сообщений при стандартной обработке исключения. Устанавливает свойство HelpContext исключения равным целому параметру AHelpContext, определяющему идентификатор контекстно-зависимой справки  данного исключения. Эта справка будет показана пользователю, если он, находясь в диалоговом окне с сообщением об ошибке нажмет клавишу F1.

Целый параметр Ident является идентификатором строки в ресурсах проекта. Во время проектирования ресурсы хранятся в отдельном файле с расширением .RES, но при компиляции ресурсы включаются в выполняемый файл. Идентификатор строки вы можете взять из текстового файла .DRC, который создается, если вы компилировали свое приложение с ключом -gd в командной строке или при включенной опции Detailed Map File на странице Linker опций проекта. В создающемся при этом файле <имя проекта>.DRC имеется таблица всех строк файла ресурсов, а в операторах #define указаны идентификаторы (номера) строк.

Если указан несуществующий идентификатор Ident, CreateResHelp создает пустую строку сообщения.


constructor CreateResHelp(Ident: Integer;
                          AHelpContext: Integer);


raise MyEx.CreateResHelp(65369, [7, 25.1], 10);


Create - конструктор исключений

Прототип     Пример

Создает экземпляр исключения со строкой простого сообщения

Объявлен в базовом классе всех исключений Exception.

Описание

Создает экземпляр исключения любого класса. Устанавливает его свойство Message равным передаваемой в качестве аргумента строке Msg. Эта строка будет отображаться в окне сообщений при стандартной обработке исключения. Устанавливает свойство HelpContext исключения в нуль.

В качестве аргумента Msg может фигурировать литеральная константа, переменная типа string или вызов функции, возвращающей строку.


raise EZeroDivide.Create('Деление на нуль');

raise MyEx.Create(s); 	{подразумевается, что s - переменная типа string}

raise MyEx.Create(Format('Задано %d параметров из %d', [N1, N2]));


constructor Create (const Msg: string);


Add - метод TList и TStrings
Add - добавление нового элемента в список

Примеры

Функция добавляет новый элемент в список

Применяется

К классам TList, TStringList, TStrings

Прототипы

Для TList:

function Add(Item: Pointer): Integer;

для TStringList:

function Add(const S: string): Integer; override;

для TStrings:

function Add(const S: string): Integer; virtual;

Описание

Функция Add добавляет новый элемент в список. Если список не сортированный, то элемент добавляется в конец списка. Если же список сортированный, то новый элемент добавляется в позицию, которая определяется сортировкой. Функция возвращает индекс добавленного элемента (индекс первого элемента - 0). Увеличивает значение свойства Count на 1. Если значение Count равно значению Capacity (емкости массива), то увеличивается значение Capacity (с запасом) и перераспределяется память под новые элементы.

Для отсортированного списка TStringList при выполнении Add генерируется исключение EListError, если строка S уже имеется в списке и свойство Duplicates установлено в dupError.


Пример метода Add, Create
Пример методов Add, Create

1. var
  List1: TList;
  Object1: TObject;
........
List1 := TList.Create;
Object1 := TObject.Create;
List1.Add(Object1);

2. var TL : TStringList;
      i : integer;

........
TL := TStringList.Create;

TL.Sorted := true;         {Список сортированный}

TL.Duplicates := dupError; {Запрет дубликатов}

TL.Add('Петров');

i:=TL.Add('Иванов');       {i=0, т.к. список сортированный}

TL.Add('Иванов');          {Исключение из-за дубликата}

Оператор

i:=TL.Add('Иванов');

присваивает переменной i значение 0, поскольку список сортированный и фамилия 'Иванов' должна размещаться первой, раньше фамилии 'Петров'. Добавление в сортированный список дубликата вызывает генерацию исключения и сообщение: "String list does not allow dublicates".


AfterConstruction - метод TObject
AfterConstruction - метод класса TObject

Вызывается автоматически после создания объекта

Класс TObject

Определение

procedure AfterConstruction; virtual;

Описание

Метод AfterConstruction вызывается автоматически после создания объекта. В формах он генерирует событие OnCreate.Явным образом метод вызывать не следует.


BeforeDestruction - метод TObject
BeforeDestruction - метод класса TObject

Вызывается автоматически перед срабатыванием деструктора

Класс TObject

Определение

procedure BeforeDestruction; virtual;

Описание

Метод BeforeDestruction вызывается автоматически перед срабатыванием деструктора объекта. В формах он генерирует событие OnDestroy.Явным образом метод вызывать не следует.


ClassName - метод TObject
ClassName - метод класса TObject

Пример

Возвращает имя типа объекта.

Класс TObject

Определение

class function ClassName: ShortString;

Описание

Метод ClassName возвращает имя действительного типа объекта. Например, переменная типа класса-предка может ссылаться на экземпляр любого типа-потомка. В этом случае ClassName возвращает имя реального типа объекта, а не того, которое было объявлено для этой ссылки.


Пример метода ClassName

Например, оператор

on e:Exception do
       ShowMessage('Возникло исключение '+E.ClassName);

перехватит все исключения и отобразит сообщение с именем действительно сгенерированного исключения. Впрочем, в данной ситуации лучше применить оператор

on e:Exception do
       ShowMessage('Возникло исключение '+E.Message);

который сообщит пользователю не класс исключения, а сообщение этого класса.


CanFocus - метод TWinControl

Определяет, может ли компонент получать сообщения пользователя

Класс TWinControl

Прототип

function CanFocus: Boolean;

Описание

Метод CanFocus определяет, может ли компонент получать сообщения пользователя, т.е. может ли он получать фокус. Функция возвращает true, если у компонента и всех его родителей свойства Visible и Enabled установлены в true. В противном случае возвращается false.

Определяет возможность редактирования набора данных


Assign - метод копирования объектов

Пример

Копирует один объект в другой, создавая копию всех данных объекта

Класс TPersistent

Определение

<объект-назначение>.Assign(<объект-источник>);

Описание

Метод Assign копирует данные одного объекта в другой. Объявлен в классе TPersistent и перегружен в классах, производных от него. Некоторое число классов Delphi поддерживает присваивание объектов разных типов. Для большинства же классов, производных от TPersistent, применение Assign к несовпадающим типам объектов источника и назначения ведет к генерации исключения EConvertError.

Метод Assign отличается по результатам от операции присваивания

<объект-назначение> := <объект-источник>;

При присваивании указатель на <объект-назначение> начинает указывать на <объект-источник>. А метод Assign создает новую копию объекта. После применения Assign имеется два объекта с одинаковыми данными.

Если объекты разного типа, то при вызове D.Assign(S) тип D должен "знать", как скопировать в него тип S (тип S может ничего не знать о преобразовании типов). Если метод Assign не может осуществить преобразование типов, то он вызывает защищенный метод AssignTo, объявленный в классе TPersistent и перегруженный в классах, производных от него. Вызов имеет вид S.AssignTo(D). Если и метод AssignTo не может осуществить преобразование или если он не перегружен, то вызывается AssignTo класса TPersistent и генерируется исключение.


Примеры применения метода Assign

1. На форме имеется компонент FontDiaolg1, позволяющий пользователю выбрать вид шрифта для изображения надписей на форме. Тогда обработчик соответствующего события в разделе меню может иметь вид:

if(FontDialog1.Execute)
  then Font.Assign(FontDialog1.Font);

2. В программе объявлено и заполнено два списка SL1 и SL2 типа TStringList. На форме имеется компонент ComboBox1, в котором надо отображать один из списков SL1 или SL2 в зависимости от того, какая кнопка с флажком нажата в группе радиокнопок RadioGroup1. Тогда в событие OnClick этой группы радиокнопок надо вставить обработчик, показанный ниже. Последний оператор ComboBox1.ItemIndex:=0; необходим, чтобы изменение списка сразу отобразилось на экране.

var SL1,SL2:TStringList;
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  if RadioGroup1.ItemIndex=0
    then ComboBox1.Items.Assign(SL1)
    else ComboBox1.Items.Assign(SL2);
  ComboBox1.ItemIndex:=0;
end;

1. 	Метод Assign позволяет проводить обмен данными между совершенно разнородными компонентами, например, компонентом буфера обмена TClipboard и графическим объектом TBitmap. Записать изображение в буфер можно оператором

Clipboard.Assign(Bitmap);

а прочесть из него изображение можно оператором

Bitmap.Assign(Clipboard);


AssignTo - метод
AssignTo - метод копирования объектов

Определение

Копирует один объект в другой, создавая копию всех данных объекта, является защищенным вариантом метода Assign

Пояснения см. в разделе Assign.


procedure AssignTo(Dest: TPersistent); virtual;


BeginDrag - метод TControl
BeginDrag - метод

Начало процесса перетаскивания компонента

Класс TControl

Прототип

procedure BeginDrag(Immediate: Boolean);

Описание

Метод BeginDrag вызывается, когда начинается процесс перетаскивания  (dragging) компонента. Его необходимо вызывать только если значение свойства DragMode компонента равно dmManual. В противном случае процесс перетаскивания производится автоматически.

Вызов метода BeginDrag целесообразно вставлять в обработчик события OnMouseDown. Параметр Immediate (немедленно) определяет, сразу ли после нажатия кнопки мыши ее указатель изменит вид на тот, который задан свойством DragCursor, и сразу ли начнется процесс перетаскивания. Если параметр Immediate задан равным False, то указатель мыши не изменяет свой вид и процесс перетаскивания не начинается, пока пользователь не сместит указатель на небольшое расстояние в 5 пикселей. Это позволяет компоненту воспринимать щелчок мыши, не начиная операцию перетаскивания.

Пример применения метода см. в разделе OnDragDrop.


BringToFront - метод TControl
BringToFront - метод

Пример

Перенос компонента наверх в Z-последовательности

Класс TControl

Прототип

procedure BringToFront;

Описание

Метод BringToFront позволяет изменять последовательность перекрытия компонентов на форме и тем самым управлять видимостью компонентов.

Перекрывающиеся компоненты на форме размещаются поверх друг друга в последовательности (называемой Z-последовательностью), соответствующей порядку размещения компонентов в процессе проектирования. Например, если вы поместили в одно и то же место формы две кнопки одинаковых размеров, то видна будет только вторая из размещенных кнопок, поскольку она расположена в Z-последовательности выше. Применение во время выполнения приложения метода BringToFront к нижней кнопке переместит ее наверх в Z-последовательности и она станет видна пользователю.

Это справедливо по отношению к не оконным объектам, таким, как кнопки, метки, изображения и т.д., а также и к оконным компонентам, таким, как TMemo, TComboBox и др. Но все не оконные компоненты всегда расположены в Z-последовательности ниже оконных и метод BringToFront не может изменить это правило. Например, попытка перенести наверх методом BringToFront метку, размещенную под оконным компонентом, ни к чему не приведет.


Пример методов BringToFront, BoundsRect, SendToBack, компонентa TButton, события OnCreate

1. Пусть вы хотите, чтобы в каком-то месте формы размещалась кнопка, которая в зависимости от текущего режима работы имела бы два различных набора свойств и выполняла бы различные функции. Вы можете разместить в нужном месте две кнопки друг на друге (пусть они имеют имена Button1 и Button2), задать каждой нужные свойства и для каждой описать соответствующие обработчики событий. Тогда для смены этих кнопок вы в соответствующих местах кода программы пишете операторы

Button1.BringToFront

или

Button2.BringToFront

и пользователь будет видеть то одну, то другую из этих кнопок.

2. Пусть в приложении в одном и том же месте формы друг на друге расположены две панели: Panel1 и на ней Panel2, содержащие какие-то управляющие компоненты для разных режимов работы. Panel2 расположена на Panel1, которая является, таким образом, ее родителем. В обработчик события формы OnCreate можно вставить операторы:

Panel2.Parent := Form1;

Panel2.BoundsRect := Panel1.BoundsRect;

Panel1.BringToFront;

Первый оператор делает родительским компонентом панели Panel2 форму Form1. Второй оператор задает панели Panel2 то же местоположение и размеры, которые имеет панель Panel1. Последнее необходимо, поскольку при проектировании ее координаты соответствовали координатному пространству контейнера - клиентской области панели Panel1. А теперь ее родитель сменился на форму, и надо ее расположить в том же месте формы, в котором расположена Panel1. Третий оператор перемещает наверх форму Panel1.

Приведенный код можно сократить, и убрать из него первый оператор, если в процессе проектирования размещать панель Panel2 не на панели Panel1, а в каком-то другом месте непосредственно на форме. Тогда в обработчике события формы OnCreate достаточно двух операторов:

Panel2.BoundsRect := Panel1.BoundsRect;

Panel1.BringToFront;

изменяющих положение Panel2 и перемещающих наверх форму Panel1.

В результате работы приведенных операторов в момент создания формы на ней будет видна панель Panel1. В момент, когда ее надо заменить на Panel2, можно выполнить оператор:

Panel2.BringToFront;

выносящий наверх вторую панель. Когда надо вернуть на экран изображение Panel1, можно выполнить операторы:

Panel1.BringToFront;

Аналогичный пример приведен в разделе Visible, но использование метода BringToFront делает его более компактным.

Вместо метода BringToFront, применяемому к нижнему компоненту, можно применять метод SendToBack, но к верхнему компоненту.


ChangeScale - метод TControl
ChangeScale - метод

Изменяет масштаб компонента и его дочерних компонентов

Классы Tcontrol, TCustomForm, TScrollingWinControl, TWinControl

Прототип

procedure ChangeScale(M, D: Integer); dynamic;

Описание

Метод ChangeScale используется для изменения масштаба компонента. Масштабируются такие свойства компонента, как Top и Left, определяющие его местоположение, а также Width и Height, определяющие его размер. В классах, производных от TControl, в частности, в TWinControl, масштабируются также все компоненты, принадлежащие форме, и их шрифты.

Параметры M and D определяют соответственно множитель и делитель масштаба. Например, чтобы уменьшить размеры до 75% начального значения, можно задать M равным 75, а D равным 100 (75/100). То же самое можно сделать, задав M=3 и D=4 (3/4). Если вы хотите увеличить размер на 1/3, то можно задать M=133 и D=100 (133/100) или M=4 и D=3 (4/3).


Clear - метод
Clear - метод очистки

Очистка списков

Применяется

К объектам типов:

TClipboard, Tlist, TStringList, Tstrings

к компонентам:

TComboBox, TDBCombobox, TDBEdit, TDBListBox, TDBMemo, TDirectoryListBox, TDriveComboBox, Tedit, TFileListBox, TListBox, TMaskEdit, Tmemo, Toutline и ряду других.

Определение

procedure Clear;

Описание

Для перечисленных выше объектов и компонентов процедура Clear удаляет все элементы списков или весь текст. Для некоторых других объектов аналогичная процедура действует несколько иначе.

Для объекта Clipboard процедура Clear удаляет все содержимое буфера Clipboard. Впрочем, то же самое происходит автоматически при каждом обновлении содержимого буфера (при выполнении операций вырезать и копировать - cut и copy).


ClientToScreen - метод TControl
ClientToScreen - метод

Пример

Преобразует координаты клиентской области в координаты экрана

Класс TControl

Определение

TPoint = record

  X: Longint;

  Y: Longint;

end;

function ClientToScreen(const Point: TPoint): TPoint;

Описание

Метод ClientToScreen преобразует координаты точки в системе координат клиентской области компонента (начало координат - левый верхний угол клиентской области) в систему координат экрана (начало координат - левый верхний угол экрана).

Совместно с обратной функцией ScreenToClient метод может использоваться для пересчета координат точки экрана из системы координат клиентской области одного компонента в систему координат клиентской области другого компонента.


Пример метода ClientToScreen

P := Comp2.ScreenToClient(Comp1.ClientToScreen(P));

Оператор пересчитывает координату точки P из системы координат компонента Comp1 в систему координат компонента Comp2.


ContainsControl - метод TWinControl
ContainsControl - метод

Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента

Класс TWinControl

Прототип

function ContainsControl(Control: TControl): Boolean;

Описание

Метод ContainsControl позволяет определить, является ли компонент, указанный параметром Control, наследником данного оконного компонента. Метод возвращает true не только, если в свойстве Controls компонента Control указан в качестве родителя данный компонент, но и если он является прямым или косвенным потомком какого-то из дочерних компонентов данного оконного компонента.


ControlAtPos - метод TWinControl
ControlAtPos - метод

Определяет, какой дочерний компонент имеется в указанной позиции

Класс TWinControl

Прототип

TPoint = record

  X: Longint;

  Y: Longint;

end;

function ControlAtPos(const Pos: TPoint;
                      AllowDisabled: Boolean): TControl;

Описание

Метод ControlAtPos позволяет определить, какой дочерний компонент данного оконного элемента имеется в позиции с координатами, указанными параметром Pos. Возвращается только непосредственный дочерний компонент, т.е. такой, в чьем свойстве Parent указан данный оконный элемент и который поэтому входит в список дочерних компонентов, содержащийся в свойстве Controls оконного элемента.

Позиция Pos может находиться в любом месте внутри дочернего компонента. Если заданная позиция не соответствует никакому дочернему компоненту, то функция ControlAtPos возвращает nil.

Параметр AllowDisabled определяет, учитываются ли при поиске компоненты, которые находятся в недоступном состоянии.


Delete - метод TMenuItem
Delete - метод для списков и компонента TMenuItem

Примеры

Удаление элемента с указанным индексом из списка

Применяется

К объектам типов

TList,

TStringList,

TStrings

и к компоненту типа TMenuItem

Объявление

procedure Delete(Index: Integer);

Описание

Процедура Delete удаляет из списка элемент с указанным индексом. Во всех случаях индексы считаются, начиная с 0 (0 - индекс первого элемента).

Из списка строк строка удаляется вместе со ссылкой на связанный с ней объект.

Удаление элемента меню ведет к удалению и связанного с ним подменю (если таковое имеется.

После удаления элемента список перестраивается TList. Это надо учитывать при удалении элементов в цикле, как указано в приведенном примере.


Пример метода Delete

for I := 0 to 1 do

  List.Delete(0);

В этом примере удаляются два первых элемента списка List. Неверно было бы написать:

for I := 0 to 1 do

  List.Delete(I);

Так как после первого удаления список перестроится, то элементом с индексом 1 станет тот, который ранее имел индекс 2. Таким образом, в результате оказались бы удаленными элементы, имевшие в первоначальном списке индексы 0 и 2.


DisableAlign - метод TWinControl
DisableAlign - метод

Пример

Временно запрещает выравнивание дочерних компонентов

Класс TWinControl

Определение

procedure DisableAlign;

Описание

Свойство DisableAlign временно запрещает выравнивание дочерних компонентов внутри оконного элемента. Метод применяются совместно с методом EnableAlign, отменяющим действие DisableAlign и разрешающим выравнивание.

Эти методы целесообразно использовать, если проводится перестроение ряда дочерних компонентов, например, при чтении их из файла формы, при масштабировании, при изменении взаимного расположения.

Каждому вызову DisableAlign должен соответствовать вызов EnableAlign. Очередной вызов DisableAlign увеличивает на единицу число запретов выравнивания, а вызов EnableAlign уменьшает это число. Как только при очередном вызове EnableAlign число запретов станет равным нулю, произойдет выравнивание. Это производится вызовом метода Realign.

Впрочем, надо иметь в виду, что при изменении свойства Align дочерних компонентов после выполнения метода DisableAlign некоторые изменения размеров компонентов все равно происходят, хотя выравнивание не производится.


Пример методов DisableAlign, EnableAlign

Form1.DisableAlign;

  <операторы перестроения дочерних компонентов>

Form1.EnableAlign;


Error - метод TList
Error - метод класса TList для генерации исключения EListError

Пример

Генерирует исключение EListError при работе с объектом типа TList

Класс TList

Определение

class procedure Error(const Msg: string, Data: Integer); virtual;

Описание

Вызывайте процедуру Error для генерации исключения EListError при работе с объектом типа TList. Процедура форматирует параметр Data с помощью строки форматирования, передаваемой как параметр Msg,  после чего генерируется исключение EListError. Вызов процедуры Error порождает более компактный код, чем эквивалентная ему прямая генерация исключения с помощью ключевого слова raise:

raise EListError.CreateFmt(MyMsg, iBadValue);


Пример метода Error

List.Error('Ошибка в элементе %u списка List', I);


FindNextControl - метод TWinControl
FindNextControl - метод

Примеры

Возвращает следующий в последовательности табуляции оконный дочерний компонент

Класс TWinControl

Определение

function FindNextControl(CurControl: TWinControl;
       GoForward, CheckTabStop, CheckParent: Boolean)
       : TWinControl;

Описание

Метод FindNextControl находит и возвращает следующий за указанным в параметре CurControl дочерний оконный компонент в соответствии с последовательностью табуляции. Если CurControl не является дочерним компонентом данного оконного элемента, то возвращается компонент, первый в последовательности табуляции. То же самое происходит, если CurControl является последним компонентом в последовательности табуляции.

Параметр GoForward определяет направление поиска. Если он равен true, то поиск проводится вперед и возвращается компонент, последующий за CurControl. Если же параметр GoForward равен false, то возвращается предшествующий компонент.

Параметры CheckTabStop и CheckParent определяют условия поиска. Если CheckTabStop равен true, то просматриваются только компоненты, в которых свойство TabStop установлено в true. При CheckTabStop равном false значение TabStop не принимается во внимание. Если параметр CheckParent равен true, то просматриваются только компоненты, в свойстве Parent которых указан данный оконный элемент, т.е. просматриваются только прямые потомки. Если CheckParent равен false, то просматриваются все, даже косвенные потомки данного элемента.

Метод FindNextControl вызывает метод GetTabOrderList и  из полученного таким способом списка черпает последовательность компонентов.


Пример метода FindNextControl

var obj:TWinControl;

......

obj := Form1.FindNextControl(obj,true, true, true);

В этом примере переменная obj поочередно принимает значение всех прямых наследников формы Form1, включенных в последовательность табуляции, т.е. имеющих свойство TabStop равным true. Например, в эту последовательность войдут окна редактирования, кнопки, панели, расположенные непосредственно на форме и имеющие TabStop равным true, но не войдут кнопки и окна редактирования, расположенные на панелях.

Если в приведенном операторе изменить параметр CheckParent на false:

obj := Form1.FindNextControl(obj,true, true, false);

то в последовательность войдут и непрямые наследники, имеющие TabStop равным true, в частности, компоненты, содержащиеся в панелях, расположенных на форме, причем независимо от значения TabStop этих панелей.

Если в приведенном операторе изменить параметр CheckTabStop на false:

obj := Form1.FindNextControl(obj,true, false, false);

то в последовательность войдут компоненты, независимо от значения их свойства TabStop.


Focused - метод TWinControl
Focused - метод

Определяет, находится ли оконный элемент в фокусе

Класс TWinControl

Определение

function Focused: Boolean;

Описание

  Метод Focused определяет, является ли оконный элемент активным, т.е. находится ли он в фокусе. Возвращает true, если элемент находится в фокусе, и false - если элемент не в фокусе и пользователь в данный момент не может с ним взаимодействовать.


GetTabOrderList - метод TWinControl
GetTabOrderList - метод

Примеры

Строит список дочерних оконных компонентов в последовательности табуляции

Класс TWinControl

Определение

procedure GetTabOrderList(List: TList);

Описание

Метод GetTabOrderList строит список типа TList дочерних оконных компонентов в последовательности табуляции. В список входят не только непосредственные потомки данного элемента, но и косвенные потомки, включенные в дочерние контейнеры. При этом не обращается внимание на значение свойства TabStop включаемых компонентов.

Метод GetTabOrderList вызывается методом FindNextControl, определяющим последующий или предшествующий компонент в списке табуляции.


Пример метода GetTabOrderList

Приведенные ниже операторы опбеспечивают поочередный доступ ко всем дочерним оконным компонентам в последовательности табуляции.

var obj:TWinControl;

    List:TList;

    i:integer;

...

List := TList.Create;

...

GetTabOrderList(List);

for i := 0 to List.Count - 1 do

  begin

    obj := List.Items[i]; {Поочередный доступ к объектам}

    ...

  end;


HandleAllocated - метод TWinControl
HandleAllocated - метод

Проверяет наличие дескриптора окна компонента

Класс TWinControl

Определение

function HandleAllocated: Boolean;

Описание

Метод HandleAllocated используется для определения, имеется ли дескриптор окна у данного элемента. Если дескриптор имеется, то возвращается true.

Непосредственная проверка свойства Handle приводит к тому, что даже если дескриптора не было, он создается. Применение HandleAllocated позволяет определить наличие дескриптора без этого побочного эффекта.


HandleNeeded - метод TWinControl
HandleNeeded - метод

Создает дескриптор окна, если до этого он не существовал

Класс TWinControl

Определение

procedure HandleNeeded;

Описание

Метод HandleNeeded создает дескриптор окна, если до этого его не было. При создании дескриптора он прежде всего вызывает метод CreateHandle родительского элемента, а уже затем создает дескриптор данного элемента.


Hide - метод TControl
Hide - метод

Делает компонент невидимым

Класс TControl

Определение

procedure Hide;

Описание

Метод Hide делает компонент невидимым, задавая значение False его свойству Visible. Если компонент является контейнером для других компонентов, то эти дочерние компоненты также делаются невидимыми.

Хотя компонент становится невидимым, его свойства и методы остаются доступными.


Invalidate - метод TControl
Invalidate - метод

Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows

Класс TControl

Определение

procedure Invalidate; virtual;

Описание

Метод Invalidate надо вызывать, когда требуется полностью перерисовать компонент. Если более одной области компонента требует перерисовки, вызов метода Invalidate приводит к его полной перерисовке, что позволяет избежать мерцания изображения. Многократный вызов Invalidate до действительной перерисовки компонента не приводит к потере эффективности работы.


OpenBit - метод
OpenBit - метод класса TBits

Примеры

Возвращает индекс первого элемента массива класса TBits, имеющего значение False.

Класс TBits

Определение

function OpenBit: Integer;

Описание

Функция OpenBit возвращает индекс первого элемента массива булевых значений класса TBits, имеющего значение False.


Пример метода OpenBit

 var ABit : TBits;
    i : integer;
............
  ABit := TBits.Create; {Создание экземпляра массива}
  ABit.Size := 3;       {Задание размера}
  ..............

  ABit.Bits[0] := true; {Установка значения первого элемента}

  i := ABit.OpenBit;    {Возвращает 1 - индекс первого не
                         установленного элемента}


Refresh - метод TControl
Refresh - метод

Перерисовывает изображение компонента на экране

Класс TControl

Определение

procedure Refresh;

Описание

Метод Refresh приводит к немедленной перерисовке изображения на экране. Refresh вызывает метод Repaint. Методы Refresh и Repaint взаимозаменяемы.


Repaint - метод TControl
Repaint - метод

Перерисовывает изображение компонента на экране

Класс TControl

Определение

procedure Repaint;

Описание

Вызов метода Repaint приводит к немедленной перерисовке изображения на экране. Если свойство ControlStyle компонента  включает csOpaque, компонент перерисовывает себя сам. В противном случае Repaint вызывает метод Invalidate, а затем метод Update.


ScaleBy - метод TWinControl
ScaleBy - метод

Примеры

Масштабирует оконный элемент и все содержащиеся в нем компоненты

Класс TWinControl

Определение

procedure ScaleBy(M, D: Integer);

Описание

Метод ScaleBy масштабирует оконный элемент и все содержащиеся в нем компоненты. Масштабируются такие свойства компонента, как Width и Height, определяющие его размер. Свойства Top и Left остаются неизменными. Масштабируется также размер шрифта, если только в компоненте не установлено ParentFon = true. В последнем случае шрифт наследуется от родительского компонента и поэтому не изменяется.

Если компонент является контейнером, содержащим другие компоненты, то эти дочерние компоненты также масштабируются. Причем у них изменяются не только Width и Height, но также пропорционально изменяются Top и Left, определяющие их местоположение. Если во всех дочерних компонентах установлено ParentFon = true, а в компоненте-контейнере ParentFon = false, то пропорционально изменяются и шрифты всех компонентов (но, конечно, не непрерывно, а скачками, доступными тому или иному типу шрифта).

Параметры M and D определяют соответственно множитель и делитель масштаба. Например, чтобы уменьшить размеры на 10% начального значения, можно задать M равным 9, а D равным 10 (9/10). Если же вы хотите увеличить размер на 1/3, то можно задать M=133 и D=100 (133/100) или M=4 и D=3 (4/3).


Пример метода ScaleBy

1. Оператор

Edit1.ScaleBy(11,10);

масштабирует окно редактирования Edit1. В любом случае при выполнении этого оператора увеличивается на 10% длина окна (свойство Width), что обеспечивает возможность наблюдать и редактировать в нем более длинный текст. Высота окна (свойство Height) будет изменяться пропорционально, если свойство компонента AutoSize равно false. В противном случае высота определяется только размером шрифта и при постоянном шрифте будет неизменной. А размер шрифта будет меняться, только если свойство компонента ParentFont равно false, т.к. иначе шрифт определяется родительским компонентом.

2. Приведенный ниже обработчик события OnKeyUp окна редактирования Edit1 дает пользователю возможность менять длину окна. При нажатии комбинаций клавиш Alt+U и Alt+D, пользователь увеличивает или уменьшает длину окна.

procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;

                            Shift: TShiftState);

begin

  if (Key = ord('U')) and (ssAlt in Shift) then

    Edit1.ScaleBy(11,10){Edit1.Width := 11*Edit1.Width div 10}

  else if (Key = ord('D')) and (ssAlt in Shift) then

    Edit1.ScaleBy(10,11)

end;

Когда Edit1 находится в фокусе, при нажатии пользователем клавиши Alt и клавиши U (в любом регистре и независимо от переключения на латинский или русский язык) длина окна редактирования увеличится на 10%, а при нажатии Alt и D соответственно уменьшится.


ScaleControls - метод TWinControl
ScaleControls - метод

Масштабирует дочерние компоненты оконного элемента, не изменяя масштаба самого элемента

Класс TWinControl

Определение

procedure ScaleControls(M, D: Integer);

Описание

Метод ScaleControls масштабирует все компоненты, содержащиеся в оконном элементе, не изменяя масштаба самого элемента. Метод ScaleControls вызывает метод ChangeScale для каждого дочернего компонента. Отличается от метода ScaleBy только тем, что не изменяет масштаба самого элемента.

Параметры M and D определяют соответственно множитель и делитель масштаба. Например, чтобы уменьшить размеры на 10% начального значения, можно задать M равным 9, а D равным 10 (9/10). Если же вы хотите увеличить размер на 1/3, то можно задать M=133 и D=100 (133/100) или M=4 и D=3 (4/3).

Подробности см. в разделах ChangeScale и ScaleBy.


ScreenToClient - метод TControl
ScreenToClient - метод

Примеры

Преобразует координаты экрана в координаты клиентской области компонента

Класс TControl

Определение

TPoint = record

  X: Longint;

  Y: Longint;

end;

function ScreenToClient(const Point: TPoint): TPoint;

Описание

Метод ScreenToClient преобразует координаты точки в системе координат экрана (начало координат - левый верхний угол экрана) в систему координат клиентской области компонента (начало координат - левый верхний угол клиентской области).

Совместно с обратной функцией ClientToScreen метод может использоваться для пересчета координат точки экрана из системы координат клиентской области одного компонента в систему координат клиентской области другого компонента.


Пример метода ScreenToClient и ClientToScreen

P := Comp2.ScreenToClient(Comp1.ClientToScreen(P));

Оператор пересчитывает координату точки P из системы координат компонента Comp1 в систему координат компонента Comp2.


ScrollBy - метод TWinControl
ScrollBy - метод

Примеры

Сдвигает содержимое оконного элемента

Класс TWinControl

Определение

procedure ScrollBy(DeltaX, DeltaY: Integer);

Описание

Метод ScrollBy сдвигает содержимое оконного элемента, включая все его дочерние компоненты. Метод применим ко всем оконным элементам, но чаще всего используется для наследников класса TScrollingWinControl.

Параметры DeltaX и DeltaY определяют величину сдвига по горизонтали и вертикали соответственно. Положительные значения параметров задают сдвиг вправо и вниз, отрицательные значения - влево и вверх.


Пример метода ScrollBy

Оператор

ScrollBy(1,1);

сдвигает все компоненты на форме на один пиксель вправо и на один вниз.


SelectFirst - метод TWinControl
SelectFirst - метод

Передает фокус дочернему компоненту, первому в последовательности табуляции

Класс TWinControl

Определение

procedure SelectFirst;

Описание

Метод SelectFirst передает фокус дочернему компоненту, первому в последовательности табуляции. Он вызывает метод FindNextControl, передавая ему параметр, равный nil. В результате метод FindNextControl возвращает первый компонент в последовательности табуляции, после чего этот компонент делается активным.


SelectNext - метод TWinControl
SelectNext - метод

Передает фокус дочернему компоненту, следующему в последовательности табуляции за указанным

Класс TWinControl

Определение

procedure SelectNext(CurControl: TWinControl;
                     GoForward, CheckTabStop: Boolean);

Описание

Метод SelectNext передает фокус дочернему компоненту, следующему в последовательности табуляции за тем, который указан параметром CurControl. Параметр GoForward определяет направление поиска: при значении true поиск ведется вперед, при значении false - назад.

Параметр CheckTabStop указывает, должен ли искомый компонент иметь свойство TabStop, равным true. Если значение CheckTabStop равно true, очередной компонент должен иметь значение TabStop, равное true, или поиск прекращается.

Если метод SelectNext не смог найти компонента в соответствии с заданными значениями GoForward и CheckTabStop, то фокус остается на компоненте CurControl.


SendCancelMode - метод TControl
SendCancelMode - метод

Прерывает модальное состояние элемента управления

Класс TControl

Определение

procedure SendCancelMode(Sender: TControl);

Описание

Вызов метода SendCancelMode прерывает модальное состояние элемента управления. Ряд элементов, реализованных в VCL, поддерживают модальное состояние, при котором пользователь должен ответить элементу прежде, чем он сможет общаться с другими объектами формы. Метод SendCancelMode позволяет  завершить модальное состояние без каких-либо действий со стороны пользователя.


SendToBack - метод TControl
SendToBack - метод

Примеры

Переносит компонент ниже других компонентов, занимающих то же место на форме

Класс TControl

Прототип

procedure SendToBack;

Описание

Метод SendToBack позволяет изменять последовательность перекрытия компонентов на форме и тем самым управлять видимостью компонентов.

Перекрывающиеся компоненты на форме размещаются поверх друг друга в последовательности (называемой Z-последовательностью), соответствующей порядку размещения компонентов в процессе проектирования. Например, если вы поместили в одно и то же место формы две кнопки одинаковых размеров, то видна будет только вторая из размещенных кнопок, поскольку она расположена в Z-последовательности выше. Применение во время выполнения приложения метода SendToBack к верхней кнопке переместит ее вниз в Z-последовательности и пользователю станет видна нижняя кнопка.

Если переносимый вниз компонент имел фокус, то он его потеряет при переносе.

Это справедливо по отношению к не оконным объектам, таким, как кнопки, метки, изображения и т.д., а также и к оконным компонентам, таким, как Memo, ComboBox и др. Но все не оконные компоненты всегда расположены в Z-последовательности ниже оконных и метод SendToBack не может изменить это правило. Например, попытка перенести вниз методом SendToBack оконный компонент, под которым размещена метка, ни к чему не приведет.


SetBounds - метод TControl
SetBounds - метод

Устанавливает одновременно свойства Left, Top, Width и Height

Класс TControl

Определение

procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer);
                    virtual;

Описание

Метод SetBounds изменяет одновременно все свойства компонента, определяющие его границу. Тот же эффект может быть достигнут совокупностью операторов изменения Left, Top, Width и Height. То, что метод SetBounds одновременно  задает эти значения не только позволяет получить более компактный код, но и дает возможность избежать перерисовки компонента после изменения каждого параметра.

Значения Left, Top, Width и Height  задаются при вызове SetBounds как соответственно параметры ALeft, ATop, AWidth и AHeight.

Примеры, в которых требуется изменять сразу все эти свойства, см. в разделах Visible и BringToFront.


SetChildOrder - метод TWinControl
SetChildOrder - метод

Примеры

Изменяет позицию компонента в списке дочерних компонентов оконного элемента

Класс TWinControl

Определение

procedure SetChildOrder(Child: TComponent; Order: Integer);
                          override;

Описание

Метод SetChildOrder изменяет положение компонента, заданного параметром Child, в списке дочерних компонентов оконного элемента. Это список свойство Controls оконного элемента.

Параметр Order определяет индекс, присваиваемый компоненту Child (помните, что индексы начинаются с 0). Последовательность индексов остальных компонентов остается неизменной, но сами значения индексов "смыкаются", заполняя прежний индекс изменяемого компонента, и "раздвигаются" освобождая место для его нового индекса.


Пример метода SetChildOrder

Если, например, компонент Edit2 был в списке Controls вторым (т.е. имел индекс 1), то после выполнения оператора

SetChildOrder(Edit2,3);

Элемент с индексом 0 сохранит свой индекс, элементы с индексами 2 и 3 изменят индексы на 1 и 2, компонент Edit2 будет иметь индекс 3, а индексы остальных элементов не изменятся.


SetFocus - метод TWinControl
SetFocus - метод

Примеры

Передает фокус элементу

Класс TWinControl

Определение

procedure SetFocus; virtual;

Описание

Метод SetFocus передает фокус данному компоненту, активизирует его.


Пример метода SetFocus

Оператор

Edit1.SetFocus;

передает фокус компоненту Edit1.


SetZOrder - метод TWinControl
SetZOrder - метод

Перемещает компонент на вершину или в низ Z-последовательности

Класс TWinControl

Определение

procedure SetZOrder(TopMost: Boolean); override;

Описание

Метод SetZOrder перемещает компонент на вершину или в низ Z-последовательности родительского элемента. Если родительского элемента нет, то элемент становится верхним или нижним окном экрана. Таким образом, этот метод перестраивает перекрывающиеся компоненты или окна.

Если параметр TopMost равен true, то элемент перемещается на вершину; в противном случае он перемещается вниз.

При этом надо иметь в виду, что оконные элементы всегда расположены в Z-последовательности выше не оконных. Так что при выполнении этого метода перемещения происходят только в этих допустимых пределах.


Show - метод TControl
Show - метод

Делает видимым невидимый компонент

Класс TControl

Определение

procedure Show;

Описание

Метод Show делает видимым ранее невидимый компонент. Он задает значение True свойству Visible и проверяет, является ли видимым родительский компонент.

Примеры использования видимых и невидимых компонентов см. в разделе Visible.


Update - метод TWinControl
Update - метод

Немедленно перерисовывает компонент

Класс TWinControl

Определение

procedure Update; override;

Описание

Метод Update вызывает немедленную перерисовку компонента, не ожидая завершения каких-то других процессов или прихода от Windows сообщений о перерисовке. Этим, в основном, этот метод и отличается от Repaint.


Assign - метод графических объектов

Примеры

Копирует изображение одного графического объекта в другой

Классы TGraphic, TBitMap, TIcon, TMetaFile

Прототип

procedure Assign(Source: TPersistent);

Описание

Метод Assign копирует изображение, содержащееся в объекте Source, в данный объект. Типы объектов источника и приемника должны быть одинаковыми. Исключение составляет свойство Graphic объекта TPicture. Graphic может участвовать в обменах изображениями с объектами типов TBitMap, TIcon, TMetaFile.

Объектом копирования для классов TBitMap, TIcon, TMetaFile может быть также буфер обмена - объект ClipBoard. При этом надо не забыть включить в оператор uses приложения ссылку на модуль Clipbrd. Свойство Graphic объекта TPicture может участвовать только в копировании в буфер обмена, но не в копировании из буфера.


Примеры копирования изображений.

1. Все шесть приведенных ниже операторов делают одно и то же: копируют изображение из компонента Image2 в компонент Image1. Но последний из них выполняется успешно только, если тип графического объекта в Image2 - TBitMap.

Image1.Picture.Bitmap.Assign(Image2.Picture.Bitmap);

Image1.Picture.Graphic.Assign(Image2.Picture.Bitmap);

Image1.Picture.Graphic.Assign(Image2.Picture.Icon);

Image1.Picture.Graphic.Assign(Image2.Picture.MetaFile);

Image1.Picture.Graphic.Assign(Image2.Picture.Graphic);

Image1.Picture.Bitmap.Assign(Image2.Picture.Graphic);

2. Каждый из приведенных ниже операторов копирует изображение в компоненте Image1 в буфер обмена Clipboard.

ClipBoard.Assign(Image1.Picture.Bitmap);

ClipBoard.Assign(Image1.Picture.Graphic);

3. Приведенный ниже оператор читает изображение из буфера обмена Clipboard в компонент Image1. Если в Clipboard хранится не битовая матрица, будет генерироваться исключение.

Image1.Picture.Bitmap.Assign(ClipBoard);


BrushCopy - метод TCanvas
BrushCopy - метод

Примеры

Копирует часть изображения битовой матрицы на данную канву, заменяя указанный цвет в изображении на значение, установленное для кисти канвы

Класс TCanvas

Прототип

procedure BrushCopy(const Dest: TRect; Bitmap: TBitmap;
                    const Source: TRect; Color: TColor);

Описание

Метод BrushCopy сохраняется в Delphi в основном для обратной совместимости с ранними версиями. Вместо BrushCopy лучше использовать TImageList.

Метод копирует часть изображения битовой матрицы  компонента Bitmap на данную канву, заменяя указанный цвет Color в изображении на значение, установленное для кисти канвы Brush. Параметр Source указывает копируемую прямоугольную область в источнике изображения Bitmap. Параметр Dest указывает прямоугольную область на канве, в которую производится копирование.

Замена цвета делает изображение как бы частично прозрачным, если в параметре Color указать цвет фона изображения, а в параметре Color кисти Brush канвы указать цвет фона канвы.


Примеры копирования изображений с использованием метода BrushCopy.

Оператор

Form1.Canvas.BrushCopy(Rect(10,10,100,100),Bitmap1,
                         Rect(10,10,100,100),clBlack);

копирует прямоугольную область с координатами углов (10, 10) и (100, 100) из компонента Bitmap1 в аналогичную область канвы формы Form1 и заменяет в изображении черный цвет на цвет, установленный в свойстве Form1.Canvas.Brush.Color.


CopyRect - метод TCanvas
CopyRect - метод

Примеры

Копирует часть изображения с другой канвы на данную

Класс TCanvas

Прототип

procedure CopyRect(Dest: TRect; Canvas: TCanvas;
                   Source: TRect);

Описание

Метод CopyRect переносит указанную параметром Source область изображения в канве источника изображения Canvas в указанную параметром Dest область данного объекта TCanvas. Копирование производится в режиме, установленном свойством CopyMode.


Примеры копирования изображений с использованием метода CopyRect.

Оператор

Image1.Canvas.CopyRect(MyRect2,Bitmap.Canvas,MyRect1);

копирует на канву компонента Image1 в область MyRect2 изображение из области MyRect1 канвы компонента Bitmap.


Dormant метод TBitmap
Dormant - метод

Примеры

Создает изображение битовой матрицы в памяти, чтобы освободить дескриптор матрицы и сэкономить ресурсы

Класс TBitmap

Прототип

procedure Dormant;

Описание

Использование метода Dormant сокращает ресурсы GDI, используемые в приложении. Метод создает изображение матрицы в памяти, используя объект потока памяти. В дальнейшем через свойство Handle можно освободить связанный с матрицей HBITMAP.

Дополнительную экономию памяти можно получить методом FreeImage, освобождающим память, занятую кэшированием изображения. Но этот метод может приводить к потере глубины цвета.


Примеры операций с изображением с использованием метода Dormant.

procedure TForm1.Button1Click(Sender: TObject);

var

 BitMap1,BitMap2 : TBitMap;

 MyFormat : Word;

begin

{создание объектов TBitMap}

 BitMap2 := TBitMap.Create;

 BitMap1 := TBitMap.Create;

try

{загрузка изображения из файла в BitMap1}

 BitMap1.LoadFromFile('..\Images\Splash\256color\factory.bmp');

{копирование в BitMap2 из BitMap1}

 BitMap2.Assign(BitMap1);

{освобождение ресурсов GDI}

 BitMap2.Dormant;

{освобождение памяти, изображение не теряется}

 BitMap2.FreeImage;

{изображение из BitMap2 рисуется на канве}

 Canvas.Draw(20,20,BitMap2);

{устанавливается монохромный режим BitMap2}

 BitMap2.Monochrome := true;

{рисуется монохромный вариант}

 Canvas.Draw(80,80,BitMap2);

{теперь изображение действительно теряется }

 BitMap2.ReleaseHandle;

finally

 BitMap1.Free;

 BitMap2.Free;

end;

end;


Draw - метод TCanvas
Draw - метод

Примеры

Рисует графическое изображение в указанную позицию канвы

Класс TCanvas

Прототип

procedure Draw(X, Y: Integer; Graphic: TGraphic);

Описание

Метод Draw рисует изображение, содержащееся в объекте, указанном параметром Graphic, сохраняя исходный размер изображения в его источнике и перенося изображение в область канвы объекта TCanvas, верхний левый угол которой определяется параметрами X и Y. Источник изображения может быть битовой матрицей, пиктограммой или метафайлом. Если источник - объект типа TBitmap, то перенос изображения производится в режиме, установленном свойством канвы CopyMode.


Примеры операций с изображением с использованием метода Draw.

Оператор

Image1.Canvas.Draw(10,10,Bitmap1);

рисует на канве компонента Image1 изображение из компонента Bitmap1 в область с координатами левого верхнего угла (10, 10).


DrawFocusRect - метод TCanvas
DrawFocusRect - метод

Примеры

Рисует изображение прямоугольника в виде, используемом для отображения рамки фокуса, операцией XOR

Класс TCanvas

Прототип

procedure DrawFocusRect(const Rect: TRect);

Описание

Метод DrawFocusRect рисует на канве в области Rect изображение прямоугольника в виде, используемом обычно для отображения рамки фокуса, т.е. точками. При рисовании используется операция XOR, что позволяет удалить изображение прямоугольника его повторной прорисовкой.


Примеры операций с изображением с использованием метода DrawFocusRect.

Следующая совокупность обработчиков событий, связанных с мышью, рисует на канве компонента Imag1 прямоугольную рамку размером 10 на 10 вокруг курсора и перетаскивает ее при перемещении мыши с нажатой кнопкой:

var X0,Y0:integer;

const drag:boolean=false;

procedure TForm1.Image1MouseDown(Sender: TObject;
                                 Button: TMouseButton;

                                 Shift: TShiftState;
                                 X, Y: Integer);

begin

{рисование рамки}

 Image1.Canvas.DrawFocusRect(Rect(X-5,Y-5,X+5,Y+5));

{запоминание координат курсора}

 X0:=X;

 Y0:=Y;

{включение флажка режима перемещения рамки}

 drag:=true;

end;

procedure TForm1.Image1MouseMove(Sender: TObject;
                                 Shift: TShiftState;
                                 X,Y: Integer);

begin

 if not drag then exit;

{стирание рамки}

 Image1.Canvas.DrawFocusRect(Rect(X0-5,Y0-5,X0+5,Y0+5));

{рисование рамки}

 Image1.Canvas.DrawFocusRect(Rect(X-5,Y-5,X+5,Y+5));

{запоминание координат курсора}

 X0:=X;

 Y0:=Y;

end;

procedure TForm1.Image1MouseUp(Sender: TObject;
                               Button: TMouseButton;

                               Shift: TShiftState;
                               X,Y: Integer);

begin

 if not drag then exit;

{стирание рамки}

 Image1.Canvas.DrawFocusRect(Rect(X0-5,Y0-5,X0+5,Y0+5));

{выключение флажка режима перемещения рамки}

 drag:=false;

end;

При нажатии кнопки мыши рисуется первая рамка, запоминаются координаты курсора и включается режим перемещения рамки (переменная drag = true). При перемещении мыши в режиме перемещения рамки стирается прежняя рамка, рисуется рамка в новой позиции и запоминаются новые координаты курсора. При отпускании кнопки мыши стирается рамка и выключается режим перемещения рамки.


FloodFill - метод TCanvas
FloodFill - метод

Примеры

Закрашивает текущей кистью замкнутую область канвы, определенную цветом

Класс TCanvas

Прототип

type TFillStyle = (fsSurface, fsBorder);

procedure FloodFill(X, Y: Integer; Color: TColor;
                    FillStyle: TFillStyle);

Описание

Метод FloodFill закрашивает текущей кистью Brush замкнутую область канвы, определенную цветом и начальной точкой закрашивания (X, Y). Точка с координатами X и Y является произвольной внутренней точкой заполняемой области, которая может иметь произвольную форму. Граница этой области определяется сочетанием параметров Color и FillStyle. Параметр Color указывает цвет, который используется при определении границы закрашиваемой области, а параметр FillStyle определяет, как именно по этому цвету определяется граница. Если FillStyle = fsSurface, то заполняется область, окрашенная цветом Color, а на других цветах метод останавливается. Если FillStyle = fsBorder, то наоборот, заполняется область окрашенная любыми цветами, не равными Color, а на цвете Color метод останавливается.


Примеры операций с изображением с использованием метода FloodFill.
Примеры операций с изображением с использованием метода FloodFill

1.

with Image1.Canvas do begin

 Brush.Color:=clWhite;

 FloodFill(X,Y,Pixels[X,Y],fsSurface);

end;

Приведенные операторы закрашивают белым цветом на канве компонента Image1 все пиксели, прилегающие к пикселю с координатами (X, Y) и имеющие тот же цвет, что и этот пиксель.

2.

with Image1.Canvas do begin

 Brush.Color:=clWhite;

 FloodFill(X,Y,clBlack, fsBorder);

end;

Приведенные операторы закрашивают белым цветом на канве компонента Image1 все пиксели, прилегающие к пикселю с координатами (X, Y) и имеющие цвет, отличный от черного. При достижении черной границы области закраска останавливается.


FrameRect - метод TCanvas
FrameRect - метод

Примеры

Рисует на канве текущей кистью прямоугольную рамку

Класс TCanvas

Прототип

procedure FrameRect(const Rect: TRect);

Описание

Метод FrameRect рисует на канве прямоугольную рамку вокруг области Rect, используя установку текущей кисти Brush. Толщина рамки - 1 пиксель. Область внутри рамки кистью не заполняется. Отличается от метода Rectangle тем, что рамка рисуется цветом кисти (в методе Rectangle - цветом пера Pen) и область не закрашивается (в методе Rectangle закрашивается).


Примеры рисования изображения с использованием метода FrameRect.
Примеры рисования изображения с использованием метода FrameRect

Оператор

with Image1.Canvas do begin

 Brush.Color := clBlack;

 FrameRect(Rect(10,10,100,100));

end;

рисует на канве компонента Image1 черную рамку.


LineTo - метод TCanvas
LineTo - метод

Примеры

Рисует на канве прямую линию, начинающуюся с текущей позиции пера и кончающуюся указанной точкой

Класс TCanvas

Прототип

procedure LineTo(X, Y: Integer);

Описание

Метод LineTo рисует на канве прямую линию, начинающуюся с текущей позиции пера PenPos и кончающуюся точкой (X, Y), исключая саму точку (X, Y). Текущая позиция пера PenPos перемещается в точку (X, Y). При рисовании используются текущие установки пера Pen.


Примеры рисования линии с использованием метода LineTo.
Примеры рисования линии с использованием метода LineTo

Операторы

Image1.Canvas.MoveTo(X1,Y1);

Image1.Canvas.LineTo(X2,Y2);

Image1.Canvas.LineTo(X3,Y3);

рисуют кусочно-ломаную прямую, соединяющую точки (X1,Y1), (X2,Y2) и (X3,Y3).


LoadFromClipBoardFormat - метод TGraphic
LoadFromClipBoardFormat - метод

Примеры

Загружает изображение из буфера обмена в формате Clipboard

Класс TGraphic

Прототип

procedure LoadFromClipboardFormat(AFormat: Word;
                     AData: THandle; APalette: HPALETTE);

Описание

Метод загружает изображение в графический объект в указанном формате Clipboard. Если формат AFormat найден среди зарегистрированных, то AData и APalette передаются для загрузки изображения. Стандартно зарегистрированные форматы: CF_BitMap для битовых карт и CF_METAFILEPICT для метафайлов. Значение AData может быть указано методом GetAsHandle объекта типа TClipBoard. При этом надо не забыть включить в оператор uses приложения ссылку на модуль Clipbrd.

Формат для нового типа графического объекта предварительно должен быть зарегистрирован методом RegisterClipboardFormat.

Если в буфере обмена находится не тот тип данных, который ожидается, то генерируется исключение EInvalidGraphic.


Примеры копирования изображения из ClipBoard с использованием метода LoadFromClipBoardFormat.
Примеры копирования изображения из ClipBoard с использованием метода LoadFromClipBoardFormat

Оператор

Image1.Picture.Bitmap.LoadFromClipBoardFormat(cf_BitMap,
                          ClipBoard.GetAsHandle(cf_Bitmap),0);

загружает изображение из буфера обмена в формате битовой карты в компонент Image1.


LoadFromFile - метод TGraphic
LoadFromFile - метод

Примеры

Загружает изображение, хранящееся в файле

Класс TGraphic

Прототип

procedure LoadFromFile(const FileName: string); virtual;

Описание

Метод LoadFromFile читает файл FileName и загружает его в графический объект.

Если формат графического файла не зарегистрирован, или не соответствует типу графического объекта, то генерируется исключение EInvalidGraphic.


Примеры загрузки изображения из файла с использованием метода LoadFromFile.
Примеры загрузки изображения из файла с использованием метода LoadFromFile

if OpenPictureDialog1.Execute then

 Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

Этот оператор открывает диалог OpenPictureDialog1, позволяющий пользователю выбрать файл, и загружает изображение из файла в компонент Image1.


LoadFromResourceID - метод TBitmap
LoadFromResourceID - метод

Загружает битовую карту из файла ресурсов по указанному идентификатору

Класс Bitmap

Прототип

procedure LoadFromResourceID(Instance: THandle;
                             ResID: Integer);

Описание

Метод LoadFromResourceID загружает битовую карту из файла ресурсов выполняемого модуля. Загружаемая карта указывается идентификатором ResID.


LoadFromResourceName - метод TBitmap
LoadFromResourceName - метод

Загружает битовую карту из файла ресурсов по указанному имени

Класс Bitmap

Прототип

procedure LoadFromResourceName(Instance: THandle;
                               const ResName: string);

Описание

Метод LoadFromResourceName загружает битовую карту из файла ресурсов выполняемого модуля. Загружаемая карта указывается именем ResName.


LoadFromStream - метод TBitmap
LoadFromStream - метод

Загружает графическое изображение из указанного потока

Класс TGraphic

Прототип

procedure LoadFromStream(Stream: TStream);

Описание

Метод LoadFromStream читает из потока Stream графический объект. используется, например, для загрузки изображения из объекта TBlobStream, чтобы прочитать графическое поле в наборе данных.


Lock - метод TCanvas
Lock - метод

Блокирует канву, не разрешая другим нитям многопоточного приложения рисовать на ней

Класс TCanvas

Прототип

procedure Lock;

Описание

Метод Lock блокирует данную канву, не разрешая другим нитям многопоточного приложения рисовать на ней. Канва остается блокированной до снятия блокады вызовом метода Unlock. Если имеются вложенные вызовы Lock, то они увеличивают свойство LockCount, фиксирующее количество блокировок. Канва будет оставаться блокированной, пока не будет снята последняя блокировка.

Если нежелательна вложенная многократная блокировка, лучше использовать метод TryLock.

Поскольку блокировка не дает другим нитям рисовать на канве, производительность работы приложения может за счет этого снизится. Так что не надо злоупотреблять блокировками. Их следует применять только тогда, когда есть вероятность нежелательных наложений операций, выполняемых в разных нитях приложения с несколькими потоками.


Mask - метод TCanvas
Mask - метод

Преобразует битовую матрицу в монохромную маску

Класс TBitmap

Прототип

procedure Mask(TransparentColor: TColor);

Описание

Метод Mask преобразует изображение в монохромную маску, заменяя цвет TransparentColor белым, а все остальные цвета - черным. Метод производит то же действие, что и MaskHandle, за исключением того, что результирующая маска заменяет изображение в объекте TBitmap. Так что метод действует только один раз. Когда вам требуется только указатель маски, используйте MaskHandle.


MoveTo - метод TCanvas
MoveTo - метод

Изменяет текущую позицию пера на заданную, ничего не рисуя при этом

Класс TCanvas

Прототип

procedure MoveTo(X, Y: Integer);

Описание

Метод MoveTo изменяет текущую позицию пера PenPos на заданную точкой (X, Y). Это эквивалентно непосредственной установке свойства PenPos. При перемещении пера методом MoveTo ничего не рисуется.


Polygon - метод TCanvas
Polygon - метод

Примеры

Рисует на канве текущим пером замкнутую фигуру (многоугольник) по заданному множеству угловых точек, замыкая первую и последнюю точки и закрашивая внутреннюю область фигуры текущей кистью

Класс TCanvas

Прототип

procedure Polygon(Points: array of TPoint);

Описание

Метод Polygon рисует на канве замкнутую фигуру (полигон, многоугольник) по множеству угловых точек, заданному массивом Points. Первая из указанных точек соединяется прямой с последней. Этим метод Polygon отличается от метода Polyline, который не замыкает конечные точки. Рисование проводится текущим пером Pen. Внутренняя область фигуры закрашивается текущей кистью Brush.

Метод позволяет рисовать фигуру по точкам, хранящимся в массиве элементов типа TPoint. Если желательно использовать для рисования только часть точек массива, это можно сделать с помощью функции Slice. Если надо нарисовать полигон всего по нескольким точкам, то передавать их в метод Polygon удобно с помощью функции Point.


Примеры работы с изображениями с использованием метода Polygon.
Примеры работы с изображениями с использованием метода Polygon

1. Оператор

Form1.Canvas.Polygon([Point(10,10),Point(30,10),
                      Point(130,30),Point(240, 120)]);

рисует на канве формы четырехугольник по точкам, заданным функциями Point.

2. Оператор

Form1.Canvas.Polygon(PointArray);

рисует на канве формы многоугольник по точкам, хранящимся в массиве PointArray, который может быть объявлен, например, следующим образом:

var PointArray:array[1..100] of TPoint;

3. Оператор

Form1.Canvas.Polygon(Slice(PointArray, 10));

рисует на канве формы многоугольник по первым 10 точкам, хранящимся в массиве PointArray из предыдущего примера.


Polyline - метод TCanvas
Polyline - метод

Примеры

Рисует на канве текущим пером кусочно-линейную кривую по заданному множеству точек

Класс TCanvas

Прототип

procedure Polyline(Points: array of TPoint);

Описание

Метод Polyline рисует на канве кусочно-линейную кривую по множеству точек, заданному массивом Points. Отличие метод Polyline от метода Polygon заключается в том, что метод Polygon замыкает конечные точки, а метод Polyline - нет. Рисование проводится текущим пером Pen. Метод не изменяет текущей позиции PenPos пера Pen.

Метод позволяет рисовать кусочно-линейный график функции, хранящийся в массиве элементов типа TPoint. Если желательно использовать для рисования только часть точек массива, это можно сделать с помощью функции Slice. Если надо нарисовать кривую всего по нескольким точкам, то передавать их в метод Polyline удобно с помощью функции Point.

То, что делает метод Polyline, можно сделать и с помощью методов MoveTo и LineTo, подведя сначала перо к первой точке а затем последовательно выполняя LineTo. Различие будет заключаться в том, что метод Polyline не изменит текущую позицию пера, а методы MoveTo и LineTo изменят.


Примеры работы с изображениями с использованием метода Polyline.
Примеры работы с изображениями с использованием метода Polyline

1. Оператор

Form1.Canvas. Polyline([Point(10,10),Point(30,10),
                      Point(130,30),Point(240, 120)]);

рисует кусочно-линейную кривую по четырем точкам, заданным функциями Point.

2.

var PointArray:array[0..100] of TPoint;

procedure TForm1.Button1Click(Sender: TObject);

var i,X,Y:word;

begin

 for i:=0 to 100 do begin

  X:=Image1.ClientWidth*i div 100;

  Y:=trunc((Image1.ClientHeight div 2)*
           (1+sin(4*Pi*X/Image1.ClientWidth)));

  PointArray[i]:=Point(X,Y);

 end;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

 Image1.Canvas.PolyLine(PointArray);

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

 Image1.Canvas.PolyLine(Slice(PointArray,25));

end;

Первая процедура Button1Click заполняет массив PointArray точками, описывающими график функции sin(X) на протяжении двух периодов (4). Вторая процедура Button2Click по точкам из этого массива рисует график на канве компонента Image1. Третья процедура Button3Click использует для рисования графика первые 25 точек этого массива.


Rectangle - метод TCanvas
Rectangle - метод

Примеры

Рисует на канве текущим пером прямоугольник и закрашивает его текущей кистью

Класс TCanvas

Прототип

procedure Rectangle(X1, Y1, X2, Y2: Integer);

Описание

Метод Rectangle рисует на канве текущим пером Pen прямоугольник, верхний левый угол которого имеет координаты (X1, Y1), а нижний правый - (X2, Y2). Прямоугольник закрашивается текущей кистью Brush.

Рисование прямоугольника без рамки можно осуществить методом FillRect. Прямоугольник со скругленными углами рисуется методом RoundRect. Прямоугольник без внутренней закраски рисуется методом FrameRect.


Примеры работы с изображениями с использованием метода Rectangle.
Примеры работы с изображениями с использованием метода Rectangle

Image1.Canvas.Rectangle(10,10,210,110);


RoundRect - метод TCanvas
RoundRect - метод

Примеры

Рисует на канве прямоугольную рамку со скругленными углами

Класс TCanvas

Прототип

procedure RoundRect(X1, Y1, X2, Y2, X3, Y3: Integer);

Описание

Метод RoundRect рисует на канве прямоугольную рамку со скругленными углами, используя текущие установки пера Pen и заполняя площадь фигуры текущей кистью Brush. Рамка определяется прямоугольником с координатами углов (X1,Y1) и (X2,Y2). Углы скругляются с помощью эллипсов с шириной X3 и высотой Y3.

Если задать ширину эллипса X3  X2 - X1, то верхняя и нижняя границы рамки окажутся целиком скругленными (без прямолинейной части). Если Y3  Y2 - Y1, то же самое произойдет с левой и правой границами рамки. Если же оба измерения эллипса не меньше размеров рамки, то будет рисоваться просто эллипс. Но, конечно, для рисования эллипса лучше использовать метод Ellipse. Если один из размеров эллипса задать нулевым, то будет рисоваться прямоугольная рамка. Но, конечно, для такой рамки лучше использовать метод Rectangle.


Примеры работы с изображениями с использованием метода RoundRect.
Примеры работы с изображениями с использованием метода RoundRect

Следующие операторы вызывают изображение, показанное на приведенном ниже рисунке:

with Image1.Canvas do

 begin

  RoundRect(10,10,110,210,50,100);

  RoundRect(160,10,260,210,100,100);

  RoundRect(310,10,410,210,50,200);

  RoundRect(460,10,560,210,100,200);

 end;


SaveToClipboardFormat - метод TGraphic
SaveToClipboardFormat - метод класса TGraphic

Примеры

Создает копию изображения в формате Clipboard

Класс TGraphic

Прототип

procedure SaveToClipboardFormat(var AFormat: Word;
                                var AData: THandle;
                                var APalette: HPALETTE);

Описание

Метод SaveToClipboardFormat создает копию изображения в формате Clipboard Формат, указатель на данные и палитру возвращаются как параметры AFormat, AData и APalette. Стандартно зарегистрированные форматы: CF_BitMap для битовых карт и CF_METAFILEPICT для метафайлов. Формат для нового типа графического объекта предварительно должен быть зарегистрирован методом RegisterClipboardFormat.

После применения метода SaveToClipboardFormat надо передать объекту ClipBoard полученные значения AFormat и AData методом SetAsHandle. При этом надо не забыть включить в оператор uses приложения ссылку на модуль Clipbrd.

Впрочем, записать изображение в Clipboard можно и проще, воспользовавшись методом Assign объекта ClipBoard для объектов типов TGraphic, TBitMap, TIcon, TMetafile.


Примеры помещения изображения в ClipBoard с использованием метода SaveToClipboardFormat.

var

 MyFormat: Word;

 AData: THandle;

 APalette: HPALETTE;

procedure TForm1.Button1Click(Sender: TObject);

begin

 Image1.Picture.Bitmap.SaveToClipBoardFormat(MyFormat,AData,
                                            APalette);

 ClipBoard.SetAsHandle(MyFormat,AData);

end;

Приведенные операторы записывают в буфер обмена изображение, хранящееся в свойстве Picture.Bitmap компонента Image1, вместе с палитрой. Впрочем, записать изображение в буфер обмена можно и оператором:

ClipBoard.Assign(Image2.Picture.Bitmap);

или

ClipBoard.Assign(Image2.Picture.Graphic);


SaveToFile - метод TGraphic
SaveToFile - метод

Сохраняет графическое изображение в файле

Класс TGraphic

Прототип

procedure SaveToFile(const FileName: string);

Описание

Метод SaveToFile сохраняет изображение графического объекта в файле FileName.


SaveToStream - метод TGraphic
SaveToStream - метод

Сохраняет графическое изображение в потоке

Класс TGraphic

Прототип

procedure SaveToStream(Stream: TStream);

Описание

Метод SaveToStream сохраняет в потоке Stream изображение графического объекта. Используется, например, для сохранения в объекте TBlobStream графического поля из набора данных.


StretchDraw - метод TCanvas
StretchDraw - метод

Примеры

Рисует графическое изображение в указанную прямоугольную область канвы, подгоняя размер изображения под заданную область

Класс TCanvas

Прототип

procedure StretchDraw(const Rect: TRect; Graphic: TGraphic);

Описание

Метод StretchDraw рисует на канве изображение, содержащееся в объекте, указанном параметром Graphic, в прямоугольную область, указанную параметром Rect. При этом размер изображения подгоняется под размер заданной области. Этим метод StretchDraw отличается от метода Draw, который оставляет размер неизменным.

Объект Graphic может быть типа битовой матрицы, пиктограммы или метафайла. Если объект - битовая матрица типа TBitMap, то при переносе изображения учитывается режим копирования, установленный свойством канвы CopyMode.


Примеры работы с изображениями с использованием метода StretchDraw.
Примеры работы с изображениями с использованием метода StretchDraw

Оператор

Image1.Canvas.StretchDraw(Rect(10,10,110,110),Bitmap1);

рисует на канве компонента Image1 изображение из компонента Bitmap1 в область с координатами углов (10, 10) и (110, 110). При этом размер изображения подгоняется по заданный размер области - квадрат со стороной 100.


TextHeight - метод TCanvas
TextHeight - метод

Примеры

Возвращает высоту в пикселях текста, который предполагается написать на канве текущим шрифтом

Класс TCanvas

Прототип

function TextHeight(const Text: string): Integer;

Описание

Функция TextHeight возвращает высоту в пикселях текста Text, который предполагается написать на канве текущим шрифтом. Это позволяет перед выводом текста на канву определить размер надписи и расположить ее и другие элементы изображения наилучшим образом.

Имеется еще метод TextExtent, возвращающий одновременно и высоту, и длину текста. Метод TextHeight возвращает то же, что TextExtent(Text).cy.


Примеры работы с текстом с использованием метода TextHeight.
Примеры работы с текстом с использованием метода TextHeight

var st:string;

st:=Edit1.Text;

with Image1.Canvas do

 TextOut((Image1.ClientWidth - TextWidth(st)) div 2,

                               TextHeight(st),st);

Эти операторы выводят текст, набранный пользователем в окне редактирования Edit1, в канву компонента Image1, выравнивая его при любом шрифте по середине ширины канвы и отступив одну строчку сверху.


TextOut - метод TCanvas
TextOut - метод

Примеры

Пишет указанную строку текста на канве, начиная с указанной позиции

Класс TCanvas

Прототип

procedure TextOut(X, Y: Integer; const Text: string);

Описание

Функция TextOut пишет строку текста Text на канве, начиная с позиции с координатами (X, Y). Надпись делается в соответствии с текущими установками шрифта Font. Фон надписи определяется установками текущей кисти. Текущая позиция PenPos пера Pen перемещается к концу выведенного текста.

Для выравнивания позиции текста на канве можно использовать методы, дающие перед выводом высоту и длину текста в пикселях: методы TextExtent, TextHeight и TextWidth.

Если цвет кисти в момент вывода текста отличается от того, которым закрашена канва, то текст получится выведенным в цветной прямоугольной рамке. Но ее размеры будут точно равны размерам надписи. Если требуется более красивая рамка с отступом от текста или если надо ограничить выводимый текст размерами определенной рамки, следует применять метод TextRect.


Примеры работы с текстом с использованием метода TextOut.
Примеры работы с текстом с использованием метода TextOut

Оператор

Image1.Canvas.TextOut(10,10,s);

выводит текст, хранящийся в строковой переменной s, на канву компонента Image1, начиная с позиции (10, 10).


TextRect - метод TCanvas
TextRect - метод

Примеры

Пишет указанную строку текста на канве, начиная с указанной позиции и усекая текст, выходящий за пределы указанной прямоугольной области

Класс TCanvas

Прототип

procedure TextRect(Rect:TRect; X,Y:Integer; const Text:string);

Описание

Функция TextRect пишет строку текста Text на канве, начиная с позиции с координатами (X, Y) - это левый верхний угол надписи. Часть текста, не помещающаяся в прямоугольную область Rect, усекается. Надпись делается в соответствии с текущими установками шрифта Font. Пространство внутри области Rect закрашивается текущей кистью Brush.

Для выравнивания позиции текста внутри области на канве можно использовать методы, дающие перед выводом высоту и длину текста в пикселях: методы TextExtent, TextHeight и TextWidth.


Примеры работы с графикой с использованием метода TextRect.
Примеры работы с графикой с использованием метода TextRect

1.

var st:string;

    X1,Y1,X2,Y2:integer;

st:=Edit1.Text;

X1:=100;

Y1:=100;

X2:=200;

Y2:=150;

with Image1.Canvas do

 begin

  Brush.Color:=clRed;

  TextRect (Rect(X1,Y1,X2,Y2),
            X1+(X2-X1-TextWidth(st)) div 2,

            Y1+(Y2-Y1-TextHeight(st)) div 2,st);

 end;

end;

Приведенный код рисует в заданном месте канвы компонента Image1 красный прямоугольник и внутри него в центре пишет методом TextRect текст, введенный пользователем в окно редактирования Edit1. Если текст оказывается длиннее ширины прямоугольника, то он усекается. В данном примере будет видна только середина текста, так как текст выровнен по центру.

2. Если в приведенном примере заменить оператор на

TextRect(Rect(X1-5,Y1-5, X1+TextWidth(st)+5,
         Y1+TextHeight(st)+5), X1, Y1, st);

то текст будет выводится полностью в красной прямоугольной области, на 5 пикселей отступающей во все стороны от текста. Именно этим отступом, делающим надпись более красивой, этот оператор отличается от более простого оператора

TextOut(X1,Y1,st);

использующего метод TextOut.


TextWidth - метод TCanvas
TextWidth - метод

Примеры

Возвращает длину в пикселях текста, который предполагается написать на канве текущим шрифтом

Класс TCanvas

Прототип

function TextWidth(const Text: string): Integer;

Описание

Функция TextWidth возвращает длину в пикселях текста Text, который предполагается написать на канве текущим шрифтом. Это позволяет перед выводом текста на канву определить размер надписи и расположить ее и другие элементы изображения наилучшим образом.

Имеется еще метод TextExtent, возвращающий одновременно и высоту, и длину текста. Метод TextWidth возвращает то же, что TextExtent(Text).cx.


Примеры работы с текстом с использованием метода TextWidth.
Примеры работы с текстом с использованием метода TextWidth

var st:string;

st:=Edit1.Text;

with Image1.Canvas do

 TextOut((Image1.ClientWidth - TextWidth(st)) div 2,

                               TextHeight(st),st);

Эти операторы выводят текст, набранный пользователем в окне редактирования Edit1, в канву компонента Image1, выравнивая его при любом шрифте по середине ширины канвы и отступив одну строчку сверху.

См. также пример в описании метода TextRect.


TextExtent - метод TCanvas
TextExtent - метод

Примеры

Возвращает длину и высоту в пикселях текста, который предполагается написать на канве текущим шрифтом

Класс TCanvas

Прототип

type

 TSize = record

  cx: Longint;

  cy: Longint;

 end;

function TextExtent(const Text: string): TSize;

Описание

Функция возвращает структуру типа TSize, содержащую длину и высоту в пикселях текста Text, который предполагается написать на канве текущим шрифтом. Это позволяет перед выводом текста на канву определить размер надписи и расположить ее и другие элементы изображения наилучшим образом.

Только высоту или только длину текста можно определять соответственно методами TextHeight и TextWidth.


Примеры работы с текстом с использованием метода TextExtent.
Примеры работы с текстом с использованием метода TextExtent

var st:string;

st:=Edit1.Text;

with Image1.Canvas do

 TextOut((Image1.ClientWidth - TextExtent(st).cx) div 2,

                               TextExtent(st).cy,st);

Эти операторы выводят текст, набранный пользователем в окне редактирования Edit1, в канву компонента Image1, выравнивая его при любом шрифте по середине ширины канвы и отступив одну строчку сверху.


TryLock - метод TCanvas
TryLock - метод

Блокирует канву, если она не была блокирована, не разрешая другим нитям многопоточного приложения рисовать на ней

Класс TCanvas

Прототип

function TryLock: Boolean;

Описание

Функция TryLock блокирует данную канву, не разрешая другим нитям многопоточного приложения рисовать на ней. Канва остается блокированной до снятия блокады вызовом метода Unlock.

Если канва не была блокирована, то функция TryLock устанавливает свойство LockCount в 1 и возвращает true. Если канва уже была блокирована, то функция TryLock возвращает false, не увеличивая LockCount. В этом ее отличие от метода Lock, который допускает многократное вложенное блокирование.

Поскольку блокировка не дает другим нитям рисовать на канве, производительность работы приложения может за счет этого снизится. Так что не надо злоупотреблять блокировками. Их следует применять только тогда, когда есть вероятность нежелательных наложений операций, выполняемых в разных нитях приложения с несколькими потоками.


Unlock - метод TCanvas
Unlock - метод

Уменьшает на единицу значение свойства LockCount, способствуя тем самым разблокированию канвы, когда LockCount станет равным 0

Класс TCanvas

Прототип

procedure Unlock;

Описание

Метод Unlock уменьшает на единицу значение свойства LockCount, способствуя тем самым разблокированию канвы, заблокированной ранее методами Lock или TryLock. Блокировка канвы не разрешает другим нитям многопоточного приложения рисовать на ней. Канва остается блокированной до тех пор, пока свойство LockCount не станет равным 0. А единственный способ уменьшения LockCount - вызов метода Unlock.

Если канва была заблокирована однократно, то вызов Unlock немедленно разблокирует ее. Если же были вложенные вызовы Lock, то канва будет разблокирована после стольких вызовов Unlock, сколько раз ранее вызывался Lock.


Play - метод TAnimate
Play - метод

Воспроизводит заданную последовательность кадров видео клипа AVI

Класс TAnimate

Прототип

procedure Play(FromFrame, ToFrame: Word; Count: Integer);

Описание

Метод Play воспроизводит заданную последовательность кадров клипа от FromFrame до ToFrame включительно и воспроизведение повторяется Count раз. Если FromFrame = 1, то воспроизведение начинается с первого кадра. Значение ToFrame должно не меньше FromFrame и не больше значения, определяемого свойством FrameCount. Если Count = 0, то воспроизведение повторяется до тех пор, пока не будет выполнен метод Stop.

Если в момент вызова Play свойство Open = false, оно устанавливается в true.

Выполнение идентично заданию StartFrame равным FromFrame, StopFrame равным ToFrame, Repetitions равным Count и последующей установке Active в true.


Arc - метод TCanvas
Arc - метод

Примеры

Рисует дугу окружности или эллипса

Класс TCanvas

Прототип

procedure Arc(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);

Описание

Метод Arc рисует дугу окружности или эллипса с помощью текущих параметров пера Pen. Точки (X1, Y1) и (X2, Y2) определяют прямоугольник, описывающий эллипс. Начальная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (X3, Y3).  Конечная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (X4, Y4). Дуга рисуется против часовой стрелки от начальной до конечной точки.

В Windows 95 суммы X1 + X2, Y1 + Y2 и X1 + X2 + Y1 + Y2 не должны превышать 32768.

В Windows NT направление рисования можно изменить на направление по часовой стрелке вызовом функции SetArcDirection.


Примеры работы с графикой с использованием метода Arc.
Примеры работы с графикой с использованием метода Arc

Операторы

Image1.Canvas.Arc(0,0, 200,200, 200,0, 0,0);

Image2.Canvas.Arc(0,0, 200,200, 0,0, 200,0);

дают результат, показанный на рисунке.


Chord - метод TCanvas
Chord - метод

Примеры

Рисует заполненную замкнутую фигуру, ограниченную дугой окружности или эллипса и хордой

Класс TCanvas

Прототип

procedure Chord(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer);

Описание

Метод Chord рисует замкнутую фигуру: дугу окружности или эллипса, замкнутую хордой, с помощью текущих параметров пера Pen. Фигура заполняется текущим значением Brush. Точки (X1, Y1) и (X2, Y2) определяют прямоугольник, описывающий эллипс. Начальная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (X3, Y3).  Конечная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (X4, Y4). Дуга рисуется против часовой стрелки от начальной до конечной точки. Хорда соединяет точки (X3, Y3) и (X4, Y4) .

В Windows 95 суммы X1 + X2, Y1 + Y2 и X1 + X2 + Y1 + Y2 не должны превышать 32768.

В Windows NT направление рисования дуги можно изменить на направление по часовой стрелке вызовом функции SetArcDirection.


Примеры работы с графикой с использованием метода Chord.
Примеры работы с графикой с использованием метода Chord

Операторы

Image1.Canvas.Chord(0,0, 200,200, 200,0, 0,0);

Image2.Canvas.Chord(0,0, 200,200, 0,0, 200,0);

дают результат, показанный на рисунке.


Ellipse - метод TCanvas
Ellipse- метод

Примеры

Рисует заполненную окружность или эллипс

Класс TCanvas

Прототип

procedure Ellipse(X1, Y1, X2, Y2: Integer);

Описание

Метод Ellipse рисует окружность или эллипс с помощью текущих параметров пера Pen. Фигура заполняется текущим значением Brush. Точки (X1, Y1) и (X2, Y2) определяют прямоугольник, описывающий эллипс.

В Windows 95 суммы X1 + X2, Y1 + Y2 и X1 + X2 + Y1 + Y2 не должны превышать 32768.


Примеры работы с графикой с использованием метода Ellipse.
Примеры работы с графикой с использованием метода Ellipse

Оператор

with Image1 do
 begin

  Canvas.Brush.Сolor := clRed;

  Canvas.Brush.Style := bsDiagCross;

  Canvas.Ellipse(0, 0, Image1.Width, Image1.Height);
 end;

рисует эллипс, вписанный в компонент Image1 и заполненный красной штриховкой.


FillRect - метод TCanvas
FillRect - метод

Примеры

Заполняет указанный прямоугольник канвы, используя текущее значение Brush

Класс TCanvas

Прототип

procedure FillRect(const Rect: TRect);

Описание

Метод FillRect заполняет прямоугольник канвы, указанный параметром Rect, используя текущее значение Brush. Заполняемая область включает верхнюю и левую стороны прямоугольника, но не включает правую и нижнюю стороны. При использовании FillRect параметр Rect часто задается функцией Rect.


Примеры работы с графикой с использованием метода FillRect.
Примеры работы с графикой с использованием метода FillRect

Оператор

with Image1.Canvas do FillRect(Rect(0,0,Width,Height));

очищает всю канву компонента Image1, заполняя ее фоном, если он установлен в свойстве Brush.


Pie - метод TCanvas
Pie - метод

Примеры

Рисует заполненную замкнутую фигуру - сегмент окружности или эллипса

Класс TCanvas

Прототип

procedure Pie(X1, Y1, X2, Y2, X3, Y3, X4, Y4: Longint);

Описание

Метод Pie рисует замкнутую фигуру - сектор окружности или эллипса, с помощью текущих параметров пера Pen. Фигура заполняется текущим значением Brush. Точки (X1, Y1) и (X2, Y2) определяют прямоугольник, описывающий эллипс. Начальная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (X3, Y3).  Конечная точка дуги определяется пересечением эллипса с прямой, проходящей через его центр и точку (X4, Y4). Дуга рисуется против часовой стрелки от начальной до конечной точки. Рисуются прямые, ограничивающие сегмент и проходящие через центр эллипса и точки  (X3, Y3) и (X4, Y4).

В Windows 95 суммы X1 + X2, Y1 + Y2 и X1 + X2 + Y1 + Y2 не должны превышать 32768.

В Windows NT направление рисования дуги можно изменить на направление по часовой стрелке вызовом функции SetArcDirection.


Примеры работы с графикой с использованием метода Pie.
Примеры работы с графикой с использованием метода Pie

Операторы

Image1.Canvas.Pie(0,0, 200,200, 200,0, 0,0);

Image2.Canvas.Pie(0,0, 200,200, 0,0, 200,0);

дают результат, показанный на рисунке.


Create(const FileName string)


CreateKey(const Key: String): Boolean


DeleteKey(const Section, Ident: string)


DeleteKey(const Key: String): Boolean


DeleteValue(const Name: String): Boolean


EraseSection(const Section: string)


type

TRegDataType=(rdUnknown, rdString, rdExpandString, rdInteger, rdBinary);

 TRegDataInfo = record

  RegData: TRegDataType;

  DataSize: Integer;

 end;

function GetDataInfo(const ValueName: String; var Value: TRegDataInfo): Boolean;


GetDataSize(const ValueName: String): Integer


type TRegDataType = (rdUnknown, rdString, rdExpandString, rdInteger, rdBinary);

function GetDataType(const ValueName: String): TRegDataType;


GetKeyNames(Strings: TStrings)


GetValueNames(Strings: TStrings)


HasSubKeys: Boolean


KeyExists(const Key: String): Boolean


type

 TRegKeyInfo = record

  MaxSubKeyLen: Integer;

  NumValues: Integer;

  MaxValueLen: Integer;

  MaxDataLen: Integer;

  FileTime: TFileTime;

 end;

function GetKeyInfo(var Value: TRegKeyInfo): Boolean;


LoadKey(const Key, FileName: String): Boolean


MoveKey(const OldName, NewName: String; Delete: Boolean)


OpenKey(const Key: String; CanCreate: Boolean): Boolean


OpenKeyReadOnly(const Key: String): Boolean


ReadBinaryData(const Name: String; var Buffer; BufSize: Integer): Integer


ReadBool(const Section,Ident: string; Default: Boolean): Boolean


ReadBool(const Name: String): Boolean


ReadCurrency(const Name: String): Currency


ReadDate(const Section,Ident: string; Default: TDateTime): TDateTime


ReadDate(const Name: String): TDateTime


ReadDateTime(const Section, Ident: string; Default: TDateTime): TDateTime


ReadDateTime(const Name: String): TDateTime


ReadFloat(const Section,Ident: string; Default: Double): Double


ReadFloat(const Name: String): Double


ReadInteger(const Section, Ident: string; Default: Longint):Longint


ReadInteger(const Name: String): Integer


ReadSection(const Section: string; Strings: TStrings)


ReadSections(Strings: TStrings)


ReadSectionValues(const Section: string; Strings: TStrings)


ReadString(const Section,Ident, Default: string): string


ReadString(const Name: String): String


ReadTime(const Section, Ident: string; Default: TDateTime): TDateTime


ReadTime(const Name: String): TDateTime


RegistryConnect(const UNCName: String): Boolean


RenameValue(const OldName, NewName: String)


ReplaceKey(const Key, FileName, BackUpFileName: String): Boolean


RestoreKey(const Key, FileName: String): Boolean


SaveKey(const Key, FileName: String): Boolean


SectionExists(const Section: string):Boolean


ValueExists(const Section, Ident: string): Boolean


ValueExists(const Name: string): Boolean


UnLoadKey(const Key: String): Boolean


WriteBinaryData(const Name: String; var Buffer; BufSize: Integer)


WriteBool(const Section, Ident: string; Value: Boolean)


WriteBool(const Name: String; Value: Boolean)


WriteCurrency(const Name: String; Value: Currency)


WriteDate(const Section, Ident: string; Value: TDateTime)


WriteDate(const Name: String; Value: TDateTime)


WriteDateTime(const Section, Ident: string; Value: TDateTime)


WriteDateTime(const Name: String; Value: TDateTime)


WriteExpandString(const Name, Value: String)


WriteFloat(const Section, Ident: string; Value: Double)


WriteFloat(const Name: String; Value: Double)


WriteInteger(const Section, Ident: string; Value: Longint)


WriteInteger(const Name: string; Value: Integer)


WriteString(const Section,Ident, Value: string)


WriteString(const Name, Value: String)


WriteTime(const Section, Ident: string; Value: TDateTime)


WriteTime(const Name: String; Value: TDateTime)


Если задать Section просто пустой строкой '', то параметр будет относиться к ключу, переданному в метод Create при создании объекта. Если же в операторе записи указать другое значение Section, то тем самым будет создан субключ этого ключа. Если в параметре Section перечислить несколько имен, разделяя их символом "\", то это означает цепочку вложенных друг в друга ключей.


CreateKey - метод TRegistry
Метод CreateKey класса TRegistry

см.также

Функция добавляет новый ключ в реестр

Класс TRegistry

Прототип

CreateKey(const Key: String): Boolean

Описание

Добавляет в реестр новый ключ Key. Параметр Key может задаваться как абсолютный ключ (тогда он должен начинаться с символа "\" и являться субключом корневого ключа), или как субключ текущего ключа. Метод возвращает true при успешном создании ключа; в противном случае генерируется исключение и возвращается false. Если ключ уже имеется, то ничего не происходит.

Созданный ключ сохраняется при выключении компьютера. Если вы хотите создать в Windows NT не сохраняемый ключ (volatile), надо непосредственно обращаться к API Windows. Аналогично надо обращаться к API Windows в случае, если вы хотите создать ключ с ограниченным допуском, отличным от KEY_ALL_ACCESS.

Создаваемый ключ не имеет значения. Оно должно заноситься методами WriteInteger, WriteFloat и т.п.


GetDataInfo- метод TRegistry
Метод GetDataInfo класса TRegistry

см.также

Дает информацию об указанных параметрах текущего ключа реестра объекта типа TRegistry

Класс TRegistry

Прототип

type

 TRegDataType=(rdUnknown,

rdString, rdExpandString, rdInteger, rdBinary);

 TRegDataInfo = record

  RegData: TRegDataType;

  DataSize: Integer;

 end;

function GetDataInfo(const ValueName: String; var Value: TRegDataInfo): Boolean;

Описание

Функция GetDataInfo дает информацию о параметрах, заданных ValueName, связанных с текущим ключом реестра объекта типа TRegistry. Информация содержится в записи типа TRegDataInfo, возвращаемой как значение параметра Value.

В случае успешного завершения GetDataInfo возвращает true. В противном случае возвращается false, а запись Value заполняется нулями.

Запись Value типа TRegDataInfo должна быть определена в приложении. Она содержит два поля. Поле RegData типа TRegDataType определяет тип хранящихся параметров. Поле DataSize определяет размер значений параметров в байтах. Если параметр типа rdString или rdExpandString, то размер DataSize включает нулевой завершающий символ.


GetKeyInfo - метод TRegistry
Метод GetKeyInfo класса TRegistry

см.также

Возвращает информацию о текущем ключе реестра объекта типа TRegistry

Класс TRegistry

Прототип

type

 TRegKeyInfo = record

  MaxSubKeyLen: Integer;

  NumValues: Integer;

  MaxValueLen: Integer;

  MaxDataLen: Integer;

  FileTime: TFileTime;

 end;

function GetKeyInfo(var Value: TRegKeyInfo): Boolean;

Описание

Функция GetKeyInfo дает информацию о текущем ключе реестра объекта типа TRegistry. Информация возвращается как параметр Value типа TRegKeyInfo. Эта запись должна быть объявлена в приложении.

Возвращаемая информация содержит:

MaxSubKeyLen	число символов в наиболее длинном имени субключа
NumValues	число параметров
MaxValueLen	число символов в наиболее длинном имени параметра
MaxDataLen	наибольшая длина значения параметра
FileTime	время последней записи данного ключа

При успешном завершении функция возвращает true. В противном случае возвращается false, а запись Value заполняется нулями.


LoadKey - метод TRegistry
Метод LoadKey класса TRegistry

см.также

Создает новый ключ и загружает в него данные из указанного файла

Класс TRegistry

Прототип

LoadKey(const Key, FileName: String): Boolean

Описание

Функция LoadKey создает новый субключ Key корневого ключа реестра, определенного в объекте типа TRegistry, и загружает в него информацию из файла FileName. Информация может включать параметры создаваемого ключа, его субключи и параметры этих субключей. Таким образом, LoadKey объединяет в одной операции создание ключа, его субключей и соответствующих параметров. Это удобно для приложений, осуществляющих значительную реконфигурацию реестра во время выполнения.

Перед вызовом LoadKey надо установить корневой ключ (свойство RootKey) равным HKEY_USERS, HKEY_LOCAL_MACHINE, (см. в описании реестра) или равным имени ключа, возвращенного предыдущим вызовом RegistryConnect.

Параметр FileName должен содержать имя и путь к файлу, содержащему информацию о субключе реестра. Этот файл должен быть ранее создан функцией SaveKey или функцией RegSaveKey API Windows.

В системах, использующих таблицу размещения файлов (FAT), строка FileName не должна содержать расширения файла.


RegistryConnect - метод TRegistry
Метод RegistryConnect класса TRegistry

см.также

Устанавливает связь с реестром другого компьютера

Класс TRegistry

Прототип

RegistryConnect(const UNCName: String): Boolean

Описание

Функция RegistryConnect устанавливает связь объекта типа TRegistry с реестром компьютера, заданного параметром UNCName. Формат задания имени компьютера в параметре UNCName следующий:

\\имя

Если значение UNCName nil, то используется имя локального компьютера.

Прежде, чем вызывать RegistryConnect, надо установить свойство RootKey объекта в HKEY_USERS или HKEY_LOCAL_MACHINE (см. описание реестра).

Если соединение прошло успешно, RegistryConnect устанавливает свойство RootKey равным корневому ключу компьютера, который был вызван, и возвращает true. В противном случае возвращается false и значение RootKey остается без изменений.


ReplaceKey - метод TRegistry
Метод ReplaceKey класса TRegistry

см.также

Заменяет сохраненную в одном файле информацию о ключе, его субключах и параметрах аналогичной информацией из другого файла

Класс TRegistry

Прототип

ReplaceKey(const Key, FileName, BackUpFileName: String): Boolean

Описание

Функция ReplaceKey заменяет сохраненную в файле BackUpFileName информацию о ключе реестра Key, его субключах и параметрах аналогичной информацией из другого файла FileName.

Функция возвращает true при успешной замене информации.

Параметр FileName должен содержать имя и путь к файлу, содержащему новую информацию о субключе реестра. Этот файл должен быть ранее создан функцией SaveKey или функцией RegSaveKey API Windows.

В системах, использующих таблицу размещения файлов (FAT), строка FileName не должна содержать расширения файла.


RestoreKey - метод TRegistry
Метод RestoreKey класса TRegistry

Прототип    см.также

Открывает ключ реестра и заменяет его информацию сохраненной в фале

Класс TRegistry

Прототип

RestoreKey(const Key, FileName: String): Boolean

Описание

Функция RestoreKey открывает ключ реестра Key с доступом KEY_ALL_ACCESS и заменяет его субключи и параметры информацией, хранящейся в файле FileName.

Функция возвращает true при успешном чтении информации из файла и занесении ее в реестр, после чего закрывает ключ.

Параметр FileName должен содержать имя и путь к файлу, содержащему информацию о ключе реестра. Этот файл должен быть ранее создан функцией SaveKey или функцией RegSaveKey API Windows.

В системах, использующих таблицу размещения файлов (FAT), строка FileName не должна содержать расширения файла.


SaveKey - метод TRegistry
Метод SaveKey класса TRegistry

Прототип    см.также

Открывает ключ и сохраняет параметры его и всех его субключей в файле

Класс TRegistry

Прототип

SaveKey(const Key, FileName: String): Boolean

Описание

Функция SaveKey открывает ключ реестра Key с доступом KEY_ALL_ACCESS и сохраняет ключ, его субключи и их параметры в файле FileName. Файла с именем, записанным в FileName, не должно существовать. В системах, использующих таблицу размещения файлов (FAT), строка FileName не должна содержать расширения файла.

Файлы, создаваемые методом SaveKey, могут в дальнейшем использоваться как параметры в методах RestoreKey, ReplaceKey и LoadKey.

При успешном завершении SaveKey возвращает true.


Пример использования свойств и методов класса TRegIniFile

Прежде, чем экспериментировать с реестром сохраните копию его файла SYSTEM.DAT из каталога Windows.

Следующие операторы создают объект Reg типа TRegIniFile и создают в реестре ключ My Registry:

var Reg : TRegIniFile;

...

Reg := TRegIniFile.Create('My Registry');

Теперь созданный ключ My Registry стал текущим. Следующий оператор заносит в него параметр Version и его значение - номер версии 1:

Reg.WriteInteger('', 'Version',1);

Следующий оператор создает в ключе My Registry субключ Font с параметром Name, в котором сохраняет имя шрифта, используемого в форме Form1:

Reg.WriteString('Font', 'Name',Form1.Font.Name);

Следующий оператор уничтожает ранее созданный ключ My Registry со всеми его параметрами и субключами:

Reg.EraseSection('');

Следующий оператор уничтожает объект Reg:

Reg.Free;


Пример использования свойств и методов класса TRegistry

Прежде, чем экспериментировать с реестром сохраните копию его файла SYSTEM.DAT из каталога Windows.

Следующие операторы создают объект Reg типа TRegistry.и создают в реестре ключ My Registry:

var Reg : TRegistry;

...

Reg := TRegistry.Create;

Корневым и текущим ключом созданного объекта является HKEY_CURRENT_USER.

Если надо работать с другим корнем, например, с , это можно сделать, например, оператором:

Reg.RootKey:=HKEY_LOCAL_MACHINE;

Следующий оператор создает в реестре и открывает (делает текущим) ключ My Registry, являющийся субключом текущего ключа:

Reg.OpenKey('My Registry',true);

Такой оператор создаст субключ корня, если есть уверенность, что в данный момент текущим является корневой ключ. Если такой уверенности нет, можно изменить оператор следующим образом:

Reg.OpenKey('\My Registry',true);

В этом случае отсчет ведется от корня и My Registry будет создан как субключ корневого ключа.

Следующий оператор заносит в ключ My Registry параметр Version и его значение - номер версии 1.0:

Reg.WriteString('Version','1.0');

Следующие операторы создают в текущем ключе (после выполнения предыдущих операторов это ключ My Registry) субключ Font с параметром Name, в котором сохраняется имя шрифта, используемого в форме Form1:

Reg.OpenKey('Font',true);

Reg.WriteString('Name',Form1.Font.Name);

Приведенный выше оператор, открывающий ключ, может быть заменен на следующий:

Reg.OpenKey('\My Registry\Font',true);

Следующий оператор удаляет ранее созданный субключ корня My Registry:

Reg.DeleteKey('\My Registry');


Пример использования свойств и методов класса TRegistryIniFile

Прежде, чем экспериментировать с реестром сохраните копию его файла SYSTEM.DAT из каталога Windows.

Следующие операторы создают объект Reg типа TRegistryIniFile.и создают в реестре субключ My Registry ключа HKEY_CURRENT_USER:

var Reg : TRegistryIniFile;

...

Reg := TRegistryIniFile.Create('My Registry');

Следующий оператор заносит в ключ My Registry параметр Version и его значение - номер версии 1.0:

Reg.WriteString('','Version','1.0');

Следующий оператор создает в ключе My Registry субключ Font с параметром Name, в котором сохраняется имя шрифта, используемого в форме Form1:

Reg.WriteString('Font','Font Name',Form1.Font.Name);

Следующий оператор удаляет в ключе My Registry параметр Version:

Reg.DeleteKey('','Version');

Следующий оператор удаляет ранее созданный ключ My Registry:

Reg.EraseSection('');


MessageBox - функция
Функция TApplication.MessageBox

Пример

Объявление

function MessageBox(Text, Caption: PChar; Flags: Longint): Integer;

Описание

Функция MessageBox является методом переменной Application типа TApplication, доступной в любом проекте Delphi. Это метод является наиболее удачным способом отображения диалоговых окон. Он отображает диалоговое окно с заданными кнопками, сообщением и заголовком и позволяет проанализировать ответ пользователя. Во многих отношениях это окно подобно окнам, создаваемым функциями MessageDlg и CreateMessageDialog. Но имеются и существенные отличия, связанные с возможностью русификации окна. Заголовок окна может быть написан по-русски, что отличает эту функцию от функции MessageDlg (впрочем, в окне, созданном CreateMessageDialog, это тоже можно сделать). Другим приятным отличием являются русские надписи на кнопках (в русифицированных версиях Windows).

Функция MessageBox инкапсулирует функцию MessageBox API Windows. Параметр Text представляет собой текст сообщения, которое может превышать 255 символов. Для длинных сообщений осуществляется автоматический перенос текста. Параметр Caption представляет собой текст заголовка окна. Он тоже может превышать 255 символов, но не переносится. Так что длинный заголовок приводит к появлению длинного и не очень красивого диалогового окна.

Параметр Flags представляет собой множество флагов, определяющих вид и поведение диалогового окна. Этот параметр может комбинироваться операцией сложения по одному флагу из следующих групп.

Флаги кнопок, отображаемых в диалоговом окне.

Флаг	Значение (в скобках даны надписи в русифицированных версиях Windows)
MB_ABORTRETRYIGNORE	Кнопки Abort (Стоп), Retry (Повтор) и Ignore (Пропустить).
MB_OK	Кнопка OK. Этот флаг принят по умолчанию.
MB_OKCANCEL	Кнопки OK и Cancel (Отмена).
MB_RETRYCANCEL	Кнопки Retry (Повтор) и Cancel (Отмена).
MB_YESNO	Кнопки Yes (Да) и No (Нет).
MB_YESNOCANCEL	Кнопки Yes (Да), No (Нет) и Cancel (Отмена).

Флаги пиктограмм в диалоговом окне

Флаг	Пиктограмма
MB_ICONEXCLAMATION, MB_ICONWARNING	Восклицательный знак (замечание, предупреждение).
MB_ICONINFORMATION, MB_ICONASTERISK	Буква i в круге (подтверждение).
MB_ICONQUESTION	Знак вопроса (ожидание ответа).
MB_ICONSTOP, MB_ICONERROR, MB_ICONHAND	Знак креста на красном круге (запрет, ошибка).

Флаги, указывающие кнопку по умолчанию (которая в первый момент находится в фокусе)

Флаг	Кнопка
MB_DEFBUTTON1	Первая кнопка. Это принято по умолчанию.
MB_DEFBUTTON2	Вторая кнопка.
MB_DEFBUTTON3	Третья кнопка.
MB_DEFBUTTON4	Четвертая кнопка.

Флаги модальности

Флаг	Пояснение
MB_APPLMODAL	Пользователь должен ответить на запрос, прежде чем сможет продолжить работу с приложением. Но он может перейти в окна другого приложения. Он может также работать со всплывающими окнами данного приложения. Этот флаг принят по умолчанию.
MB_SYSTEMMODAL	То же самое, что MB_APPLMODAL, но  окно диалога отображается в стиле WS_EX_TOPMOST, то есть всегда остается поверх других окон, даже если пользователь перешел к другим приложениям. Используется для предупреждения о серьезных ошибках, требующих немедленного вмешательства.

Некоторые дополнительные флаги (могут задаваться оба флага)

Флаг	Пояснение
MB_HELP	Добавляет в окно кнопку Help (Справка), щелчок на которой или нажатие клавиши F1 генерирует событие Help.
MB_TOPMOST	Помещает окно всегда сверху (в стиле WS_EX_TOPMOST).

Возможны еще некоторые флаги, определяющие характер поведения окна при работе в сети нескольких пользователей, позволяющие отображать тексты справа налево (для восточных языков) и т.п.

Функция возвращает нуль, если не хватает памяти для создания диалогового окна. Если же функция выполнена успешно, то возвращаемая величина свидетельствует о следующем:

Значение	Численное значение	Пояснение
IDABORT	3	Выбрана кнопка Abort (Стоп).
IDCANCEL	2	Выбрана кнопка Cancel (Отмена) или нажата клавиша Esc.
IDIGNORE	5	Выбрана кнопка Ignore (Пропустить).
IDNO	7	Выбрана кнопка No (Нет).
IDOK	1	Выбрана кнопка OK.
IDRETRY	4	Выбрана кнопка Retry (Повтор).
IDYES	6	Выбрана кнопка Yes (Да).


Пример применения метода MessageBox
Пример применения метода TApplication.MessageBox

Ниже приведен текст, предусматривающий проверку правильности ввода данных перед пересылкой записи в базу данных.

if (проверка введенных данных)
 then begin

  if (Application.MessageBox(

        'Хотите занести текущую запись в базу данных?',

        'Подтвердите занесение в базу данных',

        MB_YESNOCANCEL + MB_ICONQUESTION) <> IDYES)

   then begin

    DataSet.Cancel;

    Abort;

   end

 end

 else begin

  Application.MessageBox('Ошибочные данные','Ошибка',

                         MB_ICONSTOP);

  Abort;

 end;


WM_ACTIVATE - сообщение Windows

Определение

Сообщение посылается, когда окно переводится в активное или неактивное состояние. Сначала посылается окну, переходящему в неактивное состояние, а потом - активируемому.

Параметры

fActive - показывает, как активируется или деактивируется окно. Возможные значения:

WA_ACTIVE	активируется не щелчком мыши (например, функцией SetActiveWindow или клавиатурой)
WA_CLICKACTIVE	активируется щелчком мыши
WA_INACTIVE	деактивируется

fMinimized - ненулевое значение показывает, что окно минимизировано.

hwndPrevious - дескриптор, который указывает на окно, из которого фокус переключился на данное окно, если оно активируется, или на окно, в которое передается управление, если данное окно деактивируется.

Возвращаемое значение

Если приложение обрабатывает это сообщение, оно должно возвращать нуль.

Действие по умолчанию

Если активируемое окно не свернуто, то оно получает фокус.

Примечания

Если окно активируется щелчком мыши, оно получает также сообщение WM_MOUSEACTIVATE.


WM_ACTIVATE

  fActive = LOWORD(wParam);

 fMinimized = (BOOL) HIWORD(wParam);

 hwndPrevious = (HWND) lParam;


WM_ACTIVATEAPP - сообщение Windows

Определение

Сообщение посылается при переходе активности от окна одного приложения к окну другого приложения. Сообщения посылаются обоим окнам.

Параметры

fActive - значение true означает, что окно становится активным, а false - что окно теряет активность.

dwThreadID - указывает сторонний процесс, который теряет или приобретает активность.

Возвращаемое значение

Если приложение обрабатывает это сообщение, оно должно возвращать нуль.


WM_ACTIVATEAPP

 fActive = (BOOL) wParam;

 dwThreadID = (DWORD) lParam;


WM_CANCELMODE - сообщение Windows

Сообщение посылается окну, имеющему фокус при отображении модальных форм - диалогов и сообщений об ошибках. Дает возможность окну закрыться и освобождает мышь.

Параметры

Параметры отсутствуют.

Возвращаемое значение

Если приложение обрабатывает это сообщение, оно должно возвращать нуль.

Действие по умолчанию

Внутренний процесс завершается и мышь освобождается.


WM_CLOSE - сообщение Windows

Определение

Сигнализирует, что окно или приложение закрывается.

Параметры

Параметры отсутствуют.

Возвращаемое значение

Если приложение обрабатывает это сообщение, оно должно возвращать нуль.

Действие по умолчанию

Вызывается функция DestroyWindow, уничтожающая окно.

Примечания

Приложение при обработке этого сообщения может запросить пользователя о необходимости закрывать окно и вызвать функцию DestroyWindow  только при положительном ответе.


WM_CLOSE


WM_GETMINMAXINFO - сообщение Windows

Определение    Пример

Посылается перед изменением размеров или положения окна. Обработчик сообщения может использоваться для ограничения допустимых размеров и координат положения на экране.

Параметры

Параметр lpmmi указывает на структуру типа MINMAXINFO, содержащую принятые по умолчанию пределы изменения размеров и координат положения окна. Описание этой структуры:

typedef struct tagMINMAXINFO {

    POINT ptReserved;

    POINT ptMaxSize;

    POINT ptMaxPosition;

    POINT ptMinTrackSize;

    POINT ptMaxTrackSize;

} MINMAXINFO;

Поля структуры означают следующее:

ptReserved	Зарезервировано и пока не используется
ptMaxSize	Поле типа Point определяет ширину (Point.x) и высоту (Point.y) развернутого окна
ptMaxPosition	Поле типа Point определяет положения левого (Point.x) и верхнего (Point.y) краев развернутого окна
ptMinTrackSize	Поле типа Point определяет минимальную ширину (Point.x) и минимальную высоту (Point.y) окна при изменении пользователем размеров его рамки
ptMaxTrackSize	Поле типа Point определяет максимальную ширину (Point.x) и максимальную высоту (Point.y) окна при изменении пользователем размеров его рамки
Возвращаемое значение

Если приложение обрабатывает это сообщение, оно должно вернуть 0.


WM_GETMINMAXINFO

lpmmi = (LPMINMAXINFO) lParam;


Приведенный ниже обработчик события WM_GETMINMAXINFO ограничивает ширину окна в пределах 100200 пикселей,  высоту - в пределах 150300 пикселей и задает координаты левого верхнего угла распахнутого окна равными текущим координатам левого верхнего угла окна.

type

 TForm1 = class(TForm)

  ...

  private

   procedure WMGetMinMaxInfo(var Info: TWMGetMinMaxInfo);

                              message WM_GETMINMAXINFO;

  ...

 end;

...

implementation

procedure TForm1.WMGetMinMaxInfo(var Info: TWMGetMinMaxInfo);

begin

 with Info.MinMaxInfo^ do

  begin

   ptMinTrackSize.x := 150;

   ptMaxTrackSize.x := 300;

   ptMinTrackSize.y := 100;

   ptMaxTrackSize.y := 200;

   ptMaxPosition.x:=BoundsRect.Left;

   ptMaxPosition.y:=BoundsRect.Top;

  end;

 inherited;

end;


WM_GETTEXT - сообщение Windows

Определение

Посылается, чтобы скопировать текст, связанный с окном, в указанный буфер.

Параметры

cchTextMax указывает минимальное число символов, которые должны быть скопированы, включая нулевой конечный символ.

lpszText указывает на буфер, принимающий текст.

Возвращаемое значение

Возвращает число скопированных символов.

Действие по умолчанию

Копируется текст, связанный с окном, в указанный буфер и возвращается число скопированных символов.

Примечания

Для всех окон редактирования текст - это содержимое окна. Для выпадающих списков текст - это выделенный текст. Для кнопок текст - это имя кнопки. Для остальных оконных компонентов текст - это заголовок окна.

Для копирования обогащенного текста, превышающего 64K, надо использовать сообщения EM_STREAMOUT или EM_GETSELTEXT.


WM_GETTEXT

 wParam = (WPARAM) cchTextMax;

 lParam = (LPARAM) lpszText;


WM_SETTEXT - сообщение Windows

Определение

Посылается, чтобы задать текст указанного окна.

Параметры

lpsz - указатель на строку текста окна с нулевым конечным символом.

 Возвращаемое значение

Возвращает true, если текст установлен. В противном случае возвращает false (для окна редактирования), LB_ERRSPACE (для списка) или CB_ERRSPACE (для выпадающего списка) если не хватает места для размещения текста. Возвращает CB_ERR, если сообщение посылается выпадающему списку без окна редактирования.

Действие по умолчанию

Устанавливает и отображает текст окна.

Примечания

Для всех окон редактирования текст - это содержимое окна. Для выпадающих списков текст - это выделенный текст. Для кнопок текст - это имя кнопки. Для остальных оконных компонентов текст - это заголовок окна.

Сообщение не изменяет текущее выделение в списках. Чтобы выделялся элемент списка, соответствующий тексту, надо использовать сообщение CB_SELECTSTRING.


WM_SETTEXT

 wParam = 0; // не используется, должен равняться 0

lParam = (LPARAM)(LPCTSTR)lpsz;


WM_USER - константа API Windows

Константа используется приложениями для определения своих частных сообщений

Описание

Константа WM_USER используется для разграничения номеров сообщений, резервированных для Windows, и частных сообщений оконных компонентов. Все возможные номера сообщений разделены на пять диапазонов:

от 0 до WM_USER - 1	Номера сообщений, используемые Windows
от WM_USER до 0x7FFF	Номера частных сообщений внутри данного класса оконных компонентов
от 0x8000 до 0xBFFF	Номера, зарезервированные для будущего использования в Windows
от 0xC000 до 0xFFFF	Номера, соответствующие строкам сообщений, используемым для обмена между приложениями и зарегистрированным функцией RegisterWindowMessage
свыше 0xFFFF	Номера, зарезервированные для будущего использования в Windows

Номера второго диапазона от от WM_USER до 0x7FFF могут использоваться для определения и посылки сообщений внутри данного класса оконных компонентов. Их нельзя использовать для определения сообщений, предназначенных для обмена между приложениями, поскольку некоторые предопределенные классы оконных компонентов (например, TButton, TEdit, TListBox и TComboBox) уже используют этот диапазон. Сообщения другим приложениям в этом диапазоне могут посылаться только в случае, если приложения спроектированы с учетом обмена данными сообщениями и одинаково понимают номера этих сообщений.


HelpContext - свойство исключений

Пример

Идентификатор экрана контекстно зависимой справки

Тип Integer

Модуль SysUtils

HelpContext - свойство класса Exception и всех производных от него классов исключений. Оно хранит целый идентификатор экрана контекстно-зависимой справки. Этот экран справки отображается, если пользователь, находясь в окне с сообщением об ошибке, нажимает клавишу F1.

По умолчанию значение свойства HelpContext равно 0. Это значение может изменяться некоторыми конструкторами (только теми, в названии которых встречается элемент Help).


Images - свойство TMenu, TCustomActionList, TToolBar, TCoolBar
Images - свойство TMenu, TCustomActionList, TToolBar

см.также

Список изображений

Класс TDataSource

Определение

property Images: TCustomImageList;

Описание

Свойство Images указывает список изображений, связанный со списком действий TActionList, или с меню (TmainMenu, TPopupMenu), или с инструментальными панелями (TToolBar, TCoolBar). Обычно Images - это компонент TImageList. Если в приложении имеется список действий TActionList, то свойства Images в меню и в инструментальных панелях должны соответствовать свойству Images в TActionList. Доступ к изображениям, используемым конкретным разделом меню или кнопкой, осуществляется через свойство ImageIndex.


Message - свойство исключений

Пример

Модуль SysUtils

Тип string

Message - свойство класса Exception и всех производных от него классов. Оно хранит строку сообщения, которая в дальнейшем при обработке исключения системным обработчиком отображается в окне сообщений. Устанавливается конструкторами соответствующих исключений. Имеет значение по умолчанию, которое присваивается при автоматической генерации исключения.

При преднамеренной генерации исключений их конструкторы могут задавать значение свойства Message в виде переменной типа string или литеральной константы.

Другие конструкторы задают значение свойства Message с помощью строки описания формата и списка массива аргументов этой строки. Тогда значение свойства Message формируется обращением к функции Format в модуле SysUtils, которая и формирует текст сообщения в соответствии со строкой описания формата и списком массива.


Action - свойство

Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.

Класс TControl

Определение

property Action: TBasicAction;

Описание

Значение свойства Action выбирается во время проектирования из выпадающего списка предусмотренных действий в Инспекторе Объектов. Этот список формируется в процессе проектирования размещением на форме компонента TActionList и заданием его свойств.


Active - свойство TDataSet
Active - свойство

Примеры см.также

Определяет наличие соединения с базой

Класс TControl

Определение

property Active: Boolean;

Описание

Свойство Active определяет наличие соединения с базой данных и управляет этим соединением. Если значение Active равно false - база данных закрыта и чтение или запись данных невозможны.

Установка Active в true вызывает следующее:

•	Генерацию события BeforeOpen.

•	Установку набора данных (свойства State) в состояние dsBrowse.

•	Открытие курсора в наборе данных.

•	Генерацию события AfterOpen.

Если во время открытия набора данных произошла ошибка, набор данных (свойство State) переводится в состояние dsInactive и курсор закрывается.

Приложение должно устанавливать Active в false перед изменением свойств набора данных, влияющих на его состояние или на отображение данных. Если этого не сделать, то будет сгенерировано исключение EDataBaseError с сообщением: "Cannot performe this operation on an open dataset" - "Невозможно выполнить эту операцию на открытом наборе данных".

Свойство Active может устанавливаться непосредственно или методами Open - установка в true, и Close - установка в false.


Align - свойство

Примеры

Определяет способ выравнивания компонента внутри контейнера (родительского компонента)

Класс TControl

Определение

TAlign = (alNone, alTop, alBottom, alLeft, alRight, alClient);

property Align: TAlign;

Описание

Свойство Align определяет, остается ли компонент неизменным при изменении размеров содержащей его формы, панели, другого компонента, или он изменяется, занимая всю доступную площадь, ее верхнюю, нижнюю, левую или правую часть.

Возможные значения свойства:

Значение	Описание
alNone	Компонент остается там, где он размещен во время проектирования. Размеры его не изменяются. Это значение Align по умолчанию.
alTop	Компонент занимает всю верхнюю часть контейнера и во время выполнения приложения его ширина изменяется при изменении ширины контейнера. Высота компонента остается неизменной.
alBottom	Компонент занимает всю нижнюю часть контейнера и во время выполнения приложения его ширина изменяется при изменении ширины контейнера. Высота компонента остается неизменной.
alLeft	Компонент занимает всю левую часть контейнера и во время выполнения приложения его высота изменяется при изменении высоты контейнера. Ширина компонента остается неизменной.
alRight	Компонент занимает всю правую часть контейнера и во время выполнения приложения его высота изменяется при изменении высоты контейнера. Ширина компонента остается неизменной.
alClient	Компонент занимает всю клиентскую область контейнера и во время выполнения приложения его размеры изменяются при изменении размеров контейнера. Если в контейнере часть клиентской области уже занята, компонент занимает всю ее оставшуюся часть.

Значение Align по умолчанию - alNone. В приложениях, в которых пользователь может изменять размер формы, а сама форма разбита панелями или другими компонентами на ряд областей, необходимо изменять это значение Align (см. пример).

Если компонент имеет значение Align, равное alClient, то в процессе проектирования невозможно добраться до содержащего его контейнера и щелкнуть на нем, чтобы получить в Инспекторе Объектов его свойства и события. В этом случае возможны два решения: щелкнуть на компоненте и нажать клавишу Esc или осуществить выбор компонента-контейнера с помощью выпадающего списка в верхней части Инспектора Объектов.

Значения Align alTop и alBottom имеют приоритет перед alLeft и alRight. Поэтому, если вы, например, ввели на форму две панели, одной задали значение alLeft, а второй задаете значение alTop, то вторая панель вытеснит верхнюю часть первой панели, которая первоначально заняла всю левую часть клиентской области. Если это нежелательно, приходится вводить дополнительные панели, являющиеся контейнерами для других панелей.


Anchors - свойство

Примеры

Определяет привязку данного компонента к родительскому при изменении размеров последнего

Класс TControl

Определение

type TAnchorKind = (akTop, akLeft, akRight, akBottom);

type TAnchors = set of TAnchorKind;

property Anchors: TAnchors;

Описание

Свойство Anchors введено только начиная с Delphi 4. Оно определяет привязку данного компонента к родительскому при изменении размеров последнего. Свойство представляет собой множество, которое может содержать следующие элементы:

akTop	Компонент привязан к верхнему краю родительского
akLeft	Компонент привязан к левому краю родительского
akRight	Компонент привязан к правому краю родительского
akBottom	Компонент привязан к нижнему краю родительского

Если в множестве Anchors присутствуют привязки к противоположным сторонам родительского компонента, то при изменении родительского компонента происходит растяжение или сжатие данного компонента, поскольку расстояния от сторон родительского компонента выдерживаются. Сжатие может происходить вплоть до полного уничтожения изображения данного компонента. Для компонента TPaintBox, привязанного к противоположным сторонам родительского компонента, при изменении размеров родительского компонента изображение стирается и наступает событие OnPaint.


AutoCalcFields - свойство

Определяет режим автоматической генерации событий OnCalcFields

Класс TDataSet

Определение

property AutoCalcFields: Boolean;

Описание

Свойство AutoCalcFields, установленное в true (значение по умолчанию), определяет, что события OnCalcFields, связанные с пересчетом вычисляемых полей, генерируются каждый раз, когда:

•	Открывается набор данных.

•	Набор данных переводится в состояние dsEdit (см. свойство State).

•	Фокус перемещается между визуальными компонентами, связанными с данными, или перемещается по столбцам связанной с данными таблицы, если в записи были сделаны изменения.

•	Отыскивается запись в базе данных.

Чтобы сократить частоту пересчетов по событиям OnCalcFields, можно установить AutoCalcFields в false.


AutoEnable - свойство

Примеры

Задает автоматическое определение доступных и не доступных кнопок медиа-плейера в различных режимах

Класс TMediaPlayer

Определение

property AutoEnable: Boolean;

Описание

Свойство AutoEnable задает (при значении равном true) автоматическое определение доступных и не доступных кнопок медиа-плейера в различных режимах в зависимости от свойств Mode и DeviceType.

Если задано AutoEnable = true, то значение, заданное свойством EnabledButtons, игнорируется. Если AutoEnable = false, доступные и недоступные кнопки определяются свойством EnabledButtons.

Доступные и не доступные кнопки в различных режимах, устанавливаемые при AutoEnable = true, определяются следующей таблицей:

Кнопка	Режимы
	Play	Record	Pause	Stop	Not Open
Back	Доступна	Доступна	Доступна	Доступна	Не доступна
Eject	Доступна	Доступна	Доступна	Доступна	Не доступна
Next	Доступна	Доступна	Доступна	Доступна	Не доступна
Pause	Доступна	Доступна	Доступна	Не доступна	Не доступна
Play	Не доступна	Не доступна	Доступна	Доступна	Не доступна
Prev	Доступна	Доступна	Доступна	Доступна	Не доступна
Record	Не доступна	Не доступна	Доступна	Доступна	Не доступна
Step	Доступна	Доступна	Доступна	Доступна	Не доступна
Stop	Доступна	Доступна	Не доступна	Не доступна	Не доступна


AutoMerge - свойство

Определяет, должно ли главное меню вторичной формы объединяться с меню главной формы

Класс TMainMenu

Определение

property AutoMerge: Boolean;

Описание

Если требуется, чтобы меню вторичных форм объединялись с меню главной формы, то в каждой такой вторичной форме надо установить AutoMerge в true. При этом свойство главной формы должно оставаться в false. Способ объединения меню определяется свойствами GroupIndex элементов меню Items типа TMenuItem.

В MDI приложениях объединение меню осуществляется автоматически независимо от значения свойства AutoMerge.


AutoOpen - свойство TMediaPlayer
AutoOpen - свойство

Задает автоматическое открытие медиа-плейера при запуске приложения

Класс TMediaPlayer

Определение

property AutoOpen: Boolean;

Описание

Свойство AutoOpen задает автоматическое открытие медиа-плейера при выполнении приложения. Если AutoOpen = true, медиа-плейер автоматически открывает при создании формы, содержащей медиа-плейер, то устройство, которое указанно свойством DeviceType или свойством FileName, если DeviceType установлено равным dtAutoSelect.

Если AutoOpen = false, то открывать устройство надо методом Open.

Если при открытии устройства происходит ошибка, то генерируется исключение EMCIDeviceError, содержащее сообщение об ошибке. После завершения открытия числовой код ошибки сохраняется в свойстве Error,  а соответствующее сообщение хранится в свойстве ErrorMessage.

Свойство Wait определяет, будет ли управление возвращено в приложение до открытия мультимедиа устройства. Свойство Notify определяет, будет ли открываемое устройство генерировать событие OnNotify.


AutoSelect - свойство

Указывает, будет ли выделяться весь текст, когда элемент получает фокус

Класс TCustomEdit

Определение

property AutoSelect: Boolean;

Описание

Свойство AutoSelect, установленное в true, показывает, что при получении элементом фокуса весь текст окажется выделенным. Это свойство относится только к элементам редактирования одной строки текста.

Свойство AutoSelect имеет смысл устанавливать в true, если по условиям работы пользователь скорее будет заменять текст, имеющийся в окне, чем дополнять его.


AutoSize - свойство TControl

Определяет, будет ли высота компонента автоматически адаптироваться к размеру его содержимого

Класс TControl

Определение

property AutoSize: Boolean;

Описание

При свойстве AutoSize, установленном в true, автоматически изменяет размер компонента таким образом, чтобы было видно все содержащееся в нем. При свойстве AutoSize, установленном в false (по умолчанию), размеры компонента фиксированы.

При AutoSize, равном true, высота элемента меняется при изменении, например, шрифта или стиля бордюра.

Ширина элемента (горизонтальный размер) свойством AutoSize не определяется.


AutoSize - свойство TCustomEdit

Определяет, будет ли высота окна редактирования автоматически адаптироваться к размеру символов текста

Класс TCustomEdit

Определение

property AutoSize: Boolean;

Описание

При свойстве AutoSize, установленном в true, автоматически изменяет размер так, чтобы высота клиентской области окна редактирования соответствовала высоте текста. При свойстве AutoSize, установленном в false, высота элемента фиксирована.

При AutoSize, равном true, высота элемента меняется при изменении, например, шрифта или стиля бордюра.

Ширина элемента (горизонтальный размер) свойством AutoSize не определяется и остается фиксированной. Поэтому длинный текст в окне редактирования усекается и перемещаться по нему можно только перемещением курсора.


AutoSize, Alignment, WordWrap - свойства TCustomLabel и TDBText

см.также

Определяют размещение текста в метке

Класс TCustomLabel

Определения

property AutoSize: Boolean;

type TAlignment = (taLeftJustify, taRightJustify,
                   taCenter);

property Alignment: TAlignment;

property WordWrap: Boolean;

Описание

Свойства AutoSize, Alignment и WordWrap определяют размещение надписи (свойство Caption) в клиентской области метки и размер метки.

При свойстве AutoSize, установленном в false, размеры метки фиксированы. Длинная надпись на ней может обрезаться по длине, а при смене шрифта - и по высоте. Выравнивание текста внутри компонента определяется свойством Alignment, которое позволяет выравнивать текст по левому краю (taLeftJustify), правому краю (taRightJustify) или центру  (taCenter) клиентской области. Если при этом свойство WordWrap - перенос текста установлено в true и высота метки достаточна для размещения нескольких строк, то длинная надпись в метке автоматически переносится по словам.

При свойстве AutoSize, установленном в true, размер метки автоматически изменяет таким образом, чтобы виден был весь ее текст. Размер изменяется и при смене Caption, и при смене шрифта (свойство Font).


Bitmap - свойство TContol
Bitmap - свойство

Пример

Указатель на внешнюю матрицу побитового отображения, используемую как шаблон заполнения в объекте кисть типа TBrush

Класс TControl

Определение

property Bitmap: TBitmap;

Описание

Bitmap указывает на объект типа TBitmap, содержащий побитовое отображение изображения. Если Bitmap не пустой, то шаблон заполнения определяется именно им, а не свойством Style. Если изображение меньше, чем 8х8 пикселей, то для заполнения используется только верхняя левая часть размером 8х8 пикселей.

Изменение шаблона не оказывает влияния на кисть, пока новый TBitmap не будет повторно присвоен свойству Bitmap. При окончании работы с кистью надо позаботиться об освобождении памяти, отведенной под TBitmap, так как TBrush сам ее не освобождает.


Bits - свойство
Bits - свойство класса TBits

Пример

Элементы булевого массива класса TBits.

Класс TBits

Определение

property Bits[Index: Integer]: Boolean

Описание

Свойство Bits используется для чтения или задания значений отдельных элементов объекта типа TBits. Параметр Index задает индекс элемента. Его значение может меняться в пределах от 0 до Size - 1, где Size - свойство, задающее размер массива. Если значение Index выходит из этих пределов, генерируется исключение EBitsError. Все неустановленные элементы имеют значение false.


BoundsRect - свойство

Примеры

Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера

Класс TControl

Определение

TPoint = record

  X: Longint;

  Y: Longint;

end;

TRect = record

  case Integer of

    0: (Left, Top, Right, Bottom: Integer);

    1: (TopLeft, BottomRight: TPoint);

end;

property BoundsRect: TRect;

Описание

Свойство BoundsRect использует тип TRect и позволяет получить одновременно координаты пикселей всех четырех углов компонента. Иной способ получить те же координаты - использовать свойства компонента Left (левый край), Top (верхний край), Width (ширина), Height (высота) и соответствующие вычисления. Иначе говоря, при чтении данных эквивалентны следующие выражения:

Control.BoundsRect.Left	Control.Left
Control.BoundsRect.Top	Control.Top
Control.BoundsRect.Right	Control.Left + Control.Width
Control.BoundsRect.Bottom	Control.Top + Control.Height

Началом координат считается левый верхний угол родительского окна.

Отмеченная выше эквивалентность выражений для различных свойств справедлива только при чтении данных. Но присваивать целые значения выражением типа BoundsRect.Left нельзя. Присвоить значение можно только всей структуре BoundsRect.

При задании значений BoundsRect удобно пользоваться функцией Rect, принимающей координаты сторон прямоугольника и возвращающей структуру типа TRect.

Помимо перечисленных свойств, определяющих размеры компонента, имеются еще свойства ClientWidth и ClientHeight, определяющие размеры его клиентской области. Эти размеры равны или меньше размеров Width и Height.

Свойства, определяющие координаты компонента, полезны в задачах, требующих изменения размеров или перемещения компонентов.


Break - свойство

Определяет, должен ли начинаться с данного раздела новый столбец разделов меню

Класс TMenuItem

Определение

type TMenuBreak = (mbNone, mbBreak, mbBarBreak);

property Break: TMenuBreak;

Описание

Свойство Break используется в длинных меню, чтобы разбить список разделов на несколько столбцов. Возможные значение Break:

mbNone	Отсутствие разбиения меню. Это значение принято по умолчанию.
MbBarBreak	В меню вводится новый столбец разделов и данный раздел является верхним в новом столбце. Столбец отделяется от предыдущего полосой.
MbBreak	В меню вводится новый столбец разделов и данный раздел является верхним в новом столбце. Столбец отделяется от предыдущего пробелами.


Brush - свойство

Определяет цвет и стиль заполнения фона окна

Доступ только для чтения

Класс TWinControl

Определение

property Brush: TBrush;

Описание

Свойство Brush (кисть) присуще многим оконным объектам, включая Canvas. Его можно читать, чтобы определить цвет и стиль заполнения фона окна. Это свойство только для чтения. Однако, атрибуты объекта Brush можно изменять, используя свойства Color и Style. Кроме того все свойства объекта могут быть изменены методом Assign.

Тип TBrush определяет свойства и методы объекта Brush. См. информацию о свойствах и методах, а также примеры в разделе TBrush.


CanModify - свойство TTable
CanModify - свойство

Определяет, возможно ли редактирование набора данных

Доступ только для чтения

Класс TTable

Определение

property CanModify: Boolean;

Описание

Свойство CanModify определяет, возможно ли редактирование набора данных, и управляет этой возможностью. Если значение CanModify равно true, то редактирование (т.е. изменение, добавление, удаление записей) возможно. Если значение CanModify равно true, то набор данных является просто таблицей только для чтения.

Значение CanModify автоматически устанавливается в момент открытия таблицы в зависимости от значения свойства ReadOnly. Если значение ReadOnly равно true, то значение CanModify устанавливается в false. Но значение CanModify автоматически устанавливается в false также в случаях, когда:

•	Другое приложение заблокировало набор данных.

•	Таблица базы данных спроектирована только для чтения.

Однако, значение CanModify, равное true, еще не гарантирует возможность вставлять или изменять записи. Это может зависеть еще от ряда фактором, например, от привилегий доступа SQL.


Canvas - свойство

Поверхность (холст, канва) для рисования во многих компонентах

Доступ только для чтения

Классы TForm, TImage, TBitMap, TPaintBox

Определение

property Canvas: TCanvas;

Описание

Свойство Canvas типа TCanvas используется для рисования пером Pen и кистью Brush, для модификации изображения, наложения друг на друга нескольких изображений.

В компоненте TImage канва может использоваться только в случае, если в свойство Picture загружена битовая матрица или ничего не загружено. Если в Picture находится объект типа, отличного от TBitMap, то при обращении к Canvas генерируется исключение EInvalidOperation. Если же в Picture находится битовая матрица, то Canvas можно использовать для редактирования изображения, например, для добавления в изображение надписей методом TextOut.


Capabilities - свойство

Определяет возможности открытого мультимедиа устройства

Доступ только для чтения

Класс TMediaPlayer

Определение

type

 TMPDevCaps=(mpCanStep,mpCanEject,mpCanPlay,mpCanRecord,
             mpUsesWindow);

 TMPDevCapsSet = set of TMPDevCaps;

property Capabilities: TMPDevCapsSet;

Описание

Свойство Capabilities задается, когда устройство открывается методом Open. Возможны следующие значения элементов множества Capabilities:

mpCanEject	Возможно освобождение объекта, загруженного в устройство
mpCanPlay	Возможно воспроизведение
mpCanRecord	Возможна запись
mpCanStep	Возможно перемещение на задаваемое число кадров вперед и назад
mpUsesWindow	Возможно использование окна для отображения выходного изображения


Capacity - свойство

Пример

Количество элементов массива указателей, которые могут храниться в объекте класса TList

Класс TList

Определение

property Capacity: Integer;

Описание

Свойство Capacity можно задавать, чтобы определить число указателей, которые могут храниться в объекте класса TList. Если при увеличении Capacity оказывается, что ресурсы памяти исчерпаны, генерируется исключение EOutOfMemory.

Свойство Capacity отличается от близкого ему свойства Count. Capacity показывает, сколько указателей может храниться в массиве, т.е. емкость списка, а Count показывает, сколько указателей в действительности хранится в массиве. Поэтому значение Capacity всегда не меньше значения Count.

При добавлении в массив нового элемента Count автоматически увеличивается на 1. Если при этом значение Count превышает значение Capacity, то Capacity тоже автоматически увеличивается, причем с запасом (обычно запас равен 3). Так что свойство Capacity вообще можно нигде в приложении не задавать. Смысл задания Capacity заключается только в том, чтобы предотвратить слишком частое перераспределение памяти при добавлении новых элементов списка.

При удалении элементов списка Count автоматически  уменьшается, а значение Capacity остается неизменным. Таким образом, при сокращении длины списка получаются излишние затраты памяти. В эти случаях целесообразно уменьшить Capacity до значения Count (если не планируется в ближайшее время нового увеличения числа элементов).

Если задать значение Capacity меньшее, чем Count, генерируется исключение EListError с сообщением: List capacity out of bounds [...] (Емкость списка вне допустимых пределов). В квадратных скобках указывается значение Count.

Очистка списка методом Clear сбрасывает Capacity на нуль.

Значение Capacity может быть увеличено методом Expand.


Caption - свойство
Caption - свойство TControl

Пример

Определяет строку текста, идентифицирующую компонент для пользователя

Класс TControl

Определение

TCaption = type string;

property Caption: TCaption;

Описание

Свойство Caption связывает с компонентом некоторую строку текста, поясняющую его назначение. Чаще всего это надписи на кнопках, метках, панелях, тексты разделов меню и т.д.

По умолчанию Caption совпадает с именем компонента - свойством Name и изменяется при его изменении.

Для разделов меню и кнопок можно в свойстве Caption указать символы быстрого доступа. Для этого перед соответствующим символом надо поставить символ амперсанта - &. Следующий за амперсантом символ будет отображаться подчеркнутым и будет являться символом быстрого доступа: при выполнении приложения нажатие клавиши Alt + клавиши данного символа будет эквивалентно выбору соответствующего раздела меню или нажатию соответствующей кнопки.

Если в текст строки Caption надо ввести символ амперсанта, его надо повторить дважды: &&.

В метках также можно указывать амперсантом символ клавиши быстрого доступа. В этом случае надо задать в метке свойство FocusControl - компонент, на который переключается фокус, и установить в true свойство ShowAccelChar. Так можно обеспечить клавишами ускоренного доступа элементы, в которых такие клавиши не предусмотрены, например, окна редактирования TEdit.

Для разделов меню задание значения Caption, равного символу "-", означает разделительную черту.


Charset - свойство

Пример

Свойство, определяющее набор символов шрифта

Класс TFont

Определение

TFontCharset = 0..255;

property Charset: TFontCharset nodefault;

Описание

Свойство Charset определяет набор символов шрифта. Каждый вид шрифта, определяемый его именем, поддерживает один или более наборов символов. Какие именно значения Charset поддерживает  тот или иной шрифт можно установить из документации на него или экспериментальным путем. Для шрифтов, поддерживающих несколько наборов символов важно правильно задать Charset.

В Delphi предопределено много констант, соответствующих стандартным наборам символов. Большинство из них, относящихся к японскому, корейскому, китайскому и другим языкам, вряд ли представляют интерес для наших читателей. Поэтому ниже приводится сокращенная таблица этих констант.

Константа	Зна чение	Описание
ANSI_CHARSET	0	Символы ANSI.
DEFAULT_CHARSET	1	Задается по умолчанию. Шрифт выбирается только по его имени Name и размеру Size. Если описанный шрифт недоступен в системе, то Windows заменит его другим шрифтом.
SYMBOL_CHARSET	2	Стандартный набор символов.
MAC_CHARSET	77	Символы Macintosh. Недоступны для NT 3.51.
GREEK_CHARSET	161	Греческие символы. Недоступны для NT 3.51.
RUSSIAN_CHARSET	204	Символы кириллицы. Недоступны для NT 3.51.
EASTEUROPE_CHARSET	238	Включает диакритические знаки (знаки, добавляемые к буквам и характеризующие их произношение) для восточно-европейских языков. Недоступны для NT 3.51.
OEM_CHARSET	255	Зависит от кодовой таблицы операционной системы.

По умолчанию в объекте типа TFont задается значение Charset, равное DEFAULT_CHARSET. Для имен шрифтов, принятых в Delphi по умолчанию, это обычно нормальный вариант. Но в ряде случаев полезно для отображения русских текстов с другими шрифтами заменить это значение на RUSSIAN_CHARSE. Это позволит отобразить символы кириллицы для тех шрифтов, для которых при DEFAULT_CHARSET символы кириллицы не отображаются нормально.


ClientHeight - свойство

Пример

Высота клиентской области в пикселях

Класс TControl

Определение

property ClientHeight: Integer;

Описание

Свойство ClientHeight может использоваться для чтения или изменения высоты клиентской области. Чтение ClientHeight необходимо, чтобы изменять местоположение или размеры компонентов, расположенных в клиентской области, при изменении размеров компонента-контейнера (см. примеры в разделе BoundsRect).

Эквивалентно по значению свойству ClientRect.Bottom.

В классе TControl значение ClientHeight равно значению Height. Но в производных классах оно обычно меньше Height. Например, для формы значение ClientHeight может уменьшаться из-за бордюра, полосы заголовка, полосы меню, полосы прокрутки.


ClientOrigin - свойство

Пример

Координаты положения на экране левого верхнего угла клиентской области компонента

Доступ только для чтения

Класс TControl

Определение

property FieldValues[const FieldName: string]: Variant; default;

Описание

Свойство ClientOrigin возвращает экранные координаты X и Y левого верхнего угла клиентской области компонента. Горизонтальная координата X и вертикальная координата Y хранятся в структуре типа TPoint. Началом координат считается левый верхний угол экрана.

Экранные координаты ClientOrigin для компонентов, не являющихся потомками класса TWinControl (т.е. не являющихся окнами), определяются как экранные координаты родительского компонента (компонента-контейнера), сложенные со значениями свойств Left и Top. Если компонент не имеет родителя, то при попытке чтения ClientOrigin генерируется исключение EInvalidOperation.


ClientRect - свойство

Пример

Определяет координаты углов клиентской области компонента

Доступ только для чтения

Класс TControl

Определение

TPoint = record

  X: Longint;

  Y: Longint;

end;

TRect = record

  case Integer of

    0: (Left, Top, Right, Bottom: Integer);

    1: (TopLeft, BottomRight: TPoint);

end;

property ClientRect: TRect;

Описание

Свойство ClientRect возвращает структуру типа TRect, характеризующую прямоугольную клиентскую область компонента При этом поля структуры Top и Left устанавливаются в нуль, а поля Right и Bottom определяются соответственно значениями свойств ClientWidth и ClientHeight. Так что ClientRect эквивалентна функции Rect вида Rect(0, 0, ClientWidth, ClientHeight).

Координаты клиентской области могут задаваться как четырьмя целыми значениями координат, так и двумя точками, характеризующими левый верхний и правый нижний углы прямоугольника.


ClientWidth - свойство

Пример

Горизонтальный размер клиентской области в пикселях

Класс TControl

Определение

property ClientWidth: Integer;

Описание

Свойство ClientWidth может использоваться для чтения или изменения горизонтального размера клиентской области. Чтение ClientWidth необходимо, чтобы изменять местоположение или размеры компонентов, расположенных в клиентской области, при изменении размеров компонента-контейнера (см. подобные примеры в разделе BoundsRect).

Эквивалентно по значению свойству ClientRect. Right.

В классе TControl значение ClientWidth равно значению Width. Но в производных классах оно обычно меньше Width за счет бордюра, полосы прокрутки и иных элементов оформления.


ClipRect - свойство

Определяет доступную область рисования на канве и область, подлежащую перерисовке при обработке события OnPaint

Доступ только для чтения

Класс TCanvas

Определение

property ClipRect: TRect;

Описание

Свойство канвы ClipRect определяет доступную область рисования на канве и область, нуждающуюся в перерисовке. Вне области ClipRect рисовать невозможно.

При обработке события формы OnPaint это свойство определяет ту часть канвы, вне которой перерисовка не требуется. Использование этого свойства позволяет сократить затраты времени на перерисовку.


Color - свойство

Цвет фона компонента, цвет текста объекта TFont и др.

Класс TControl

Определение

property Color: TColor;

Описание

Свойство Color определяет цвет фона компонента. Значение цвета может задаваться как значение, определяющее интенсивности красного, зеленого и синего цветов в формате RGB (см. раздел TColor), или равным одной из перечисленных ниже предопределенных в Delphi констант.

Константа	Значение цвета
clBlack	Черный
clMaroon	Темно-бордовый
clGreen	Зеленый
clOlive	Оливково-зеленый
clNavy	Темно-синий
clPurple	Пурпурный
clTeal	Морской воды
clGray	Серый
clSilver	Серебряный
clRed	Красный
clLime	Лимонно-зеленый
clBlue	Синий
clYellow	Желтый
clFuchsia	Сиреневый
clAqua	Голубой
clWhite	Белый
clBackground	Текущий цвет фона стола Windows
clScrollBar	Текущий цвет полос прокрутки
clActiveCaption	Текущий цвет фона полосы заголовка в активном окне
clInactiveCaption	Текущий цвет фона полосы заголовка в неактивном окне
clMenu	Текущий цвет фона меню
clWindow	Текущий цвет фона окон
clWindowFrame	Текущий цвет рамок окон
clMenuText	Текущий цвет текста меню
clWindowText	Текущий цвет текста окон
clCaptionText	Текущий цвет текста заголовка в активном окне
clActiveBorder	Текущий цвет бордюра активного окна
clInactiveBorder	Текущий цвет бордюра неактивного окна
clAppWorkSpace	Текущий цвет рабочей области приложений
clHighlight	Текущий цвет фона выделенного текста
clHightlightText	Текущий цвет выделенного текста
clBtnFace	Текущий цвет поверхности кнопок
clBtnShadow	Текущий цвет теней, отбрасываемых кнопками
clGrayText	Текущий цвет текста недоступных элементов
clBtnText	Текущий цвет текста кнопок
clInactiveCaption Text	Текущий цвет текста заголовка в неактивном окне
clBtnHighlight	Текущий цвет выделенной кнопки
cl3DDkShadow	Цвет темных теней трехмерных элементов; только для Windows 95 или NT 4.0
cl3DLight	Светлый цвет на краях освещенных трехмерных элементов; только для Windows 95 или NT 4.0
clInfoText	Цвет текста советов; только для Windows 95 или NT 4.0
clInfoBk	Цвет фона советов; только для Windows 95 или NT 4.0

Первая часть этих констант соответствует определенным цветам. А вторая часть определяется той схемой цветов, которую установил пользователь в Windows. Пользователь может менять эту схему с помощью Панели Управления Windows. Таким образом, эти цвета могут изменяться от системы к системе. Например, clBtnFace может соответствовать серому цвету в одной схеме и желтовато-коричневому в другой.

Как правило, лучше использовать в приложении эти системно-зависимые цвета. Тогда ваше приложение не будет выбиваться из общей гаммы цветов, на которую настроился пользователь.

Если свойство ParentColor компонента установлено в true (это делается по умолчанию), то цвет фона данного компонента определяется свойством Color контейнера, содержащего данный компонент. Это позволяет автоматически согласовывать цвета компонентов, содержащиеся в одной области окна. Как только вы задаете в Инспекторе Объектов или программно значение Color, свойство ParentColor переключается в false.


CommonAVI - свойство

Определяет стандартный клип Windows из библиотеки Shell32.dll

Класс TAnimate

Определение

type TCommonAVI = (aviNone, aviFindFolder, aviFindFile, aviFindComputer, aviCopyFiles, aviCopyFile, aviRecycleFile, aviEmptyRecycle, aviDeleteFile);

property CommonAVI: TCommonAVI;

Описание

Свойство CommonAVI определяет стандартный для Windows клип (типа копирования файлов, удаления файлов, поиска файлов и папок и т.п.). Значение aviNone соответствует случаю, когда воспроизводимый клип задается не с помощью CommonAVI,  а иным способом.

Установка автоматически очищает свойства FileName и ResName, а свойства ResHandle и ResID устанавливает в 0.


Constraints - свойство

Позволяет задавать ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения

Класс TControl

Определение

property Constraints: TSizeConstraints;

Описание

Свойство Constraints является объектом типа TSizeConstraints. Этот объект имеет четыре основных свойства: MaxHeight, MaxWidth, MinHeight и MinWidth - соответственно максимальная высота и ширина и минимальная высота и ширина компонента. Тип каждого из этих свойств - TConstraintSize, который объявлен следующим образом:

TConstraintSize = 0..MaxInt;

По умолчанию значения свойств MaxHeight, MaxWidth, MinHeight и MinWidth равны 0, что означает отсутствие ограничений. Но задание любому из этих свойств положительного значения приводит к соответствующему ограничению размера заданным числом пикселей.

Чтобы какие-то компоненты не исчезали из поля зрения при изменениях пользователем или программой размеров окна приложения, можно задать компонентам ограничения минимальной высоты и длины. Таким образом можно поддерживать нормальные пропорции отдельных частей окна. Можно задать ограничения на минимальные и максимальные размеры формы, т.е. всего окна. Например, если вы зададите для формы значения MaxHeight = 500 и MaxWidth = 500, то пользователь не сможет сделать окно большим, чем квадрат 500 х 500. Причем это ограничение будет действовать даже если пользователь нажмет системную кнопку, разворачивающую окно на весь экран. Окно развернется, но его размеры не превысят заданных. Это иногда полезно делать, чтобы развернутое окно не заслонило какие-то другие нужные пользователю окна.


ControlCount - свойство

Пример

Число дочерних компонентов оконного элемента

Доступ только для чтения

Класс TWinControl

Определение

property ControlCount: Integer;

Описание

Свойство ControlCount используется совместно со свойством Controls в итерациях по всем дочерним компонентам данного оконного элемента или если надо определить индекс последнего компонента. Свойство Controls, с которым используется ControlCount, дает доступ к дочерним компонентам. Значение ControlCount всегда на 1 больше последнего индекса дочернего компонента, поскольку индексы считаются с 0.


Controls - свойство

Пример

Массив дочерних компонентов оконного элемента

Доступ только для чтения

Класс TWinControl

Определение

property Controls[Index: Integer]: TControl;

Описание

Свойство Controls является массивом всех дочерних компонентов данного оконного элемента. Дочерними являются те компоненты, которые расположены в клиентской области данного оконного элемента и в свойстве Parent которых указан как родитель данный элемент. Параметр Index определяет индекс соответствующего компонента. Индекс, начинающийся с 0, соответствует положению компонента в Z-последовательности данного родительского элемента.

Свойство Controls обычно используется в итеративных процедурах групповой обработки дочерних компонентов, когда на них неудобно ссылаться по имени. В подобных итеративных процедурах обычно используется также свойство ControlCount, определяющее число дочерних компонентов.

Надо четко представлять себе отличие свойства Controls от свойства Components. Свойство Components относится не к дочерним компонентам, а к тем, которыми владеет данный объект. В частности, всеми компонентами на форме владеет форма и они содержатся в ее списке Components.

Свойство Controls предназначено только для чтения. Оно изменяется (точнее меняются индексы компонентов) при изменении Z-последовательности.

Изменить Z-последовательность в процессе проектирования можно, выполнением команд Bring To Front или Send To Back. Первая из них пересылает выделенный компонент наверх, присваивая ему максимальный индекс, а вторая пересылает вниз, присваивая ему минимальный индекс (0 для не оконных компонентов и минимально возможный для оконных, поскольку всегда не оконные компоненты имеют индекс меньше оконных). Выполнить эти команды можно или из раздела меню Edit, или щелкнув правой кнопкой мыши и выбрав их из всплывающего меню.

Программно место компонента в Z-последовательности можно изменить методами BringToFront и SendToBack. На Z-последовательность влияют также методы InsertControl и RemoveControl, добавляющие и удаляющие дочерние компоненты, и изменение свойства компонентов Parent, меняющее родителя компонента.


ControlState - свойство, TControlState - тип
ControlState - свойство

Множество значений, характеризующих состояние компонента во время выполнения приложения

Класс TControl

Определение

type TControlState = set of (csLButtonDown, csClicked, csPalette, csReadingState, csAlignmentNeeded, csFocusing, csCreating);
property ControlState: TControlState;

Описание

Свойство ControlState типа TControlState определяет различные условия, действующие на данный экземпляр компонента, например, наличие щелчка мыши или необходимость выравнивания компонента. Свойство используется в основном при создании новых классов, производных от TControl. Свойство может содержать следующие флаги:

Состояние	Пояснение
csLButtonDown	Левая кнопка мыши нажата, но еще не освобождена.
CsClicked	То же самое, что csLButtonDown, но только в том случае, если свойство компонента ControlStyle содержит флаг csClickEvents, означающее, что событие, связанное с нажатием кнопки, интерпретируется как щелчок.
CsPalette	Компонентом или одним из его родителей получено сообщение WM_PALETTCHANGED.
CsReadingState	Компонент читает свое состояние из потока.
CsAlignmentNeeded	Компонент должен осуществить выравнивание.
CsFocusing	Приложение получило сообщение о переключении фокуса на данный компонент. Это не гарантирует, что компонент получит фокус, но позволяет предотвратить рекурсивные вызовы.
CsCreating	Создается данный компонент, или его владелец, или управляемый им компонент. Этот флаг очишается, когда создание компонента завершено.
CsPaintCopy	Компонент должен быть перекрашен. Это состояние возможно, если свойство ControlStyle содержит флаг csReplicatable.

Свойство ControlState характеризует не класс в целом, а конкретный объект класса.


ControlStyle - свойство, TControlStyle - тип
ControlStyle - свойство

Множество значений, характеризующих стиль компонента

Класс TControl

Определение

type

  TControlStyle = set of (
                     csAcceptsControls, csCaptureMouse,
                     csDesignInteractive, csFramed,
                     csClickEvents, csSetCaption,
                     csOpaque, csDoubleClicks,
                     csFixedWidth, csFixedHeight,
                     csNoDesignVisible, csReplicatable,
                     csNoStdEvents, csDisplayDragImage,
                     csReflector);

property ControlStyle: TControlStyle;

Описание

Свойство ControlStyle типа TControlStyle определяет различные атрибуты компонента, например, может ли он быть захвачен мышью или имеет ли он фиксированные размеры. Свойство используется в основном при создании новых классов, производных от TControl. Свойство может содержать следующие флаги:

Флаг	Пояснение
csAccepts Controls	Компонент становится родителем любого компонента, перенесенного на него в процессе проектирования.
CsDesign Interactive	Компонент устанавливает соответствие во время проектирования щелчка правой кнопки мыши щелчку левой кнопки для манипуляций с компонентом.
CsClickEvents	Компонент получает сообщение о щелчке мыши и реагирует на него.
CsFramed	Компонент имеет объемную рамку.
CsSetCaption	Компонент должен изменять надпись на нем в соответствии со свойством Name, если только надпись не задана явным образом.
CsOpaque	Компонент полностью заполняет свою клиентскую область.
CsDoubleClicks	Компонент получает сообщение о двойном щелчке мыши и реагирует на него. Если флаг не установлен, то двойной щелчок интерпретируется как просто щелчок.
CsFixedWidth	Ширина компонента не меняется и не масштабируется.
CsFixedHeight	Высота компонента не меняется и не масштабируется.
CsNoDesign Visible	Компонент невидим во время проектирования.
CsReplicatable	Компонент может копироваться методом PaintTo для прорисовки призвольной канве.
CsNoStdEvents	Игнорируются стандартные события, такие, как нажатие кнопок мыши, клавиш, щелчки. Этот флаг надо устанавливать, если ваш код не должен реагировать на эти события; в результате ваше приложение будет выполняться быстрее.
CsDisplayDrag Image	Компонент может отображать изображение из списка изображений, когда мышь перемещается на него. Этот флаг устанавливается, если компонент реализует список изображений для отображения при перемещении на него мыши.
CsReflector	Компонент реагирует на сообщения Windows, поступающие из диалогов, сообщения о фокусировке, сообщения об изменении размеров. Этот флаг устанавливается, если компонент может использоваться как элемент ActiveX и должен реагировать на эти события.

Свойство ControlStyle описывает не свойства отдельных экземпляров класса, а класс в целом. Флаги не могут изменяться для различных экземпляров компонентов и не могут изменяться в процессе выполнения приложения. Изменяемые характеристики отображаются свойством ControlState.

Метод Create класса TControl инициализирует свойство ControlStyle значениями [csCaptureMouse, csClickEvents, csSetCaption, csDoubleClicks].


CopyMode - свойство

Примеры

Определяет режим копирования графического изображения на канву

Класс TCanvas

Определение

type TCopyMode = Longint;

property CopyMode: TCopyMode default cmSrcCopy;

Описание

Свойство канвы CopyMode определяет режим копирования графического изображения на канву методом CopyRect или при рисовании объекта TBitmap. Используя свойство можно достичь различных эффектов объединения изображений и их комбинирования.

Возможны следующие значения свойства CopyMode (используемые константы определены в модуле Windows):

cmBlackness	Заполняет область канвы, в которую производится копирование, черным цветом. Собственное изображение на канве и копируемое изображение игнорируются.
CmDstInvert	Инвертирует изображение на канве. Копируемое изображение игнорируется.
CmMergeCopy	Комбинирует изображение канвы и копируемое изображение, используя булеву операцию AND. То же, что cmSrcAnd.
CmMergePaint	Комбинирует изображение канвы и инверсию копируемого изображения, используя булеву операцию OR.
CmNotSrcCopy	Копирует на канву инверсное изображение. Собственное изображение на канве игнорируется.
CmNotSrcErase	Комбинирует изображения канвы и копируемого изображения, используя булеву операцию OR, а затем инвертирует результат.
CmPatCopy	Копирует шаблон источника на канву. Собственное изображение на канве игнорируется.
CmPatInvert	Комбинирует изображение канвы и шаблон источника, используя булеву операцию XOR.
CmPatPaint	Комбинирует инверсное изображение источника и его шаблон, используя булеву операцию OR. Затем этот результат комбинирует с изображением канвы, используя булеву операцию OR.
CmSrcAnd	Комбинирует изображения канвы и источника, используя булеву операцию AND. То же, что cmMergeCopy.
CmSrcCopy	Копирует изображение источника на канву. Собственное изображение на канве игнорируется. Этот режим принят по умолчанию.
CmSrcErase	Инвертирует изображение на канве и комбинирует результат с изображением источника, используя булеву операцию AND.
CmSrcInvert	Комбинирует изображения канвы и источника, используя булеву операцию XOR. Повторное копирование восстанавливает прежнее изображение на канве.
CmSrcPaint	Комбинирует изображения канвы и источника, используя булеву операцию OR.
CmWhiteness	Заполняет область канвы, в которую производится копирование, белым цветом. Собственное изображение на канве и копируемое изображение игнорируются.


Count - свойство TList
Count - свойство

Пример

Количество элементов массива указателей, хранящихся в объекте класса TList

Класс TList

Определение

property Count: Integer;

Описание

Свойство Count показывает число элементов массива указателей, хранящихся в объекте класса TListTList. При добавлении или удалении элементов методами Add и Delete значение Count увеличивается или уменьшается автоматически. Если намеренно увеличить значение Count, то в список добавится соответствующее число нулевых указателей nil. Если намеренно уменьшить значение Count, то соответствующее число последних элементов списка будет удалено.

Значение Count не всегда равно действительному числу указателей на объекты, хранящихся в списке, поскольку ряд хранящихся в нем указателей могут иметь значение nil. Удалить эти элементы nil можно методом Pack.

Свойство Count отличается от близкого ему свойства Capacity. Capacity показывает, сколько указателей может храниться в массиве, т.е. емкость списка, а Count показывает, сколько указателей в действительности хранится в массиве. Поэтому значение Count всегда не больше значения Capacity.


Ctl3D - свойство

Определяет, будет ли компонент выглядеть объемным или плоским

Класс TWinControl

Определение

property Ctl3D: Boolean

Описание

Свойство Ctl3D определяет внешний вид элемента. Если Ctl3D установлено в true, элемент выглядит объемным. Если же Ctl3D установлено в false, то элемент выглядит плоским. По умолчанию Ctl3D равно true.

Если свойство дочерних компонентов ParentCtl3D установлено в true, то изменение свойства Ctl3D родительского компонента автоматически приводит к изменению свойств Ctl3D дочерних компонентов. Когда явным образом идет установка свойства Ctl3D компонента, его свойство ParentCtl3D автоматически устанавливается в false.

Чтобы свойство Ctl3D работало для радиокнопок, индикаторов и любых обычных диалогов в системе Windows NT 3.51, в каталоге System32 должна быть установлена библиотека CTL3D32.DLL. Для Windows 95/98/2000 и NT 4.0 эта библиотека не требуется.


Cursor, DragCursor - свойства, TCursor - тип
Cursor и DragCursor - свойства

Определяют изображение курсора мыши, когда он расположен в области компонента

Класс TControl

Определение

TCursor = -32768..32767;

property Cursor: TCursor;

Описание

Свойство Cursor типа TCursor определяет изображение курсора мыши, когда он расположен в области компонента. Изменение изображения курсора при перемещении его в области компонента указывает пользователю на действия, которые он при этом может совершить. Имеется еще одно свойство, аналогичное Cursor - свойство DragCursor. Оно отвечает за изображение курсора при перемещении его в области компонента в процессе перетаскивания.

Значения свойств Cursor и DragCursor являются индексом списка возможных курсоров, управляемого глобальной переменной Screen. Кроме встроенных типов курсоров, обеспечиваемых в TScreen, приложение может добавить в список свои заказные изображения.

Ниже приводится перечень встроенных в TScreen типов курсоров:

Значение	Изображение
crDefault	Курсор, принятый по умолчанию в классе окон. Обычно это crArrow.
CrNone	Отсутствие изображения
crArrow
crCross
crIBeam
crSize
crSizeNESW
crSizeNS
crSizeNWSE
crSizeWE
crUpArrow
crHourGlass
crDrag
crNoDrop
crHSplit
crVSplit
crMultiDrag
crSQLWait
crNo
crAppStart
crHelp
crHandPoint


DesktopFont - свойство

Определяет, использует ли компонент для отображения текста изображение шрифта Windows

Класс TControl

Определение

property DesktopFont: Boolean;

Описание

Установка свойства DesktopFont в true определяет, что компонент должен использовать для свойства Font изображение шрифта Windows. Этот шрифт задается свойством IconFont глобальной переменной Screen.

Если DesktopFont установлено в true, то свойство Font будет изменяться всякий раз при изменении шрифта Windows. Это изменение может осуществляться заданием свойства IconFont глобальной переменной Screen или изменяться другими программами. Установка свойства Font напрямую равным Screen.IconFont не разрешается.


DeviceType - свойство

Определяет тип устройства мультимедиа, открываемого медиа-плейером

Класс TMediaPlayer

Определение

type TMPDeviceTypes = (dtAutoSelect,dtAVIVideo,dtCDAudio,
                       dtDAT,dtDigitalVideo,dtMMMovie,dtOther,
                       dtOverlay,dtScanner,dtSequencer,dtVCR,
                       dtVideodisc,dtWaveAudio);

property DeviceType: TMPDeviceTypes;

Описание

Свойство DeviceType определяет тип устройства мультимедиа, открываемого компонентом TMediaPlayer методом Open. Тип TMPDeviceTypes содержит типы устройств, которые могут быть открыты. По умолчанию значение свойства DeviceType - dtAutoSelect. Это означает, что тип устройства определяется по расширению файла, указанного свойством FileName. Если нет типа, связанного с данным расширением, то надо явным образом указать значение DeviceType, отличное от dtAutoSelect.

Обычно мультимедиа устройство связывается с соответствующим расширением файла при установке данного устройства на компьютере. Эта связь отражена в реестре или в файле SYSTEM.INI. В документации по конкретным устройствам указано, как связать расширения файлов с данными устройствами.


Display - свойство

Пример

Определяет окно, которое должно использовать мультимедийное устройство для вывода

Класс TMediaPlayer

Определение

property Display: TWinControl;

Описание

Свойство Display указывает оконный компонент, который должно использовать мультимедийное устройство для вывода. Таким компонентом может быть форма или панель. По умолчанию значение Display равно nil, что означает, что устройство создает свое собственное окно для вывода. Если после того, как было открыто устройство, окно, указанное в Display, уничтожается, вывод переводится в окно, создаваемое устройством.

Окна для вывода используют такие устройства мультимедиа, как Animation, AVI Video, Digital Video, Overlay и VCR.

Область вывода внутри окна может указываться свойством DisplayRect.


DisplayRect - свойство

Пример

Указывает область окна, определенного свойством Display, для вывода в нее изображения, формируемого мультимедийным устройством

Класс TMediaPlayer

Определение

property DisplayRect: TRect;

Описание

Свойство DisplayRect типа TRect указывает прямоугольную область окна, определенного свойством Display, для вывода в нее изображения, формируемого мультимедийным устройством. Свойство DisplayRect игнорируется, если Display равно nil.

Свойство DisplayRect может задаваться только после того, как медиа устройство открыто.

Для задания свойства DisplayRect можно использовать функцию Rect. Однако, в данном свойстве использование этого типа не совсем обычно. Первые две координаты, как и обычно, задают положение левого верхнего угла изображения. А два следующих числа задают ширину и высоту изображения, а не координаты правого нижнего угла.

Производительность устройств обычно повышается, если использовать размер DisplayRect по умолчанию. Для этого в DisplayRect указывается левый верхний угол, а два другие координаты задаются равными 0, 0.


DockOrientation - свойство

Определяет позицию, в которой будет встраиваться компонент

Класс TControl

Определение

type TDockOrientation = (doNoOrient, doHorizontal, doVertical);

property DockOrientation: TDockOrientation;

Описание

Свойство DockOrientation определяет позицию, в которой будет встраиваться компонент по отношению к другим встроенным компонентам: doNoOrient - без какой-то заданной ориентации, doHorizontal - зоны размещения упорядочиваются сверху вниз, doVertical  - зоны размещения упорядочиваются слева направо.


DragKind - свойство

Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc

Класс TControl

Определение

type TDragKind = (dkDrag, dkDock);

property DragKind: TDragKind;

Описание

Свойство DragKind определяет, будет ли компонент перетаскиваться обычным образом (по технологии Drag&Drop) - значение dkDrag, или он будет перетаскиваться для встраивания (по технологии Drag& Doc) - значение dkDock.


DragMode - свойство, TDragMode - тип
DragMode - свойство

Пример

Определяет поведение компонента в процессе его перетаскивания

Класс TControl

Определение

TDragMode = (dmManual, dmAutomatic);

property DragMode: TDragMode;

Описание

Свойство DragMode типа TDragMode определяет поведение компонента в процессе его перетаскивания. Свойство может принимать значения:

dmAutomatic	От программиста не требуется обработка каких-либо событий. Компонент готов к перетаскиванию. Пользователю достаточно щелкнуть на его изображении и начать перетаскивать.
DmManual	Компонент не может быть перетащен, пока приложение не вызовет метод BeginDrag.


DrawingStyle - свойство

Определяет стиль, используемый при рисовании изображения

Класс TCustomImageList

Определение

type TDrawingStyle = (dsFocus, dsSelected, dsNormal,
                      dsTransparent);

property DrawingStyle: TDrawingStyle;

Описание

Свойство DrawingStyle определяет стиль изображения. Возможные значения:

dsFocused	Изображение рисуется на 25% смешанное с цветом, указанным свойством BlendColor. Влияет только на список изображений, содержащий маски.
DsSelected	Изображение рисуется на 50% смешанное с цветом, указанным свойством BlendColor. Влияет только на список изображений, содержащий маски.
DsNormal	Изображение рисуется с использованием цвета, указанного свойством BkColor. Если BkColor задано равным clNone, изображение рисуется прозрачным с использованием маски.
DsTransparent	Изображение рисуется с использованием маски, независимо от установки BkColor.


Enabled - свойство

Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером

Класс TControl

Определение

property Enabled: Boolean;

Описание

Свойство Enabled определяет доступность компонента для пользователя. Чтобы сделать компонент недоступным, надо установить Enabled в false. Недоступный компонент отображается серым цветом. Он игнорирует события, связанные с мышью, клавиатурой и события таймера OnTimer.

Чтобы восстановить доступность компонента, надо установить Enabled в true. Компонент начинает нормально отображаться на экране и реагировать на действия пользователя.


Font - свойство

Примеры

Определяет атрибуты шрифта

Класс TControl

Определение

property Font: TFont;

Описание

Свойство Font является объектом типа TFont. Изменение шрифта можно осуществить или созданием нового объекта типа TFont, или изменением свойств Color, Height, Name, Pitch, Size, Style существующего объекта. См. подробнее методы свойства и события объекта Font и его установки по умолчанию в разделе TFont.


GroupIndex - свойство

Пример

Определяет логическую группу, к которой относится раздел главного меню и которая используется при объединении меню нескольких форм

Класс TMenuItem

Определение

property GroupIndex:Byte;

Описание

Свойство GroupIndex определяет способ объединения меню. В MDI приложениях меню дочерних форм всегда объединяются с меню родительской формы. В приложениях с несколькими формами наличие или отсутствие объединение определяется свойством AutoMerge компонента TMainMenu.

По умолчанию все разделы меню имеют одинаковое значение GroupIndex. Если требуется объединение меню, то разделам надо задать не убывающие номера свойств GroupIndex. Тогда, если разделы встраиваемого меню имеют те же значения, что и какие-то разделы меню основной формы, то эти разделы заменяют соответствующие разделы основного меню. В противном случае разделы вспомогательного меню встраиваются между элементами основного меню в соответствии с номерами GroupIndex. Если встраиваемый раздел имеет GroupIndex меньший, чем любой из разделов основного меню, то разделы встраиваются в начало.

Когда активизирован объект, созданный сервером OLE 2.0, сервер может попытаться объединить свое меню с меню контейнера приложения. Тогда свойство GroupIndex используется для замены до трех разделов главного меню. Для замещения приложение сервера использует следующие предопределенные значения GroupIndex:

Группа	Индекс	Описание
Edit	1	Разделы меню сервера, связанные с редактированием активного объекта OLE
View	3	Разделы меню сервера, связанные с отображением активного объекта OLE
Help	5	Разделы меню сервера, связанные с доступом к встроенной справке

Свойство GroupIndex может использоваться и еще для одной цели, создания группы разделов, работающих по принципам радиокнопок. Для этого во всех разделах группы надо установить в true свойство RadioItem и задать всем разделам одинаковое значение GroupIndex. Выбор пользователем одного из таких разделов будет снимать выделение с остальных разделов.


Handle - свойство

Обеспечивает доступ к дескриптору окна

Доступ только для чтения

Класс TWinControl

Определение

property Handle: HWND;

Описание

Свойство Handle используется при обращении к функциям API Windows, требующим указания дескриптора окна.

Обращение к свойству Handle приводит к созданию дескриптора, если его не было до этого. Поэтому нельзя обращаться к этому свойству при создании компонента или чтении его из потока.


Height - свойство компонента

Пример

Определяет высоту компонента или формы в пикселях

Класс TControl

Определение

property Height: Integer;

Описание

Свойство Height определяет вертикальный размер компонента или формы в пикселях. Используется для изменения высоты компонента при изменениях размеров окна приложения. См. разделы ClientHeight, ClientRect.


Height - свойство Font
Height - свойство шрифта

Определяет высоту шрифта в пикселях

Класс TFont

Определение

property Height: Integer;

Описание

Свойство Height определяет высоту шрифта в пикселях. Если значение Height задано отрицательным, то в размер не входит верхний пиксель каждой строки.

Обычно для задания размера используется не Height, а другое свойство: Size - размер шрифта в кеглях или в пунктах, принятых в Windows.

Значение Height связано со свойствами Size и PixelsPerInch (число пикселей на дюйм - см. TFont) соотношением:

Font.Height = -Font.Size * Font.PixelsPerInch / 72

Из соотношения, в частности, видно, что задание положительного значения Size ведет к отрицательному значению Height. Можно задавать Size отрицательным; тогда Height будет положительным.


HelpContext - свойство оконных элементов

Определяет номер, используемый в контекстно зависимой справке

Класс TWinControl

Определение

property HelpContext: THelpContext;

Описание

Значение HelpContext задается для определения уникального номера экрана контекстно зависимой справки. Это экран будет показан пользователю, если он нажмет клавишу F1, когда данный компонент в фокусе.

Если значение HelpContext равно 0, то компонент наследует значение своего родительского элемента (элемента-контейнера, в котором он расположен). Например, если задано значение HelpContext для формы, то для всех компонентов, у которых не задано отличного от нуля значения HelpContext, будет показан экран справки, указанный для формы. Тип THelpContext определен в модуле Classes следующим образом

type THelpContext = -MaxLongInt..MaxLongInt;


Hint - свойство
Hint - свойство компонента

Примеры

Содержит текст, отображаемый в окне подсказки или в строке состояния

Классы  TControl

        TApplication

Определение

property Hint: string;

Описание

Свойство Hint компонента обеспечивает текст подсказки, появляющийся в ярлычке (всплывающем окне подсказки) или в заданном месте окна, например, в строке состояния.

В общем случае Hint состоит из двух частей, разделенных символом вертикальной черты '|'. Первая часть отображается в ярлычке, если пользователь задержит курсор мыши над данным компонентом (это может быть любой компонент, включая разделы меню). Это обычно краткое пояснение компонента. В частности, такой подсказкой как правило снабжаются быстрые кнопки типа TSpeedButton. Вторая часть содержит текст, отображаемый в какой-то выделенной для этого части окна, например, в строке состояния. Это обычно развернутое пояснение. Например, свойство Hint для быстрой кнопки доступа к разделу меню сохранения файла может иметь вид: 'Сохранить|Сохранение текущего документа в файле'. Как частный случай, в свойстве Hint может быть задана только первая часть подсказки без символа '|'.

Для того, чтобы первая часть подсказки появлялась в ярлычке, когда пользователь задержит курсор мыши над данным компонентом, надо сделать следующее:

1.	 Указать тексты свойства Hint для всех компонентов, для которых вы хотите обеспечить окно подсказки.

2.	 Установить свойства ShowHint (показать подсказку) этих компонентов в true или установить в true свойство ParentShowHint (ShowHint родителя) и установить в true свойство ShowHint контейнера, содержащего данные компоненты, или формы.

Конечно, вы можете устанавливать свойства в true или false программно, включая и отключая подсказки в различных режимах работы приложения.

При ShowHint в true ярлычок будет всплывать даже если компонент в данный момент недоступен (Enabled = false).

Если вы не задали значение свойства компонента Hint, но установили в true свойство ShowHint или установили в true свойство ParentShowHint, а в родительском компоненте ShowHint = true, то в ярлычке будет отображаться текст Hint из родительского компонента.

Правда, все описанное выше справедливо при значении свойства ShowHint приложения Application равном true (это значение задано по умолчанию). Если установить Application.ShowHint в false, то ярлычки не будут появляться независимо от значений ShowHint в любых компонентах.

Для того, чтобы вторая часть сообщения, записанного в Hint, отображалась в строке состояния в моменты, когда курсор мыши проходит над компонентом, надо использовать обработку события OnHint. Это событие именно приложения Application, а не того компонента, над которым проходит курсор мыши. Если обработчик этого события определен, то в момент прохождения курсора над компонентом, в котором задано свойство Hint, вторая часть сообщения компонента заносится в свойство Hint объекта Application. Если свойство Hint компонента содержит только одну часть, то в свойство Hint объекта Application заносится эта первая часть. Причем все это делается независимо от состояния свойства компонента

.

Чтобы отображать эти сообщения в строке состояния, надо определить и написать обработчик события приложения OnHint, как показано в приведенном ниже примере.

Третий способ использования свойства Hint компонента заключается в непосредственном отображении текста заключенного в нем сообщения в какой-то метке или панели с помощью функций GetShortHint и GetLongHint, первая из которых возвращает первую часть сообщения, а вторая - вторую (если второй части нет, то возвращается первая часть).


HostDockSite - свойство

Определяет контейнер, в который встроен данный компонент

Класс TControl

Определение

property HostDockSite: TWinControlClass;

Описание

Свойство HostDockSite определяет контейнер, в который встроен данный компонент. Если компонент находится в состоянии "плавающего" окна, то HostDockSite - временный объект типа FloatingDockSiteClass или nil.

Обычно для программного встраивания компонента лучше использовать метод ManualDock, а не задание HostDockSite. Установка HostDockSite приводит к немедленному встраиванию компонента в указанный контейнер, но не устанавливает позицию компонента, его выравнивание и не воспроизводит событий встраивания.

Для встроенных компонентов значение HostDockSite совпадает со значением Parent. Но если компонент никуда не встроен, то HostDockSite = nil, а Parent указывает на контейнер, содержащий данный компонент.


ImageIndex - свойство

Индекс изображения раздела в списке изображений родительского меню

Класс TMenuItem

Определение

property ImageIndex: Integer;

Описание

Свойство ImageIndex указывает индекс изображения, появляющегося левее надписи данного раздела меню. Индекс относится к списку изображений - свойству Images родительского меню типа TMainMenu или TPopupMenu и начинается с 0.

Если родительское меню не содержит списка изображений (свойство Images равно nil), то для отображения изображения надо использовать свойство Bitmap компонента типа TMenuItem. Но Bitmap действует только при Images равном nil и отрицательном значении ImageIndex. В противном случае значение Bitmap не принимается во внимание.


IsControl - свойство

Определяет, сохраняет ли форма свои специфические свойства в поток

Класс TControl

Определение

property IsControl: Boolean;

Описание

Свойство IsControl позволяет использовать форму как сложный управляющий элемент, а не просто как поле для размещения компонентов. Это свойство влияет на то, каким образом сохраняется форма. Если IsControl равно true, то специфические свойства формы не сохраняются вместе с ней. Если же IsControl равно false, то все специфические свойства формы сохраняются.

Свойство IsControl позволяет разработчику позволяет создать сложный управляющий элемент, например, какую-то панель, как форму, разместив на ней необходимые компоненты и написав обработчики кодов. После создания такой формы надо сохранить ее, отредактировать ее как текст и в этой текстовой версии установить IsControl в true. Затем опять загрузить форму и сохранить ее. При этом сохранятся только те свойства формы, которые характерны для управляющих элементов, а специфические свойства не сохранятся TForm. Затем можно отредактировать текстовый файл формы, изменив тип компонента, например, с TForm на TPanel.


Items - свойство TMenu

Описывает элементы (разделы) меню

Класс TMenu

Определение

property Items: TMenuItem; default;

Описание

Свойство Items обеспечивает доступ к элементам меню. Обращаться к ним можно по индексам, например, Menu1.Items[0]. В процессе проектирования установит значения можно щелчком на этом свойстве в Инспекторе Объектов или с помощью конструктора меню, вызываемого двойным щелчком на компоненте меню.


Items - свойство TList
Items - свойство класса TList

Примеры

Элементы массива указателей в объекте класса TList

Класс TList

Определение

property Items[Index: Integer]: Pointer;

Описание

Свойство Items дает доступ к указателям, хранящимся в объекте класса TList. Параметр Index является индексом массива указателей. Индексы изменяются, начиная с 0 (0 - индекс первого указателя).

Свойство Items позволяет получить доступ и к объектам, на которые указывают элементы массива. Но при этом надо учитывать, что свойство Items имеет тип Pointer, т.е. является не типизированным указателем. Такой указатель нельзя разименовать непосредственно. Надо использовать явное или неявное приведение типов. Примеры этого приведены ниже, а также в разделе TList.

При организации циклов с просмотром указателей, содержащихся в Items надо иметь в виду, что часть из них может быть равна nil. Если это может нарушить работу алгоритма, то предварительно надо применить к объекту TList метод Pack, который сократит размер массива, удалив из него нулевые указатели.


Left - свойство

Примеры

Координата левого края компонента в пикселях

Класс TControl

Определение

property Left: Integer;

Описание

Свойство Left определяет координату левого края компонента в пикселях. Для компонентов за начало отсчета берется левая граница клиентской области родителя (например, панели, если данный компонент расположен на панели, или формы, если компонент расположен непосредственно на форме). Для формы координата Left представляет собой горизонтальную координату экрана, отсчитываемую от его левого края.

Свойство Left используется при перемещениях и изменениях размеров компонентов (см. примеры в разделах BoundsRect и Components.


List - свойство
List- свойство класса TList

Пример

Указатель на массив указателей в объекте класса TList

Доступ только для чтения

Класс TList

Определение

TPointerList = array[0..MaxListSize-1] of Pointer;

PPointerList = ^TPointerList;

property List: PPointerList;

Описание

Свойство List дает непосредственный доступ к массиву Items - массиву указателей объекта типа TList. Например, MyList.Items[0], MyList.List[0] и MyList.List^[0] указывают на один и тот же элемент массива.


LockCount - свойство

Указывает, сколько раз блокирована канва для предотвращения эффектов наложения от действия различных нитей многопоточного приложения

Доступ только для чтения

Класс TCanvas

Определение

property LockCount: Integer;

Описание

Свойство канвы LockCount определяет, сколько раз заблокирована канва для предотвращения эффектов наложения от действия различных нитей многопоточного приложения. Если значение LockCount равно 0, то канва разблокирована. Так что чтение этого свойства позволяет узнать, есть ли блокировка. Увеличение LockCount на единицу производится методом Lock. Метод TryLock устанавливает значение LockCount в 1, если до этого LockCount равнялось 0, и не изменяет LockCount в остальных случаях. Метод Unlock уменьшает LockCount на 1.


Mode - свойство TMediaPlayer
Mode - свойство класса TMediaPlayer

Пример

Указывает состояние открытого мультимедийного устройства

Доступ - только для чтения

Класс TMediaPlayer

Определение

type TMPModes=(mpNotReady,mpStopped,mpPlaying,mpRecording,
               mpSeeking, mpPaused, mpOpen);

property Mode: TMPModes;

Описание

Свойство Mode указывает состояние открытого мультимедийного устройства. Тип TMPModes определяет возможные режимы:

mpNotReady	Устройство не готово
mpStopped	Устройство остановлено
mpPlaying	Устройство воспроизводит
mpRecording	Устройство записывает
mpSeeking	Устройство в процессе поиска
mpPaused	Устройство в состоянии паузы (приостановлено)
mpOpen	Устройство открыто


Mode - свойство TPen
Mode - свойство класса TPen

Определяет режим рисования пером на канве

Класс TPen

Определение

type TPenMode = (pmBlack, pmWhite, pmNop, pmNot, pmCopy, pmNotCopy, pmMergePenNot, pmMaskPenNot, pmMergeNotPen, pmMaskNotPen, pmMerge, pmNotMerge, pmMask, pmNotMask, pmXor, pmNotXor);

property Mode: TPenMode;

Описание

Свойство пера Mode определяет, каким образом взаимодействуют цвета пера и канвы. Выбор значения Mode позволяет получать различные эффекты.

Возможные значения Mode:

Режим	Цвет пикселя
pmBlack	Всегда черный
pmWhite	Всегда белый
pmNop	Неизменный
pmNot	Инверсный по отношению к цвету фона канвы
pmCopy	Цвет, указанный в свойстве Color пера Pen: это значение принято по умолчанию
pmNotCopy	Инверсия цвета пера
pmMergePenNot	Комбинация цвета пера и инверсного цвета фона канвы
pmMaskPenNot	Комбинация цветов, общих для цвета пера и инверсного цвета фона канвы
pmMergeNotPen	Комбинация цвета фона канвы и инверсного цвета пера
pmMaskNotPen	Комбинация цветов, общих для цвета фона канвы и инверсного цвета пера
pmMerge	Комбинация цвета пера и цвета фона канвы
pmNotMerge	Инверсия режима pmMerge: комбинации цвета пера и цвета фона канвы
pmMask	Комбинация цветов, общих для цвета фона канвы и цвета пера
pmNotMask	Инверсия режима pmMask: комбинации цветов, общих для цвета фона канвы и цвета пера
pmXor	Операция XOR: комбинация цветов или пера, или фона канвы, но не обоих
pmNotXor	Инверсия режима pmXor: комбинации цветов или пера, или фона канвы, но не обоих


Name - свойство

Пример

Имя компонента, по которому на него ссылаются другие компоненты

Класс TComponent

Определение

TComponentName: string;

property Name: TComponentName;

Описание

Свойство Name определяет имя компонента, которое используется в дальнейшем в программе. Задается только в процессе проектирования и не должно изменяться во время выполнения. Иначе операторы программы могут оказаться неправильными.

По умолчанию Delphi сама присваивает имена компонентам, размещаемым на форме. Эти имена по умолчанию надо изменять в процессе проектирования на осмысленные. Иначе при сколько-нибудь сложной форме вы сами через некоторое время не сможете понять, что такое Panel7 или Button13.


Notify- свойство

Пример

Определяет, должно ли генерироваться событие OnNotify

Класс TMediaPlayer

Определение

property Notify: Boolean;

Описание

Свойство Notify определяет, будет ли генерироваться событие OnNotify после завершения следующего вызова таких методов TMediaPlayer, как Back, Close, Eject, Next, Open, Pause, PauseOnly, Play, Previous, StartRecording, Resume, Rewind, Step, Stop.

Если Notify равно true, то следующий метод после своего выполнения генерирует событие OnNotify и запоминает соответствующее сообщение в свойстве NotifyValue. Если Notify равно false, то событие OnNotify не генерируется и свойство NotifyValue остается без изменения.

После события OnNotify надо опять задавать Notify равным true, если хотеть, чтобы при вызове следующего метода событие снова генерировалось.

По умолчанию методы Play и StartRecording работают так, как будто Notify установлен в true, т.е. генерируют события OnNotify. Если этого надо избежать, то перед вызовом этих методов надо установить Notify в false. Все остальные методы по умолчанию работают так, как будто Notify установлен в false, т.е. не генерируют события OnNotify.

Полезно задавать Notify равным true перед выполнением операций, занимающих много времени. Если при этом установить свойство Wait в false, то управление вернется в приложение до завершения операции и можно известить пользователя о совершаемых действиях.


Owner - свойство

Определяет владельца данного компонента

Класс TComponent

Определение

property Owner: TComponent;

Описание

Свойство Owner определяет владельца данного компонента. Форма является владельцем всех расположенных на ней компонентов. В свою очередь Application является владельцем всех форм. Когда освобождается память, занимавшаяся владельцем, автоматически освобождается память всех компонентов, которыми он владел. Свойство только для чтения.


Parent - свойство

Примеры

Определяет родительский компонент, в площади которого располагается данный компонент

Класс TControl

Определение

property Parent: TWinControl;

Описание

Свойство Parent определяет родительский компонент, т.е. компонет-контейнер, содержащий данный компонент. Контейнерами являются оконные компоненты, такие, как формы, панели и некоторые другие. Расположенные на них дочерние компоненты могут наследовать часть свойств содержащего их контейнера, например, шрифт, цвет, отображение ярлычков подсказки, трехмерность. Для этого должны быть установлены в true свойства дочерних компонентов ParentFont, ParentColor, ParentShowHint, ParentCtl3D.

Надо различать два похожих свойства: Parent - родительский компонент, и Owner - владелец компонента. Родительский компонент - это тот, на котором располагается данный компонент. А владелец - это компонент, который передается в качестве параметра в конструктор данного компонента и который владеет им. Форма является владельцем всех расположенных на ней компонентов. В свою очередь объект приложения Application является владельцем всех форм.

Изменение во время выполнения свойства Parent заставляет компонент перемещаться на экране в клиентскую область нового родителя.


ParentCtl3D - свойство

Определяет наследование свойства объемного изображения от родительского компонента

Класс TWinControl

Определение

property ParentCtl3D: Boolean;

Описание

Если свойство ParentCtl3D имеет значение true, то компонент наследует свойство Ctl3D, управляющее объемным или плоским изображением, от своего родительского элемента. Это способствует единообразию изображений. Если все компоненты на форме имеют значение ParentCtl3D, равное true, то их вид определяется значением Ctl3D формы.

Непосредственное задание свойства Ctl3D какому-либо компоненту автоматически приводит к сбросу на false его свойства ParentCtl3D.


ParentFont - свойство

Включает и выключает использование шрифта родительского компонента

Класс TControl

Определение

property ParentFont: Boolean;

Описание

Свойство ParentFont определяет, будет ли для данного компонента использоваться шрифт (свойство Font) родительского компонента-контейнера. Если установить во всех компонентах, размещенных на панели, ParentFont в true, то во всех компонентах будет использоваться одинаковый шрифт с одинаковым размером, цветом, стилем. Если все компоненты на форме имеют ParentFont, равным true, то во всех них атрибуты шрифта определяются свойством Font формы. Тогда, например, увеличение размера шрифта у формы приведет к согласованному изменению размеров шрифта всех размещенных на ней компонентов.

Если у формы свойство ParentFont тоже установлено в true, то шрифт определяется свойством Font объекта приложения Application.

При изменении свойства Font в каком-то компоненте, его свойство ParentFont автоматически сбрасывается в false.


ParentShowHint - свойство

Включает и выключает использование родительского свойства ShowHint

Класс TControl

Определение

property ParentShowHint: Boolean;

Описание

Свойство ParentShowHint используется, чтобы иметь возможность одновременно всем компонентам некоторого контейнера или формы разрешать или запрещать отображение ярлычков (всплывающих окон подсказки) при задержке на них курсора мыши. Отображаемый в окнах текст определяется свойствами ShowHint компонентов.

Если свойство ParentShowHint установлено в true, то разрешение или запрет отображения ярлычков определяется свойством ShowHint родительского компонента. Если же свойство ParentShowHint установлено в false, то отображение окон подсказки определяется свойством ShowHint самого компонента.

При задании в компоненте значения ShowHint, равного true, его свойство ParentShowHint автоматически сбрасывается в false.

Управлять отображением окон подсказок всего приложения в целом можно также свойством ShowHint объекта Application.


Pen - свойство

Определяет атрибуты пера, используемого для рисования линий и фигур

Класс TCanvas

Определение

property Pen: TPen;

Описание

Свойство канвы Pen определяет атрибуты пера, используемого для рисования линий и фигур. Это свойство является объектом типа TPen (см. описание этого типа для получения дополнительной информации). Атрибуты объекта типа  определяют цвет, ширину, стиль линий и режим рисования пера.

Присваивание свойства Pen может производиться методом Assign.


PenPos - свойство

Определяет положение пера на канве

Класс TCanvas

Определение

property PenPos: TPoint;

Описание

Свойство канвы PenPos определяет переменной типа TPoint положение пера на канве. Координаты пера, определенные этим свойством, задают начальную точку рисования линии методом LineTo.

Свойство PenPos изменяется методом MoveTo и некоторыми методами рисования (например, методом LineTo). Непосредственная установка PenPos эквивалентна применению метода MoveTo.


Pitch - свойство

Пример

Определяет способ установки ширины символов шрифта

Класс TFont

Определение

TFontPitch = (fpDefault, fpVariable, fpFixed);

property Pitch: TFontPitch;

Описание

Каждый вид шрифта имеет соответствующий способ определения ширины символов. Есть шрифты с одинаковой шириной всех символов. Есть шрифты, в которых разные символы имеют разную ширину. Шрифты с постоянной шириной используются для отображения исходных кодов программ, поскольку в них удобно делать фиксированные отступы. Но шрифты с различной шириной символов выглядят естественнее и более компактны.

Возможные значения свойства Pitch:

Значение	Описание
fpDefault	Ширина устанавливается равной по умолчанию, т.е. описанной в шрифте заданного вида Name.
FpFixed	Установка одинаковой ширины всех символов.
FpVariable	Установка различной ширины символов.

Установка значений fpVariable или fpFixed заставляет Windows искать наилучший способ удовлетворить всем заданным характеристикам шрифта. Иногда это может привести к замене шрифта на шрифт другого, близкого вида. Но иногда может вообще не повлиять на шрифт. Все зависит от конкретного вида шрифта и даже от версии этого шрифта.


Pixels- свойство

Определяет цвета пикселей канвы в пределах текущей области ClipRect

Класс TCanvas

Определение

property Pixels[X, Y: Integer]: TColor;

Описание

Свойство канвы Pixels определяет цвет пикселя канвы с координатами X и Y в пределах текущей области ClipRect. Если заданы координаты пикселя вне области ClipRect, то при чтении свойства Pixels возвращается значение -1.

Задание значений пикселей позволяет рисовать по пикселям графики и линии. Определение цвета пикселя используется обычно в методе FillRect.

Не все устройства поддерживают свойство Pixels. Чтение Pixels для таких устройств возвращает -1. Установка Pixels для подобных устройств не дает никаких результатов.


PopupMenu - свойство

Определяет всплывающее меню, связанное с данным компонентом

Класс TControl

Определение

property PopupMenu: TPopupMenu;

Описание

Задание свойства PopupMenu обеспечивает появление всплывающего меню, если в то время, когда выбран данный компонент, пользователь щелкнул правой кнопкой мыши. Обычно в этом всплывающем меню задаются основные команды, относящиеся к данному компоненту. Объект меню имеет тип TPopupMenu. Если в этом объекте свойство AutoPopup установлено в true, то меню будет появляться автоматически. В противном случае надо отображать меню с помощью метода Popup класса TPopupMenu.

Подробнее о всплывающих меню см. в разделе TPopupMenu.


Series - свойство

Массив объектов Series, характеризующих массивы данных, управляемых и отображаемых компонентом

Классы TChart, TDBChart

Определение

property Series[Index:Longint]:TChartSeries

Описание

Свойтво Series представляет собой индексированный массив объектов типа TChartSeries, каждый из которых характеризует массив данных, управляемых и отображаемых компонентом в виде гистограмм или графиков.


ShortCut - свойство

Определяет комбинацию "горячих" клавиш, обеспечивающих быстрый доступ к разделу меню

Класс TMenuItem

Определение

type TShortCut = Low(Word) .. High(Word);

property ShortCut: TShortCut

Описание

Задание свойства ShortCut позволяет пользователю не выбирать данный раздел из меню, а просто нажать заданную комбинацию "горячих" клавиш. Эта комбинация при установке ShortCut автоматически появляется в надписи раздела.

При задании свойства ShortCut во время проектирования Инспектор Объектов предлагает длинный список возможных комбинаций клавиш. При задании значения ShortCut во время выполнения можно использовать функции ShortCut, TextToShortCut, ShortCutToText.


ShowHint - свойство

Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом

Класс TControl

      TApplication

Определение

property ShowHint: Boolean;

Описание

Ярлычок (всплывающее окно подсказки) при задержке курсора мыши над компонентом появляется, если свойство компонента ShowHint (показать подсказку) установлено в true и задан текст подсказки в свойстве Hint. Правда, и при ShowHint = false всплывающее окно подсказки может появляться, если установлено в true свойство ParentShowHint (взять ShowHint родительского компонента) и в родительском компоненте ShowHint = true.

Изменение ShowHint автоматически ставит ParentShowHint в false.

Свойство ShowHint приложения Application (по умолчанию равно true) определяет, могут ли появляться окна подсказки в каких-то компонентах. Если установить Application.ShowHint в false, то окна подсказки не будут появляться независимо от значений ShowHint в любых компонентах.

См. подробные пояснения и примеры в Hint.


Showing - свойство

Определяет, виден ли компонент в данный момент

Доступ только для чтения

Класс TWinControl

Определение

property Showing: Boolean;

Описание

Свойство Showing показывает, может ли пользователь в данный момент видеть компонент. Правда, при этом не учитывается, что другие компоненты могут загородить данный. Поэтому значение Showing, равное true, еще не гарантирует, что пользователь действительно видит компонент. Если компонент накрыт другим видимым компонентом, то пользователь его все-таки не увидит.

Если свойство Visible компонента и всех его родителей (компонентов, содержащих его) равно true, то и Showing равно true. Если же свойство Visible компонента или какого-то из его родителей равно false, то Showing равно false.


Size - свойство класса TBits

Примеры

Число элементов булева массива класса TBits

Класс TBits

Определение

property Size: Integer;

Описание

Свойство Size задает число элементов, которые могут храниться в массиве типа TBits. Значение этого свойства в процессе работы может увеличиваться или уменьшаться. При увеличении Size значения всех новых элементов делается равным false. При уменьшении Size значения элементов с индексами, не превышающими Size - 1 сохраняются, а остальные элементы теряются. Если при обращении к объекту в свойстве TBits задан индекс, больший чем Size - 1, генерируется исключение EBitsError.


Size - свойство класса TFont

Размер шрифта в кеглях (пунктах)

Класс TFont

Определение

property FieldValues[const FieldName: string]: Variant; default;

Описание

Свойство Size определяет размер шрифта в кеглях (пунктах, принятых в Windows). Если значение Size задано отрицательным, то в размер входит верхний пиксель каждой строки. Если значение Size задано положительным, то этот пиксель не учитывается.

Для задания размера шрифта может использоваться другое свойство: Height - размер шрифта в пикселях. Значение Size связано со свойствами Height и PixelsPerInch (число пикселей на дюйм - см. TFont) соотношением:

Font.Size = -Font.Height * 72 / Font.PixelsPerInch

Из соотношения, в частности, видно, что задание положительного значения Size ведет к отрицательному значению Height. Можно задавать Size отрицательным; тогда Height будет положительным.


State - свойство TDataSet
State - свойство

Определяет режим, в котором находится набор данных

Доступ только для чтения

Класс TDataSet

Определение

type TDataSetState = (dsInactive, dsBrowse, dsEdit, dsInsert, dsSetKey, dsCalcFields, dsFilter, dsNewValue, dsOldValue, dsCurValue, dsBlockRead, dsInternalCalc);

property State: TDataSetState;

Описание

Свойство State определяет состояние набора данных. Это свойство доступно только во время выполнения и только для чтения. Набор данных может находиться в одном из следующих состояний:

dsInactive	Набор данных закрыт, данные недоступны.
dsBrowse	Данные могут наблюдаться, но не могут изменяться. Это состояние по умолчанию после открытия набора данных.
dsEdit	Текущая запись может редактироваться.
dsInsert	Может вставляться новая запись.
dsSetKey	Доступен режим поиска записи и операция задания диапазона изменений SetRange. Может наблюдаться только ограниченное множество данных и не может проводиться редактирование или вставка новой записи.
dsCalcFields	Происходит обработка события OnCalcFields. Не может проводиться редактирование не вычисляемых полей или вставка новой записи.
dsFilter	Происходит обработка события OnFilterRecord. Может наблюдаться только ограниченное множество данных и не может проводиться редактирование или вставка новой записи.
dsNewValue	Внутреннее временное состояние, показывающее, что доступно свойство поля TField.NewValue.
dsOldValue	Внутреннее временное состояние, показывающее, что доступно свойство поля TField.OldValue.
dsCurValue	Внутреннее временное состояние, показывающее, что доступно свойство поля TField.CurValue.
dsBlockRead	Компоненты, связанные с данными, еще не изменили значения и еще не генерировались события, связанные с перемещением курсора по таблице
dsInternal Calc	Временное состояние, используемое внутри компонента
dsOpening	Набор данных открывается, но этот процесс еще не закончен

Шесть последних состояний чисто служебные и не представляют интереса для пользователя. Они устанавливаются автоматически, когда приложение обращается к соответствующему свойству TField, и наблюдаться из приложения не могут. Состояния dsCalcFields и dsFilter также устанавливаются автоматически при возникновении событий OnCalcField и OnFilterRecord и наблюдаться из приложения не могут. А остальные состояния могут устанавливаться в приложении во время выполнения, но не непосредственно, а с использованием различных методов.

Метод Close закрывает соединение с базой данных, устанавливая свойство Active набора данных в false. При этом State переводится в состояние dsInactive.

Метод Open открывает соединение с базой данных, устанавливая свойство Active набора данных в true. При этом State переводится в состояние dsBrowse.

Метод Edit переводит набор данных в состояние dsEdit.

Методы Insert и InsertRecord вставляют новую пустую запись в набор данных, выполняют еще ряд операций, о которых вы можете посмотреть в справке Delphi, и переводят State в состояние dsInsert.

Методы EditKey, SetRange, SetRangeStart, SetRangeEnd и ApplyRange, связанные с поиском записи и с заданием допустимого диапазона изменения данных, переводят State в состояние dsSetKey.

Многие другие методы также устанавливают автоматически различные состояния набора данных. При программировании работы с базой данных надо следить за тем, чтобы набор данных вовремя был переведен в соответствующее состояние. Например, если вы стали редактировать запись, не переведя предварительно набор данных в состояние dsEdit методом Edit, то будет сгенерировано исключение EDatabaseError с сообщением "Dataset not in edit or insert mode" - "Набор данных не в режиме Edit или Insert".


Style - свойство TPen

Определяет стиль рисования линий пером

Класс TPen

Определение

type TPenStyle = (psSolid, psDash, psDot, psDashDot,
                  psDashDotDot, psClear, psInsideFrame);

property Style: TPenStyle;

Описание

Свойство пера Style определяет вид линии. Это свойство может принимать следующие значения:

psSolid	Сплошная линия
psDash	Штриховая линия
psDot	Пунктирная линия
psDashDot	Штрих-пунктирная линия
psDashDotDot	Линия, чередующая штрих и два пунктира
psClear	Отсутствие линии
psInsideFrame	Сплошная линия, но при Width > 1 допускающая цвета, отличные от палитры Windows

Примеры линий всех стилей приведены на рисунке:

Все стили со штрихами и пунктирами доступны только при Width = 1. В противном случае линии этих стилей рисуются как сплошные.

Стиль psInsideFrame - единственный, который допускает произвольные цвета. Цвет линии при остальных стилях округляется до ближайшего из палитры Windows.


Style - свойство TBrush
Style - свойство класса TBrush

Стиль заполнения

Класс TBrush

Определение

property Style: TBrushStyle default bsSolid;

Описание

Свойство Style определяет шаблон, которым кисть заполняет фон объекта. Но если для кисти задано свойство Bitmap, то свойство Style игнорируется.

Возможные значения свойства Style:

Значение	Шаблон	Значение	Шаблон
bsSolid		bsCross
bsClear		bsDiagCross
bsBDiagonal		bsHorizontal
bsFDiagonal		bsVertical


Style - свойство TFont
Style - свойство класса TFont

Пример

Стиль шрифта

Класс TFont

Определение

TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut);

TFontStyles = set of TFontStyle;

property Style: TFontStyles;

Описание

Свойство Style задает стиль: характер начертания символов заданного шрифта. Свойство представляет собой множество или пустое, или содержащее одно и более следующих значений:

Значение	Описание
fsBold	Полужирный
fsItalic	Курсив
fsUnderline	Подчеркнутый
fsStrikeout	Перечеркнутый горизонтальной прямой


TabOrder - свойство

Определяет позицию компонента в последовательности табуляции

Класс TWinControl

Определение

TTabOrder = -1..32767;

property TabOrder: TTabOrder;

Описание

Под последовательностью табуляции понимается последовательность, в которой переключается фокус между компонентами окна, когда пользователь последовательно нажимает клавишу табуляции Tab. Значение TabOrder, равное нулю, означает, что при первом появлении формы на экране в фокусе будет этот компонент.

Последовательность табуляции в каждом приложении надо продумывать, чтобы пользователю было легче работать и переходить от одного окна редактирования к другому, от одной кнопки к другой.

Первоначальная последовательность табуляции определяется просто той последовательностью, в которой размещались управляющие элементы на экране. Первому элементу присваивается значение TabOrder, равное 0, второму 1 и т.д.

Если  задать  какому то управляющему элементу значение TabOrder, равное -1, то этот элемент выпадает из последовательности табуляции и с помощью клавиши Tab ему будет невозможно передать фокус.

Каждый управляющий элемент имеет уникальный номер TabOrder внутри своего родительского компонента. Поэтому изменение значения TabOrder какого-то элемента на уже существующее у другого элемента значение приведет к тому, что значения TabOrder всех последующих элементов автоматически изменятся, чтобы не допустить дублирования. Если задать элементу значение TabOrder, большее, чем число элементов в родительском компоненте, он просто станет последним в последовательности табуляции.

В среде проектирования Delphi 3 имеется специальная команда Edit | Tab Order, позволяющая в режиме диалога задать последовательность табуляции всех элементов.

Значение свойства TabOrder играет роль только, если свойство компонента TabStop установлено в true и если компонент имеет родителя. Например, для формы свойство TabOrder имеет смысл только в случае, если для формы задан родитель в виде другой формы.


TabStop - свойство

Определяет возможность передать фокус на элемент нажатием клавиши табуляции

Класс TWinControl

Определение

property TabStop: Boolean;

Описание

Свойство TabStop разрешает или запрещает останавливать фокус на данном элементе при нажатии пользователем клавиши Tab. Если значение TabStop равно true, то клавиша Tab будет передавать фокус на этот элемент в последовательности табуляции, определяемой значениями свойства элементов TabOrder. Если значение TabStop равно false, то элемент недостижим в последовательности табуляции независимо от значения TabOrder.

Для формы свойство TabStop имеет смысл только в случае, если форма имеет родителя в виде другой формы.


Tag - свойство

Пример

Свойство, используемое пользователем по своему усмотрению

Класс TComponent

Определение

property tag: Longint;

Описание

Свойство Tag системой не используется. Пользователь может определить и использовать его по своему усмотрению, помещая в него необходимую информацию. Например, можно в процессе проектирования или программно в процессе выполнения задать некоторое значение Tag группе компонентов и затем оперировать с этой группой.

Значение Tag по умолчанию - 0.


Text - свойство

Текстовая строка, связанная с управляющим элементом

Класс TComponent

Определение

TCaption = type string;

property Text: TCaption;

Описание

Свойство Text позволяет прочесть или задать строку, связанную с данным управляющим элементом. По умолчанию значение Text равно имени компонента - его свойству Name. Применяется в основном в компонентах редактирования и в списках.


TextFlags - свойство

Определяет способ вывода текста на канву

Класс TCanvas

Определение

property TextFlags: LongInt;

Описание

Свойство канвы TextFlags определяет особенности вывода текста на канву методами TextOut и TextRect. Свойство TextFlags может формироваться как целая комбинация любых следующих констант:

Константа	Пояснение
ETO_CLIPPED	Выводится только текст, помещающийся в указанной прямоугольной области. В методе TextRect этот флаг устанавливается автоматически. На метод TextOut этот флаг не влияет.
ETO_OPAQUE	Текст выводится с непрозрачным цветом фона.
ETO_RTLREADING	Строка текста выводится справа налево. Доступно только с версией Windows Mideast (для стран востока).
ETO_GLYPH_INDEX	Текст является массивом кодов символов, который непосредственно передается GDI Windows. Применимо только для шрифтов trueType , но этот флаг можно применять и для других шрифтов, чтобы указать, что GDI должен обрабатывать текст напрямую, без языковой обработки. Подробнее см. в документации по GDI Windows.
ETO_IGNORELANGUAGE	Недокументированный пока флаг Microsoft.
ETO_NUMERICSLOCAL	Недокументированный пока флаг Microsoft.
ETO_NUMERICSLATIN	Недокументированный пока флаг Microsoft.


TimeFormat- свойство

Пример

Определяет формат, в котором указывается информация о позиции в объекте, воспроизводимом устройством мультимедиа

Класс TMediaPlayer

Определение

type TMPTimeFormats=(tfMilliseconds,tfHMS,tfMSF,tfFrames,
                     tfSMPTE24,tfSMPTE25,tfSMPTE30,
                     tfSMPTE30Drop, tfBytes, tfSamples,
                     tfTMSF);

property TimeFormat: TMPTimeFormats;

Описание

Свойство TimeFormat определяет, как интерпретируются свойства StartPos, Length, Position, Start, EndPos компонента TMediaPlayer. Например, если Position = 180 и TimeFormat = tfMilliseconds, то текущая позиция соответствует 180 миллисекундам. Если Position = 180 и TimeFormat = tfMSF, то текущая позиция соответствует 180 минутам.

Не любое устройство поддерживает все форматы. Если делается попытка установить не соответствующий формат, этот формат игнорируется.

Текущая информация о времени всегда передается как 4-байтовое целое. Но в некоторых форматах она упакована в длинное целое.

Тип TMPTimeFormats описывает форматы, используемые устройствами мультимедиа, работающими с медиа-плейером TMediaPlayer:

tfMilliseconds	Миллисекунды, хранимые как 4-байтовое целое.
TfHMS	Часы, минуты и секунды, упакованные в 4-байтовое целое. Начиная с младшего байта хранятся:
	Часы (младший байт)
	Минуты
	Секунды
	Не используется (старший байт)
tfMSF	Минуты, секунды и кадры, упакованные в 4-байтовое целое. Начиная с младшего байта хранятся:
	Минуты (младший байт)
	Секунды
	Кадры
	Не используется (старший байт)
tfFrames	Кадры, хранимые как 4-байтовое целое.
TfSMPTE24	24-кадровый формат SMPTE, упакованный в 4-байтовое целое. Начиная с младшего байта хранятся:
	Часы (младший байт)
	Минуты
	Секунды
	Кадры  (старший байт)
	Формат SMPTE (Society of Motion Picture and Television Engineers) имеет варианты, соответствующие 24, 25 и 30 кадрам в секунду.
TfSMPTE25	25-кадровый формат SMPTE, упакованный в 4-байтовое целое в той же последовательности, что и в 24-кадровом формате.
TfSMPTE30	30-кадровый формат SMPTE, упакованный в 4-байтовое целое в той же последовательности, что и в 24-кадровом формате.
TfSMPTE30Drop	30-кадровый формат drop-frame SMPTE, упакованный в 4-байтовое целое в той же последовательности, что и в 24-кадровом формате.
TfBytes	Байты, хранимые как 4-байтовое целое.
TfSamples	Образцы, хранимые как 4-байтовое целое.
TfTMSF	Треки, минуты, секунды и кадры, упакованный в 4-байтовое целое. Начиная с младшего байта хранятся:
	Треки (младший байт)
	Минуты
	Секунды
	Кадры  (старший байт)

Функции, обеспечивающие декодирование 4-байтовых целых, содержащих различные форматы, вы можете найти в файле справки MMSYSTEM.HLP.


Top - свойство

Пример

Координата верхнего края компонента в пикселях

Класс TControl

Определение

property Top: Integer;

Описание

Свойство Top определяет координату верхнего края компонента в пикселях. Для компонентов за начало отсчета берется верхняя граница клиентской области родителя (например, панели, если данный компонент расположен на панели, или формы, если компонент расположен непосредственно на форме). Отсчет коодинаты ведется сверху вниз. Для формы координата Top представляет собой вертикальную координату экрана, отсчитываемую от его верхнего края.

Свойство Top используется при перемещениях и изменениях размеров компонентов.


TransparentColor, TransparentMode - свойства
TransparentColor и TransparentMode - свойства

Определяют, какой цвет в битовой матрице будет прозрачным при ее рисовании

Класс TCanvas

Определение

property TransparentColor: TColor;

Описание

Значение свойства канвы TransparentColor зависит от установки свойства TransparentMode. Если TransparentMode установлено в tmAuto, то TransparentColor возвращает цвет пикселя левого нижнего угла изображения. Если вы задаете значение свойства TransparentColor, то TransparentMode автоматически устанавливается в tmFixed. При этом новый цвет сохраняется вместе с объектом битовой матрицы и может быть использован позднее. Если вы хотите отменить заданное значение TransparentColor, установите TransparentMode в tmAuto, и тогда TransparentColor опять будет указывать на цвет левого нижнего пикселя.


Visible - свойство

Пример

Определяет, видим или невидим компонент

Класс TControl

Определение

property Visible: Boolean;

Описание

Свойство Visible определяет видимость компонента во время выполнения. Если Visible делается равным true, то компонент становится видимым; если Visible делается равным false, то компонент становится невидимым, исчезает для пользователя. Если устанавливается в false свойство Visible компонента-контейнера, то становятся невидимыми и все расположенные на нем дочерние компоненты, независимо от значения их свойств Visible. Если свойство Visible ранее невидимого компонента-контейнера устанавливается в true, то становятся видимыми и все его дочерние компоненты, у которых Visible = true.

Свойство Visible позволяет проектировать на одном и том же месте формы несколько панелей, соответствующих различным режимам работы приложения, и в нужные моменты делать одну из них видимой, а остальные невидимыми, как в приведенном ниже примере.

Свойство Visible может также активно использоваться для разделов меню. Очевидно, что обычно не все разделы меню имеют смысл при любых режимах работы приложения. Ненужные разделы можно делать недоступными задавая значения false их свойствам Enabled. В этом случае они будут видны серыми и недоступными, но размер меню не изменится. А если их делать невидимыми, то они видны не будут, оставшиеся разделы меню сомкнутся и все будет выглядеть более компактно.

Прямое задание значений true и false свойству Visible можно заменить вызовами методов Show и Hide. Первый из них делает компонент видимым и устанавливает Visible в true. А второй делает компонент невидимым и устанавливает Visible в false.


Width - свойство компонента

Пример

Определяет горизонтальный размер компонента или формы в пикселях

Класс TControl

Определение

property Width: Integer;

Описание

Свойство Width определяет горизонтальный размер компонента или формы в пикселях. Используется для изменения ширины компонента при изменениях размеров окна приложения. На компоненты - таблицы во время выполнения изменение Width не действует. См. разделы ClientWidth, ClientRect.


WindowText - свойство

Содержит строку текста, связанного с компонентом

Класс TControl

Определение

property WindowText: PChar;

Описание

Свойство WindowText используется, чтобы связать с компонентом некоторую строку текста, которая может заменяться во время выполнения. По умолчанию WindowText - та же самая строка, которая записана в свойстве Text. Однако, в классах, производных от TControl, это может быть изменено. Для окон редактирования эта строка соответствует отображаемому в компоненте тексту. Для выпадающих списков это текст в окошке редактирования. Для кнопок это имя кнопки. Для остальных компонентов это строка заголовка окна.


Components, ComponentCount, ComponentIndex - свойства
Свойства Components, ComponentIndex, ComponentCount

Примеры

Components - массив компонентов, которыми владеет данный компонент

Класс TComponent

Определения

property Components[Index: Integer]: TComponent;

property ComponentIndex: Integer;

property ComponentCount: Integer;

Описание

Свойство Components содержит массив компонентов, которыми владеет данный компонент. Параметр Index позволяет сослаться на любой компонент с помощью его свойства ComponentIndex, определенного в классе TComponent. Индексы отсчитываются от 0, т.е. индекс первого компонента - 0. Общее число компонентов, содержащихся в массиве Components, определяется свойством ComponentCount, определенным в классе TComponent. Значение ComponentCount на 1 меньше последнего индекса массива Components.

Свойство Components может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов.


Палитры компонентов
Библиотеки компонентов

Палитра компонентов Delphi 1

Палитра компонентов Delphi 3

Палитра компонентов Delphi 4

Палитра компонентов Delphi 5


Палитра компонентов Delphi 1
Палитра компонентов в Delphi 1

см.также

В Delphi 1 палитра компонентов включает следующие основные страницы:

Standard	Стандартная, содержащая наиболее часто используемые компоненты
Additional	Дополнительная, являющаяся дополнением предыдущей
Data Access	Страница компонентов доступа к данным
Data Controls	Страница компонентов, связанных с данными
Dialogs	Страница системных диалогов типа "Открыть файл" и пр.
System	Системная, содержащая такие компоненты, как таймеры, плееры и ряд других

Имеются еще две страницы, содержащие примеры:

VBX	Элементы VBX - Visual Basic
Samples	Образцы: различные интересные, но не до конца документированные компоненты

Помимо перечисленных пользователь может организовывать свои страницы и размещать на них свои компоненты.


Страница Standard палитры компонентов Delphi 1

см.также

Страница Standard содержит ряд часто используемых компонентов общего назначения

Компонент	Тип	Описание
главное меню	TMainMenu	Позволяет конструировать и создавать полосу главного меню формы и выпадающие меню. Компонент невизуальный.
всплывающее меню	TPopupMenu	Позволяет конструировать и создавать всплывающие контекстные меню, возникающие при нажатии пользователем правой кнопки мыши. Компонент невизуальный.
метка	TLabel	Используется для размещения на формах и других контейнерах текста, который не изменяется пользователем. Компонент визуальный.
окно редактирования	TEdit	Используется для ввода пользователем однострочных текстов. Может использоваться для отображения текста. Компонент визуальный.
многострочное окно редактирования	TMemo	Используется для ввода и отображения многострочных текстов. Компонент визуальный.
командная кнопка	TButton	Используется для создания кнопок, которыми пользователь выбирает команды в приложении. Компонент визуальный.
контрольный индикатор с флажком	TCheckBox	Позволяет пользователю выбирать или выключать опции программы. Компонент визуальный.
радиокнопка	TRadioButton	Предлагают пользователю набор альтернатив, из которого выбирается одна. Набор реализуется требуемым количеством радиокнопок, размещенных в одном контейнере (форме, панели и т. п.). Компонент визуальный.
окно списка	TListBox	Представляет собой стандартное окно списка Windows, позволяющее пользователю выбирать пункты из списка. Компонент визуальный.
редактируемый список	TComboBox	Объединяет функции ListBox и Edit. Пользователь может либо ввести текст, либо выбрать его из списка. Компонент визуальный.
линейка прокрутки	TScrollBar	Представляет собой стандартную линейку прокрутки Windows и служит для управления положением видимой части форм или компонентов. Компонент визуальный.
групповое окно	TGroupBox	Является контейнером, объединяющим группу связанных органов управления, таких как радиокнопки RadioButton, контрольные индикаторы Checkbox и т.д. Компонент визуальный.
группа радиокнопок	TRadioGroup	Является комбинацией группового окна GroupBox с набором радиокнопок RadioButton; служит специально для создания групп радиокнопок. Можно размещать в компоненте несколько радиокнопок, но никакие другие органы управления не разрешены. Компонент визуальный.
панель	TPanel	Является контейнером для группирования органов управления и меньших контейнеров. Панель можно использовать также для построения полос состояния, инструментальных панелей, палитр инструментов. Компонент визуальный.


Страница Additional палитры компонентов Delphi 1

см.также

Страница Additional является дополнением страницы Standard и содержит ряд часто используемых компонентов общего назначения

Компонент	Тип	Описание
кнопка с графикой	TBitBtn	Используется для создания кнопок, на которых располагается битовая графика (например, кнопка ОК с галочкой). Компонент визуальный.
кнопка с фиксацией	TSpeedButton	Используется для создания инструментальных панелей и в других случаях, когда требуется кнопка с фиксацией нажатого состояния. Компонент визуальный.
блокнот с закладками	TTabSet	Используется для создания блокнота с закладками. Компонент визуальный.
пачка страниц	TNoteBook	Используется для создания пачки страниц, может применяться совместно с TabSet. Компонент визуальный.
многостраничная форма	TTabbedNoteBook	Используется для создания многостраничных форм с закладками. Компонент визуальный.
маскированный ввод	TMaskEdit	Используется для форматирования данных или для ввода символов в соответствии с шаблоном. Компонент визуальный.
окно дерева	TOutline	Позволяет отображать  иерархические данные в форме дерева. Компонент визуальный.
таблица строк	TStringGrid	Используется для отображения текстовой информации в таблице из строк и столбцов. Компонент визуальный.
таблица рисунков	TDrawGrid	Используется для отображения в строках и столбцах нетекстовых данных. Компонент визуальный.
изображение	TImage	Используется для отображения графики: пиктограмм, битовых матриц и метафайлов. Компонент визуальный.
формы	TShape	Используется для рисования фигур: квадратов, кругов и т.п. Компонент визуальный.
рамка	TBevel	Используется для рисования прямоугольной рамки, изображенной как выступающая или утопленная. Компонент визуальный.
заголовок	THeader	Используется для отображения текста в областях переменного размера. Компонент визуальный.
окно с прокруткой	TScrollBox	Используется для создания зон отображения с прокруткой. Компонент визуальный.


Страница System палитры компонентов Delphi 1

см.также

Страница System содержит компоненты, позволяющие использовать системные средства Windows.

Компонент	Тип	Описание
таймер	TTimer	Используется для запуска процедур, функций и событий в указанные интервалы времени. Компонент невизуальный.
окно для рисования	TPaintBox	Используется для создания в форме некоторой области, в которой можно рисовать. Компонент визуальный.
список файлов	TFileListBox	Отображает список всех файлов каталога. Компонент визуальный.
структура каталогов	TDirectoryListBox	Отображает структуру каталогов диска. Компонент визуальный.
список дисков	TDriveComboBox	Выпадающий список доступных дисков. Компонент визуальный.
список фильтров	TFilterComboBox	Выпадающий список фильтров для поиска файлов. Компонент визуальный.
аудио и видео плеер	TMediaPlayer	Используется для создания панели управления воспроизведением звуковых и видео файлов, а также устройств мультимедиа. Компонент визуальный.
контейнер OLE	TOLEContainer	Используется при создании области клиента для объекта OLE. Компонент визуальный.
диалог  с сервером DDE	TDDEClientConv	Используется клиентом DDE для организации диалога с сервером DDE. Компонент невизуальный.
данные, передаваемые серверу DDE	TDDEClientItem	Используется для определения данных клиента, передаваемых в диалоге серверу DDE. Компонент невизуальный.
диалог  с клиентом DDE	TDDEServerConv	Компонент используется сервером DDE при проведении диалога с клиентом DDE. Компонент невизуальный.
данные, передаваемые клиенту DDE	TDDEServerItem	Компонент используется для определения данных сервера, передаваемых клиенту DDE в течение диалога. Компонент невизуальный.


Страница Data Access палитры компонентов Delphi 1

см.также

Страница Data Access - доступ к данным, содержит компоненты управления обменом информацией между приложением и базами данных.

Компонент	Тип	Описание
источник данных	TDataSource	Используется для соединения компонентов типа TTable или TQuery с компонентами, отображающими данные. Компонент невизуальный.
набор данных	TTable	Используется для установления связи приложения с таблицей базы данных. Компонент невизуальный.
запросы SQL	TQuery	Используется для построения и выполнения SQL-запросов к удаленным SQL-серверам или локальным базам данных. Компонент невизуальный.
хранимые процедуры	TStoredProc	Используется для выполнения процедур, хранимых на SQL-сервере. Компонент невизуальный.
связь с сервером	TDatabase	Используется для установления связи с удаленными серверами баз данных. Компонент невизуальный.
локальная работа с данными	TBatchMove	Позволяет работать с записями и таблицами локально, а затем передавать обновленную информацию обратно на сервер. Компонент невизуальный.
отчет	TReport	Интерфейс между приложением и программой подготовки отчетов ReportSmith.


Страница Data Controls палитры компонентов Delphi 1

см.также

Страница Data Controls содержит компоненты, связанные с данными и предназначенные для отображение, ввода и редактирования содержимого баз данных.

Компонент	Тип	Описание
таблица данных	TDBGrid	Используется для создания ориентированных на данные сеток (таблиц) с отображением данных в строках и столбцах. Компонент визуальный.
навигатор	TDBNavigator	Используется для управления просмотром базы данных с возможностью редактирования данных. Компонент визуальный.
метка	TDBText	Представляет собой ориентированный на данные вариант компонента TLabel. Компонент визуальный.
окно редактирования	TDBEdit	Представляет собой ориентированный на данные вариант компонента TEdit. Компонент визуальный.
окно редактирования Memo	TDBMemo	Представляет собой ориентированный на данные вариант компонента TMemo. Компонент визуальный.
изображение	TDBImage	Представляет собой ориентированный на данные вариант компонента TImage. Компонент визуальный.
список	TDBListBox	Представляет собой ориентированный на данные вариант компонента TListBox. Компонент визуальный.
редактируемый список	TDBComboBox	Представляет собой ориентированный на данные вариант компонента TComboBox. Компонент визуальный.
индикатор	TDBCheckBox	Представляет собой ориентированный на данные вариант компонента TCheckBox. Компонент визуальный.
группа радиокнопок	TDBRadioGroup	Представляет собой ориентированный на данные компонента TRadioGroup. Компонент визуальный.
создание списка	TDBLookupListBox	Предназначен для создания окна TListBox, ориентированного на данные. Компонент визуальный.
создание редактируемого списка	TDBLookupComboBox	Предназначен для создания окна TComboBox, ориентированного на данные. Компонент визуальный.


Страница Dialogs палитры компонентов Delphi 1

см.также

Страница Dialogs содержит компоненты, используемые для создания различных диалоговых окон, общепринятых в приложениях Windows. Диалоги используются для указания файлов или выбора установок. Применение поставляемых в составе Delphi диалоговых окон помогает сэкономить время на разработку и придать вашему приложению совместимость с принятыми в Windows нормами диалога.

Компонент	Тип	Описание
"Открыть файл"	TOpenDialog	Предназначен для создания окна диалога "Открыть файл". Компонент невизуальный.
"Сохранить файл"	TSaveDialog	Предназначен для создания окна диалога "Сохранить файл". Компонент невизуальный.
"Шрифты"	TFontDialog	Предназначен для создания окна диалога "Шрифты". Компонент невизуальный.
"Цвет"	TColorDiolog	Компонент предназначен для создания окна диалога "Цвет". Компонент невизуальный.
"Печать"	TPrintDialog	Предназначен для создания окна диалога "Печать". Компонент невизуальный.
"Установка принтера"	TPrinterSetupDialog	Предназначен для создания окна диалога "Установка принтера". Компонент невизуальный.
"Найти"	TFindDialog	Предназначен для создания окна диалога "Найти". Компонент невизуальный.
"Заменить"	TReplaceDialog	Предназначен для создания окна диалога "Заменить". Компонент невизуальный.


Страница Samples палитры компонентов Delphi 1

см.также

Страница Samples содержит примеры компонентов. Поскольку это всего лишь примеры, они снабжены в Delphi лишь минимальной документацией.

Компонент	Тип	Описание
индикатор хода процесса	TGauge	Пример компонента, используемого для создания индикатора хода процесса в виде линейки, текста или секторной диаграммы. Компонент визуальный.
таблица цветов	TColorGrid	Пример компонента, используемого для создания таблицы цветов, в которой пользователь выбирает требуемый цвет. Компонент визуальный.
кнопка-счетчик	TSpinButton	Пример компонента, используемого для создания кнопок-счетчиков. Компонент визуальный.
окно редактирования со счетчиком	TSpinEdit	Пример компонента, используемого для создания окна редактирования в комбинации с кнопкой-счетчиком. Компонент визуальный.
дерево каталогов	TDirectory Outline	Пример компонента, используемого для отображения структуры каталогов выбранного диска. Компонент визуальный.
календарь	TCalendar	Пример компонента, используемого для отображения календаря на указанный месяц в стандартном формате. Компонент визуальный.


Палитра компонентов Delphi 3
Палитра компонентов в Delphi 3

см.также

В Delphi 3 палитра компонентов включает следующие основные страницы:

Standard	Стандартная, содержащая наиболее часто используемые компоненты
Additional	Дополнительная, являющаяся дополнением предыдущей
Win32	Страница компонентов в стиле Windows 95 и NT
System	Системная, содержащая такие компоненты, как таймеры, плееры и ряд других
Inernet	Страница компонентов для работы в Интернет
Data Access	Страница компонентов доступа к данным
Data Controls	Страница компонентов, связанных с данными
Decision Cube	Страница компонентов для многомерного анализа данных
QReport	Компоненты для быстрой подготовки отчетов
Dialogs	Страница системных диалогов типа "Открыть файл" и пр.
Win 3.1	Страница компонентов для Windows 3.x, оставленных для обратной совместимости версий Delphi

Имеются еще две страницы, содержащие примеры:

Samples	Образцы: различные интересные, но не до конца документированные компоненты
ActiveX	Активные элементы ActiveX

Помимо перечисленных пользователь может организовывать свои страницы и размещать на них свои компоненты.


Страница Standard палитры компонентов Delphi 3

см.также

Страница Standard содержит ряд часто используемых компонентов общего назначения

Компонент	Тип	Описание
главное меню	TMainMenu	Позволяет конструировать и создавать полосу главного меню формы и выпадающие меню. Компонент невизуальный.
всплывающее меню	TPopupMenu	Позволяет конструировать и создавать всплывающие контекстные меню, возникающие при нажатии пользователем правой кнопки мыши. Компонент невизуальный.
метка	TLabel	Используется для размещения на формах и других контейнерах текста, который не изменяется пользователем. Компонент визуальный.
окно редактирования	TEdit	Используется для ввода пользователем однострочных текстов. Может использоваться для отображения текста. Компонент визуальный.
многострочное окно редактирования	TMemo	Используется для ввода и отображения многострочных текстов. Компонент визуальный.
командная кнопка	TButton	Используется для создания кнопок, которыми пользователь выбирает команды в приложении. Компонент визуальный.
контрольный индикатор с флажком	TCheckBox	Позволяет пользователю выбирать или выключать опции программы. Компонент визуальный.
радиокнопка	TRadioButton	Предлагают пользователю набор альтернатив, из которого выбирается одна. Набор реализуется требуемым количеством радиокнопок, размещенных в одном контейнере (форме, панели и т. п.). Компонент визуальный.
окно списка	TListBox	Представляет собой стандартное окно списка Windows, позволяющее пользователю выбирать пункты из списка. Компонент визуальный.
редактируемый список	TComboBox	Объединяет функции ListBox и Edit. Пользователь может либо ввести текст, либо выбрать его из списка. Компонент визуальный.
линейка прокрутки	TScrollBar	Представляет собой стандартную линейку прокрутки Windows и служит для управления положением видимой части форм или компонентов. Компонент визуальный.
групповое окно	TGroupBox	Является контейнером, объединяющим группу связанных органов управления, таких как радиокнопки RadioButton, контрольные индикаторы Checkbox и т.д. Компонент визуальный.
группа радиокнопок	TRadioGroup	Является комбинацией группового окна GroupBox с набором радиокнопок RadioButton; служит специально для создания групп радиокнопок. Можно размещать в компоненте несколько радиокнопок, но никакие другие органы управления не разрешены. Компонент визуальный.
панель	TPanel	Является контейнером для группирования органов управления и меньших контейнеров. Панель можно использовать также для построения полос состояния, инструментальных панелей, палитр инструментов. Компонент визуальный.


Страница Additional палитры компонентов Delphi 3

см.также

Страница Additional является дополнением страницы Standard и содержит ряд часто используемых компонентов общего назначения

Компонент	Тип	Описание
кнопка с графикой	TBitBtn	Используется для создания кнопок, на которых располагается битовая графика (например, кнопка ОК с галочкой). Компонент визуальный.
кнопка с фиксацией	TSpeedButton	Используется для создания инструментальных панелей и в других случаях, когда требуется кнопка с фиксацией нажатого состояния. Компонент визуальный.
маскированный ввод	TMaskEdit	Используется для форматирования данных или для ввода символов в соответствии с шаблоном. Компонент визуальный.
таблица строк	TStringGrid	Используется для отображения текстовой информации в таблице из строк и столбцов. Компонент визуальный.
таблица рисунков	TDrawGrid	Используется для отображения в строках и столбцах нетекстовых данных. Компонент визуальный.
изображение	TImage	Используется для отображения графики: пиктограмм, битовых матриц и метафайлов. Компонент визуальный.
формы	TShape	Используется для рисования фигур: квадратов, кругов и т.п. Компонент визуальный.
рамка	TBevel	Используется для рисования прямоугольной рамки, изображенной как выступающая или утопленная. Компонент визуальный.
окно с прокруткой	TScrollBox	Используется для создания зон отображения с прокруткой. Компонент визуальный.
список с флажками	TCheckListBox	Компонент является комбинацией свойств списка ListBox и индикаторов CheckBox в одном компоненте. Компонент визуальный.
разделитель панелей	TSplitter	Используется для создания в приложении панелей с изменяемыми пользователем размерами. Компонент визуальный.
метка с бордюром	TStaticText	Компонент подобен компоненту Label, но обеспечивает дополнительные возможности по заданию стиля бордюра. Компонент визуальный.
диаграммы и графики	TChart	Компонент Chart принадлежит к семейству компонентов Tchart, которые используются для создания диаграмм и графиков. Компонент визуальный.


Страница Win32 палитры компонентов Delphi 3

см.также

Страница Win32 содержит компоненты общего назначения, позволяющие разрабатывать приложения в стиле Windows 95/NT 4.x. Некоторые из этих компонентов аналогичны имеющимся на странице Win3.1.

Компонент	Тип	Описание
страница с закладкой	TTabControl	Позволяет добавлять закладки в стиле Windows 95, которые может выбирать пользователь. Компонент визуальный.
многостраничное окно	TPageControl	Позволяет создавать страницы в стиле Windows 95, управляемые закладками или иными органами управления, для экономии места на рабочем столе. Компонент визуальный.
список изображений	TImageList	Предназначенный для работы со списками изображений одинакового размера в меню инструментальных панелях и т.п. Компонент невизуальный.
окно редактирования в формате RTF	TRichEdit	Представляет собой окно редактирования в стиле Windows 95, позволяющее производить выбор цвета и шрифта, поиск текста и многое другое. Компонент визуальный.
ползунок	TTrackBar	Управляющий элемент в виде ползунка в стиле Windows 95. Компонент визуальный.
отображение хода процесса	TProgressBar	Используется для отображения в стиле Windows 95 хода процессов, занимающих заметное время. Компонент визуальный.
кнопка-счетчик	TUpDown	Кнопка-счетчик в стиле Windows 95 для ввода целых чисел. Компонент визуальный.
"горячие" клавиши	THotKey	Дает возможность реализовать в приложении поддержку горячих клавиш. Компонент визуальный.
воспроизведение немых клипов	TAnimate	Используется для воспроизведения немых клипов AVI, подобных используемым в Windows 95 изображениям копирования файлов и т.п. Компонент визуальный.
ввод дат и времени	TDateTime Picker	Ввод дат и времени с выпадающим календарем. Компонент визуальный.
дерево	TTreeView	Предоставляет возможность просмотра структуры иерархических данных в стиле Windows 95. Компонент визуальный.
списки	TListView	Отображает в стиле Windows 95 списки в колонках. Компонент визуальный.
заголовок	THeaderControl	Позволяет в стиле Windows 95 создавать составные перемещаемые заголовки. Компонент визуальный.
полоса состояния	TStatusBar	Полоса состоянии программы, при необходимости – на нескольких панелях. Компонент визуальный.
инструментальная панель	TToolBar	Инструментальная панель для быстрого доступа к часто используемым функциям приложения. Компонент визуальный.
инструментальная перестраиваемая панель	TCoolBar	Контейнер инструментальной панели, размеры которой могут изменяться пользователем. Компонент визуальный.


Страница System палитры компонентов Delphi 3

см.также

Страница System содержит компоненты, позволяющие использовать системные средства Windows.

Компонент	Тип	Описание
таймер	TTimer	Используется для запуска процедур, функций и событий в указанные интервалы времени. Компонент невизуальный.
окно для рисования	TPaintBox	Используется для создания в форме некоторой области, в которой можно рисовать. Компонент визуальный.
аудио и видео плеер	TMediaPlayer	Используется для создания панели управления воспроизведением звуковых и видео файлов, а также устройств мультимедиа. Компонент визуальный.
контейнер OLE	TOLEContainer	Используется при создании области клиента для объекта OLE. Компонент визуальный.
диалог  с сервером DDE	TDDEClientConv	Используется клиентом DDE для организации диалога с сервером DDE. Компонент невизуальный.
данные, передаваемые серверу DDE	TDDEClientItem	Используется для определения данных клиента, передаваемых в диалоге серверу DDE. Компонент невизуальный.
диалог  с клиентом DDE	TDDEServerConv	Компонент используется сервером DDE при проведении диалога с клиентом DDE. Компонент невизуальный.
данные, передаваемые клиенту DDE	TDDEServerItem	Компонент используется для определения данных сервера, передаваемых клиенту DDE в течение диалога. Компонент невизуальный.


Страница Data Access палитры компонентов Delphi 3

см.также

Страница Data Access - доступ к данным, содержит компоненты управления обменом информацией между приложением и базами данных.

Компонент	Тип	Описание
источник данных	TDataSource	Используется для соединения компонентов типа TTable или TQuery с компонентами, отображающими данные. Компонент невизуальный.
набор данных	TTable	Используется для установления связи приложения с таблицей базы данных. Компонент невизуальный.
запросы SQL	TQuery	Используется для построения и выполнения SQL-запросов к удаленным SQL-серверам или локальным базам данных. Компонент невизуальный.
хранимые процедуры	TStoredProc	Используется для выполнения процедур, хранимых на SQL-сервере. Компонент невизуальный.
связь с сервером	TDatabase	Используется для установления связи с удаленными серверами баз данных. Компонент невизуальный.
сеанс работы с данными	TSession	Используется для обеспечения глобального управления соединениями приложения с базами данных. Компонент невизуальный.
локальная работа с данными	TBatchMove	Позволяет работать с записями и таблицами локально, а затем передавать обновленную информацию обратно на сервер. Компонент невизуальный.
изменение базы данных SQL	TUpdateSQL	Используется для внесения изменений в базы данных SQL. Компонент невизуальный.
связь с сервером и базами данных	TProvider	Используется для  установления связи с приложениями удаленными серверами баз данных и данными клиента в многопроцессных приложениях. Компонент невизуальный. В Delphi 4 перенесен на страницу MIDAS.
доступ к многоуровневым базам данных	TClientDataSet	Используется для  доступа клиента к многоуровневым базам данных. Компонент невизуальный. В Delphi 4 перенесен на страницу MIDAS.
связь с удаленным сервером	TRemoteServer	Используется для  связи с многоуровневыми базам данных на удаленном сервере. Компонент невизуальный. В Delphi 4 перенесен на страницу MIDAS.


Страница Data Controls палитры компонентов Delphi 3

см.также

Страница Data Controls содержит компоненты, связанные с данными и предназначенные для отображение, ввода и редактирования содержимого баз данных.

Компонент	Тип	Описание
таблица данных	TDBGrid	Используется для создания ориентированных на данные сеток (таблиц) с отображением данных в строках и столбцах. Компонент визуальный.
навигатор	TDBNavigator	Используется для управления просмотром базы данных с возможностью редактирования данных. Компонент визуальный.
метка	TDBText	Представляет собой ориентированный на данные вариант компонента TLabel. Компонент визуальный.
окно редактирования	TDBEdit	Представляет собой  ориентированный на данные вариант компонента TEdit. Компонент визуальный.
окно редактирования Memo	TDBMemo	Представляет собой ориентированный на данные вариант компонента TMemo. Компонент визуальный.
изображение	TDBImage	Представляет собой ориентированный на данные вариант компонента TImage. Компонент визуальный.
список	TDBListBox	Представляет собой ориентированный на данные вариант компонента TListBox. Компонент визуальный.
редактируемый список	TDBComboBox	Представляет собой ориентированный на данные вариант компонента TComboBox. Компонент визуальный.
индикатор	TDBCheckBox	Представляет собой ориентированный на данные вариант компонента TCheckBox. Компонент визуальный.
группа радиокнопок	TDBRadioGroup	Представляет собой ориентированный на данные компонента TRadioGroup. Компонент визуальный.
создание списка	TDBLookupListBox	Предназначен для создания окна TListBox, ориентированного на данные. Компонент визуальный.
создание редактируемого списка	TDBLookupComboBox	Предназначен для создания окна TComboBox, ориентированного на данные. Компонент визуальный.
окно формата RTF	TDBRichEdit	Представляет собой ориентированный на данные вариант компонента TRichEdit. Компонент визуальный.
гибкая таблица данных	TDBCtrlGrid	Используется для создания таблицы данных, более гибкой, чем TDBGrid. Компонент визуальный.
гистограммы, графики	TDBChart	Представляет собой ориентированный на данные вариант компонента TChart. Компонент визуальный.


Страница QReport палитры компонентов Delphi 3

см.также

Страница QReport содержит компоненты, используемые при генерации отчетов.

Компонент	Тип	Описание
отчет	TQuickReport	Используется для введения в приложение средств печати отчетов QuickReport. Компонент невизуальный.
детали	TQRSubDetail	Используется для компоновки в отчет дополнительных данных. Компонент визуальный.
полоса	TQRBand	Используется для построения отчетов путем размещения на нем печатаемых компонентов. Компонент визуальный.
дочерние полосы	TQRChildBand	Используется вам создавать дочерние полосы, которые могут содержать другие компоненты TquickReport и полосы. Компонент визуальный.
группировка	TQRGroup	Используется для группировки данных. Компонент невизуальный.
метка	TQRLabel	Используется для размещения текста в отчете. Компонент визуальный.
текст из базы данных	TQRDBText	Представляет собой ориентированный на данные компонент для размещения текста в отчете. Компонент визуальный.
матеметические выражения	TQRExpr	Позволяет вам строить и отображать выражения над полями данных и системными величинами (такими, как время и дата). Свойство expression компонента включает диалоговое окно Построитель Выражений (Expression Builder), дающее возможность графического построения выражений.
системные данные	TQRSysData	Используется для отображения системных данных. Компонент визуальный.
многострочный текст	TQRMemo	Используется для размещения в отчете многострочных текстов. Компонент визуальный.
многострочный текст RTF	TQRRichText	Используется для размещения в отчете текста в обогащенном формате TRichText. Компонент визуальный.
многострочный текст RTF базы данных	TQRDBRichText	Используется для размещения в отчете текста из базы данных в обогащенном формате TRichText. Компонент визуальный.
форма	TQRShape	Используется для рисования в отчете графических форм. Компонент визуальный.
изображение	TQRImage	Используется для печати изображений в отчете. Компонент визуальный.
изображение из базы данных	TQRDBImage	Используется для печати изображений из баз данных в отчете. Компонент визуальный.
составной отчет	TQRCompositeReport	Используется для построения составных отчетов. Компонент визуальный.
предварительный просмотр	TQRPreview	Используется для предварительного просмотра на экране подготовленного к печати отчета. Компонент визуальный.
диаграммы, графики	TQRChart	Используется для печати в отчете диаграмм, построенных на основе баз данных. Компонент визуальный.


Страница Dialogs палитры компонентов Delphi 3

см.также

Страница Dialogs содержит компоненты, используемые для создания различных диалоговых окон, общепринятых в приложениях Windows. Диалоги используются для указания файлов или выбора установок. Применение поставляемых в составе Delphi диалоговых окон помогает сэкономить время на разработку и придать вашему приложению совместимость с принятыми в Windows нормами диалога.

Компонент	Тип	Описание
"Открыть файл"	TOpenDialog	Предназначен для создания окна диалога "Открыть файл". Компонент невизуальный.
"Сохранить файл"	TSaveDialog	Предназначен для создания окна диалога "Сохранить файл". Компонент невизуальный.
"Открыть рисунок"	TOpenPictureDialog	Предназначен для создания окна диалога "Открыть рисунок". Компонент невизуальный.
"Сохранить рисунок"	TSavePictureDialog	Предназначен для создания окна диалога "Сохранить рисунок". Компонент невизуальный.
"Шрифты"	TFontDialog	Предназначен для создания окна диалога "Шрифты". Компонент невизуальный.
"Цвет"	TColorDiolog	Компонент предназначен для создания окна диалога "Цвет". Компонент невизуальный.
"Печать"	TPrintDialog	Предназначен для создания окна диалога "Печать". Компонент невизуальный.
"Установка принтера"	TPrinterSetupDialog	Предназначен для создания окна диалога "Установка принтера". Компонент невизуальный.
"Найти"	TFindDialog	Предназначен для создания окна диалога "Найти". Компонент невизуальный.
"Заменить"	TReplaceDialog	Предназначен для создания окна диалога "Заменить". Компонент невизуальный.


Страница Win3.1 палитры компонентов Delphi 3

см.также

Страница Win3.1 содержит компоненты, которые широко используются Delphi 1, но в более поздних версиях Delphi замененные новыми. Компоненты этой таблицы сохраняются в 32-разрядных версиях для обеспечения совместимости при переводе приложений из Delphi 1.0 в более поздние версии. В 32-разрядных приложениях компоненты данной страницы применять не следует.

Компонент	Тип	Описание
создание списка данных	TDBLookupList	Предназначен для просмотра значений в таблице данных с помощью окна списка. Компонент визуальный.
создание редактируемого списка данных	TDBLookupCombo	Предназначен для просмотра значений в таблице данных с помощью выпадающего списка. Компонент визуальный.
блокнот с закладками	TTabSet	Используется для создания блокнота с закладками. Компонент визуальный.
окно дерева	TOutline	Позволяет в отображать иерархические данные в форме дерева. Компонент визуальный.
многостраничная форма	TTabbedNoteBook	Используется для создания многостраничных форм с закладками. Компонент визуальный.
пачка страниц	TNoteBook	Используется для создания пачки страниц, может применяться совместно с TTabSet. Компонент визуальный. Компонент визуальный.
заголовок	THeader	Используется для отображения текста в областях переменного размера. Компонент визуальный.
список файлов	TFileListBox	Отображает список всех файлов каталога. Компонент визуальный.
структура каталогов	TDirectoryListBox	Отображает структуру каталогов диска. Компонент визуальный.
список дисков	TDriveComboBox	Выпадающий список доступных дисков. Компонент визуальный.
список фильтров	TFilterComboBox	Выпадающий список фильтров для поиска файлов. Компонент визуальный.


Страница Samples палитры компонентов Delphi 3

см.также

Страница Samples содержит примеры компонентов. Поскольку это всего лишь примеры, они снабжены в Delphi лишь минимальной документацией.

Компонент	Тип	Описание
индикатор хода процесса	TGauge	Пример компонента, используемого для создания индикатора хода процесса в виде линейки, текста или секторной диаграммы. Компонент визуальный.
таблица цветов	TColorGrid	Пример компонента, используемого для создания таблицы цветов, в которой пользователь выбирает требуемый цвет. Компонент визуальный.
кнопка-счетчик	TSpinButton	Пример компонента, используемого для создания кнопок-счетчиков. Компонент визуальный.
окно редактирования со счетчиком	TSpinEdit	Пример компонента, используемого для создания окна редактирования в комбинации с кнопкой-счетчиком. Компонент визуальный.
дерево каталогов	TDirectory Outline	Пример компонента, используемого для отображения структуры каталогов выбранного диска. Компонент визуальный.
календарь	TCalendar	Пример компонента, используемого для отображения календаря на указанный месяц в стандартном формате. Компонент визуальный.
индикатор события	TIBEventAlerter	Пример компонента, сигнализирующего о событии в базе данных. Компонент невизуальный.


Палитра компонентов Delphi 4
Палитра компонентов в Delphi 4

см.также

В Delphi 4 палитра компонентов включает следующие основные страницы:

Standard	Стандартная, содержащая наиболее часто используемые компоненты
Additional	Дополнительная, являющаяся дополнением предыдущей
Win32	Страница компонентов в стиле Windows 95 и NT
System	Системная, содержащая такие компоненты, как таймеры, плееры и ряд других
Inernet	Страница компонентов для работы в Интернет
Data Access	Страница компонентов доступа к данным
Data Controls	Страница компонентов, связанных с данными
Decision Cube	Страница компонентов для многомерного анализа данных
QReport	Компоненты для быстрой подготовки отчетов
Dialogs	Страница системных диалогов типа "Открыть файл" и пр.
Win 3.1	Страница компонентов для Windows 3.x, оставленных для обратной совместимости версий Delphi

Имеются еще две страницы, содержащие примеры:

Samples	Образцы: различные интересные, но не до конца документированные компоненты
ActiveX	Активные элементы ActiveX

Помимо перечисленных пользователь может организовывать свои страницы и размещать на них свои компоненты.


Страница Standard палитры компонентов Delphi 4

см.также

Страница Standard содержит ряд часто используемых компонентов общего назначения

Компонент	Тип	Описание
главное меню	TMainMenu	Позволяет конструировать и создавать полосу главного меню формы и выпадающие меню. Компонент невизуальный.
всплывающее меню	TPopupMenu	Позволяет конструировать и создавать всплывающие контекстные меню, возникающие при нажатии пользователем правой кнопки мыши. Компонент невизуальный.
метка	TLabel	Используется для размещения на формах и других контейнерах текста, который не изменяется пользователем. Компонент визуальный.
окно редактирования	TEdit	Используется для ввода пользователем однострочных текстов. Может использоваться для отображения текста. Компонент визуальный.
многострочное окно редактирования	TMemo	Используется для ввода и отображения многострочных текстов. Компонент визуальный.
командная кнопка	TButton	Используется для создания кнопок, которыми пользователь выбирает команды в приложении. Компонент визуальный.
контрольный индикатор с флажком	TCheckBox	Позволяет пользователю выбирать или выключать опции программы. Компонент визуальный.
радиокнопка	TRadioButton	Предлагают пользователю набор альтернатив, из которого выбирается одна. Набор реализуется требуемым количеством радиокнопок, размещенных в одном контейнере (форме, панели и т. п.). Компонент визуальный.
окно списка	TListBox	Представляет собой стандартное окно списка Windows, позволяющее пользователю выбирать пункты из списка. Компонент визуальный.
редактируемый список	TComboBox	Объединяет функции ListBox и Edit. Пользователь может либо ввести текст, либо выбрать его из списка. Компонент визуальный.
линейка прокрутки	TScrollBar	Представляет собой стандартную линейку прокрутки Windows и служит для управления положением видимой части форм или компонентов. Компонент визуальный.
групповое окно	TGroupBox	Является контейнером, объединяющим группу связанных органов управления, таких как радиокнопки RadioButton, контрольные индикаторы Checkbox и т.д. Компонент визуальный.
группа радиокнопок	TRadioGroup	Является комбинацией группового окна GroupBox с набором радиокнопок RadioButton; служит специально для создания групп радиокнопок. Можно размещать в компоненте несколько радиокнопок, но никакие другие органы управления не разрешены. Компонент визуальный.
панель	TPanel	Является контейнером для группирования органов управления и меньших контейнеров. Панель можно использовать также для построения полос состояния, инструментальных панелей, палитр инструментов. Компонент визуальный.
список событий	TActionList	Обеспечивает диспетчеризацию событий компонентов. Компонент не визуальный.


Страница Additional палитры компонентов Delphi 4

см.также

Страница Additional является дополнением страницы Standard и содержит ряд часто используемых компонентов общего назначения

Компонент	Тип	Описание
кнопка с графикой	TBitBtn	Используется для создания кнопок, на которых располагается битовая графика (например, кнопка ОК с галочкой). Компонент визуальный.
кнопка с фиксацией	TSpeedButton	Используется для создания инструментальных панелей и в других случаях, когда требуется кнопка с фиксацией нажатого состояния. Компонент визуальный.
маскированный ввод	TMaskEdit	Используется для форматирования данных или для ввода символов в соответствии с шаблоном. Компонент визуальный.
таблица строк	TStringGrid	Используется для отображения текстовой информации в таблице из строк и столбцов. Компонент визуальный.
таблица рисунков	TDrawGrid	Используется для отображения в строках и столбцах нетекстовых данных. Компонент визуальный.
изображение	TImage	Используется для отображения графики: пиктограмм, битовых матриц и метафайлов. Компонент визуальный.
формы	TShape	Используется для рисования фигур: квадратов, кругов и т.п. Компонент визуальный.
рамка	TBevel	Используется для рисования прямоугольной рамки, изображенной как выступающая или утопленная. Компонент визуальный.
окно с прокруткой	TScrollBox	Используется для создания зон отображения с прокруткой. Компонент визуальный.
список с флажками	TCheckListBox	Компонент является комбинацией свойств списка ListBox и индикаторов CheckBox в одном компоненте. Компонент визуальный.
разделитель панелей	TSplitter	Используется для создания в приложении панелей с изменяемыми пользователем размерами. Компонент визуальный.
метка с бордюром	TStaticText	Компонент подобен компоненту Label, но обеспечивает дополнительные возможности по заданию стиля бордюра. Компонент визуальный.
инстументальная панель	TControlBar	Используется для размещения компонентов инструментальной панели. Компонент визуальный.
диаграммы и графики	TChart	Компонент принадлежит к семейству компонентов Tchart, которые используются для создания диаграмм и графиков. Компонент визуальный.


Страница Win32 палитры компонентов Delphi 4

см.также

Страница Win32 содержит компоненты общего назначения, позволяющие разрабатывать приложения в стиле Windows 95/NT 4.x. Некоторые из этих компонентов аналогичны имеющимся на странице Win3.1.

Компонент	Тип	Описание
страница с закладкой	TTabControl	Позволяет добавлять закладки в стиле Windows 95, которые может выбирать пользователь. Компонент визуальный.
многостраничное окно	TPageControl	Позволяет создавать страницы в стиле Windows 95, управляемые закладками или иными органами управления, для экономии места на рабочем столе. Компонент визуальный. Компонент визуальный.
список изображений	TImageList	Предназначенный для работы со списками изображений одинакового размера в меню инструментальных панелях и т.п. Компонент невизуальный.
окно редактирования в формате RTF	TRichEdit	Представляет собой окно редактирования в стиле Windows 95, позволяющее производить выбор цвета и шрифта, поиск текста и многое другое. Компонент визуальный.
ползунок	TTrackBar	Управляющий элемент в виде ползунка в стиле Windows 95. Компонент визуальный.
отображение хода процесса	TProgressBar	Используется для отображения в стиле Windows 95 хода процессов, занимающих заметное время. Компонент визуальный.
кнопка-счетчик	TUpDown	Кнопка-счетчик в стиле Windows 95 для ввода целых чисел. Компонент визуальный.
"горячие" клавиши	THotKey	Дает возможность реализовать в приложении поддержку горячих клавиш. Компонент визуальный.
воспроизведение немых клипов	TAnimate	Используется для воспроизведения немых клипов AVI, подобных используемым в Windows 95 изображениям копирования файлов и т.п. Компонент визуальный.
ввод дат и времени	TDateTimePicker	Ввод дат и времени с выпадающим календарем. Компонент визуальный.
ввод дат	TMonthCalendar	Ввод дат с выбором из календаря. Компонент визуальный.
дерево	TTreeView	Предоставляет возможность просмотра структуры иерархических данных в стиле Windows 95. Компонент визуальный.
списки	TListView	Отображает в стиле Windows 95 списки в колонках. Компонент визуальный.
заголовок	THeaderControl	Позволяет в стиле Windows 95 создавать составные перемещаемые заголовки. Компонент визуальный.
полоса состояния	TStatusBar	Полоса состоянии программы, при необходимости – на нескольких панелях. Компонент визуальный.
инструментальная панель	TToolBar	Инструментальная панель для быстрого доступа к часто используемым функциям приложения. Компонент визуальный.
инструментальная перестраиваемая панель	TCoolBar	Контейнер инструментальной панели, размеры которой могут изменяться пользователем. Компонент визуальный.
прокрутка страниц	TPageScroller	Обеспечивает прокрутку больших окон, например, инструментальных панелей. Компонент визуальный.


Страница System палитры компонентов Delphi 4

см.также

Страница System содержит компоненты, позволяющие использовать системные средства Windows.

Компонент	Тип	Описание
таймер	TTimer	Используется для запуска процедур, функций и событий в указанные интервалы времени. Компонент невизуальный.
окно для рисования	TPaintBox	Используется для создания в форме некоторой области, в которой можно рисовать. Компонент визуальный.
аудио и видео плеер	TMediaPlayer	Используется для создания панели управления воспроизведением звуковых и видео файлов, а также устройств мультимедиа. Компонент визуальный.
контейнер OLE	TOLEContainer	Используется при создании области клиента для объекта OLE. Компонент визуальный.
диалог  с сервером DDE	TDDEClientConv	Используется клиентом DDE для организации диалога с сервером DDE. Компонент невизуальный.
данные, передаваемые серверу DDE	TDDEClientItem	Используется для определения данных клиента, передаваемых в диалоге серверу DDE. Компонент невизуальный.
диалог  с клиентом DDE	TDDEServerConv	Компонент используется сервером DDE при проведении диалога с клиентом DDE. Компонент невизуальный.
данные, передаваемые клиенту DDE	TDDEServerItem	Компонент используется для определения данных сервера, передаваемых клиенту DDE в течение диалога. Компонент невизуальный.


Страница Data Access палитры компонентов Delphi 4

см.также

Страница Data Access - доступ к данным, содержит компоненты управления обменом информацией между приложением и базами данных.

Компонент	Тип	Описание
источник данных	TDataSource	Используется для соединения компонентов типа TTable или TQuery с компонентами, отображающими данные. Компонент невизуальный.
набор данных	TTable	Используется для установления связи приложения с таблицей базы данных. Компонент невизуальный.
запросы SQL	TQuery	Используется для построения и выполнения SQL-запросов к удаленным SQL-серверам или локальным базам данных. Компонент невизуальный.
хранимые процедуры	TStoredProc	Используется для выполнения процедур, хранимых на SQL-сервере. Компонент невизуальный.
связь с сервером	TDatabase	Используется для установления связи с удаленными серверами баз данных. Компонент невизуальный.
сеанс работы с данными	TSession	Используется для обеспечения глобального управления соединениями приложения с базами данных. Компонент невизуальный.
локальная работа с данными	TBatchMove	Позволяет работать с записями и таблицами локально, а затем передавать обновленную информацию обратно на сервер. Компонент невизуальный.
изменение базы данных SQL	TUpdateSQL	Используется для внесения изменений в базы данных SQL. Компонент невизуальный.
вложенные таблицы	TNestedTable	Таблицы данных, вложенные в другие таблицы как поля. Компонент невизуальный.


Страница Data Controls палитры компонентов Delphi 4

см.также

Страница Data Controls содержит компоненты, связанные с данными и предназначенные для отображение, ввода и редактирования содержимого баз данных.

Компонент	Тип	Описание
таблица данных	TDBGrid	Используется для создания ориентированных на данные сеток (таблиц) с отображением данных в строках и столбцах. Компонент визуальный.
навигатор	TDBNavigator	Используется для управления просмотром базы данных с возможностью редактирования данных. Компонент визуальный.
метка	TDBText	Представляет собой ориентированный на данные вариант компонента TLabel. Компонент визуальный.
окно редактирования	TDBEdit	Представляет собой ориентированный на данные вариант компонента TEdit. Компонент визуальный.
окно редактирования Memo	TDBMemo	Представляет собой ориентированный на данные вариант компонента TMemo. Компонент визуальный.
изображение	TDBImage	Представляет собой ориентированный на данные вариант компонента TImage. Компонент визуальный.
список	TDBListBox	Представляет собой ориентированный на данные вариант компонента TListBox. Компонент визуальный.
редактируемый список	TDBComboBox	Представляет собой ориентированный на данные вариант компонента TComboBox. Компонент визуальный.
индикатор	TDBCheckBox	Представляет собой ориентированный на данные вариант компонента TCheckBox. Компонент визуальный.
группа радиокнопок	TDBRadioGroup	Представляет собой ориентированный на данные компонента TRadioGroup. Компонент визуальный.
создание списка	TDBLookupListBox	Предназначен для создания окна TListBox, ориентированного на данные. Компонент визуальный.
создание редактируемого списка	TDBLookupComboBox	Предназначен для создания окна TComboBox, ориентированного на данные. Компонент визуальный.
окно формата RTF	TDBRichEdit	Представляет собой  ориентированный на данные вариант компонента TRichEdit. Компонент визуальный.
гибкая таблица данных	TDBCtrlGrid	Используется для создания таблицы данных, более гибкой, чем TDBGrid. Компонент визуальный.
гистограммы, графики	TDBChart	Представляет собой  ориентированный на данные вариант компонента TChart. Компонент визуальный.


Страница QReport палитры компонентов Delphi 4

см.также

Страница QReport содержит компоненты, используемые при генерации отчетов.

Компонент	Тип	Описание
отчет	TQuickReport	Используется для введения в приложение средств печати отчетов QuickReport. Компонент невизуальный.
детали	TQRSubDetail	Используется для компоновки в отчет дополнительных данных. Компонент визуальный.
полоса текста	TQRStringsBand	Используется для компоновки в отчет дополнительных текстов. Компонент визуальный.
полоса	TQRBand	Используется для построения отчетов путем размещения на нем печатаемых компонентов. Компонент визуальный.
дочерние полосы	TQRChildBand	Используется вам создавать дочерние полосы, которые могут содержать другие компоненты TquickReport и полосы. Компонент визуальный.
группировка	TQRGroup	Используется для группировки данных. Компонент невизуальный.
метка	TQRLabel	Используется для размещения текста в отчете. Компонент визуальный.
текст из базы данных	TQRDBText	Представляет собой ориентированный на данные компонент для размещения текста в отчете. Компонент визуальный.
матемети-ческие выражения	TQRExpr	Позволяет вам строить и отображать выражения над полями данных и системными величинами (такими, как время и дата). Свойство expression компонента включает диалоговое окно Построитель Выражений (Expression Builder), дающее возможность графического построения выражений.
системные данные	TQRSysData	Используется для отображения системных данных. Компонент визуальный.
многострочный текст	TQRMemo	Используется для размещения в отчете многострочных текстов. Компонент визуальный.
тексты с математичес-кими выражениями	TQRExprMemo	Используется для размещения в отчете текстов с математическими выражениями. Компонент визуальный.
многострочный текст RTF	TQRRichText	Используется для размещения в отчете текста в обогащенном формате TRichText. Компонент визуальный.
многострочный текст RTF базы данных	TQRDBRichText	Используется для размещения в отчете текста из базы данных в обогащенном формате TRichText. Компонент визуальный.
форма	TQRShape	Используется для рисования в отчете графических форм. Компонент визуальный.
изображение	TQRImage	Используется для печати изображений в отчете. Компонент визуальный.
изображение из базы данных	TQRDBImage	Используется для печати изображений из баз данных в отчете. Компонент визуальный.
составной отчет	TQRCompositeReport	Используется для построения составных отчетов. Компонент визуальный.
предварительный просмотр	TQRPreview	Используется для предварительного просмотра на экране подготовленного к печати отчета. Компонент визуальный.
фильтр текста	TQRTextFilter	Используется для установки фильтра текста. Компонент невизуальный.
разделитель	TQRCSVFilter	Используется для установки разделителя текста. Компонент невизуальный.
фильтр HTML	TQRHTMLFilter	Используется для установки фильтра HTML. Компонент невизуальный.
диаграммы, графики	TQRChart	Используется для печати в отчете диаграмм, построенных на основе баз данных. Компонент визуальный.


Страница Dialogs палитры компонентов Delphi 4

см.также

Страница Dialogs содержит компоненты, используемые для создания различных диалоговых окон, общепринятых в приложениях Windows. Диалоги используются для указания файлов или выбора установок. Применение поставляемых в составе Delphi диалоговых окон помогает сэкономить время на разработку и придать вашему приложению совместимость с принятыми в Windows нормами диалога.

Компонент	Тип	Описание
"Открыть файл"	TOpenDialog	Предназначен для создания окна диалога "Открыть файл". Компонент невизуальный.
"Сохранить файл"	TSaveDialog	Предназначен для создания окна диалога "Сохранить файл". Компонент невизуальный.
"Открыть рисунок"	TOpenPictureDialog	Предназначен для создания окна диалога "Открыть рисунок". Компонент невизуальный.
"Сохранить рисунок"	TSavePictureDialog	Предназначен для создания окна диалога "Сохранить рисунок". Компонент невизуальный.
"Шрифты"	TFontDialog	Предназначен для создания окна диалога "Шрифты". Компонент невизуальный.
"Цвет"	TColorDiolog	Компонент предназначен для создания окна диалога "Цвет". Компонент невизуальный.
"Печать"	TPrintDialog	Предназначен для создания окна диалога "Печать". Компонент невизуальный.
"Установка принтера"	TPrinterSetupDialog	Предназначен для создания окна диалога "Установка принтера". Компонент невизуальный.
"Найти"	TFindDialog	Предназначен для создания окна диалога "Найти". Компонент невизуальный.
"Заменить"	TReplaceDialog	Предназначен для создания окна диалога "Заменить". Компонент невизуальный.


Страница Win3.1 палитры компонентов Delphi 4

см.также

Страница Win3.1 содержит компоненты, которые широко используются Delphi 1, но в более поздних версиях Delphi замененные новыми. Компоненты этой таблицы сохраняются в 32-разрядных версиях для обеспечения совместимости при переводе приложений из Delphi 1.0 в более поздние версии. В 32-разрядных приложениях компоненты данной страницы применять не следует.

Компонент	Тип	Описание
блокнот с закладками	TTabSet	Используется для создания блокнота с закладками. Компонент визуальный.
окно дерева	TOutline	Позволяет в отображать иерархические данные в форме дерева. Компонент визуальный.
многостраничная форма	TTabbedNoteBook	Используется для создания многостраничных форм с закладками. Компонент визуальный.
пачка страниц	TNoteBook	Используется для создания пачки страниц, может применяться совместно с TTabSet. Компонент визуальный.
заголовок	THeader	Используется для отображения текста в областях переменного размера. Компонент визуальный.
список файлов	TFileListBox	Отображает список всех файлов каталога. Компонент визуальный.
структура каталогов	TDirectoryListBox	Отображает структуру каталогов диска. Компонент визуальный.
список дисков	TDriveComboBox	Выпадающий список доступных дисков. Компонент визуальный.
список фильтров	TFilterComboBox	Выпадающий список фильтров для поиска файлов. Компонент визуальный.
создание списка данных	TDBLookupList	Предназначен для просмотра значений в таблице данных с помощью окна списка. Компонент визуальный.
создание редактируемого списка данных	TDBLookupCombo	Предназначен для просмотра значений в таблице данных с помощью выпадающего списка. Компонент визуальный.


Страница Samples палитры компонентов Delphi 4

см.также

Страница Samples содержит примеры компонентов. Поскольку это всего лишь примеры, они снабжены в Delphi лишь минимальной документацией.

Компонент	Тип	Описание
индикатор хода процесса	TGauge	Пример компонента, используемого для создания индикатора хода процесса в виде линейки, текста или секторной диаграммы. Компонент визуальный.
таблица цветов	TColorGrid	Пример компонента, используемого для создания таблицы цветов, в которой пользователь выбирает требуемый цвет. Компонент визуальный.
кнопка-счетчик	TSpinButton	Пример компонента, используемого для создания кнопок-счетчиков. Компонент визуальный.
окно редактирования со счетчиком	TSpinEdit	Пример компонента, используемого для создания окна редактирования в комбинации с кнопкой-счетчиком. Компонент визуальный.
дерево каталогов	TDirectoryOutline	Пример компонента, используемого для отображения структуры каталогов выбранного диска. Компонент визуальный.
календарь	TCalendar	Пример компонента, используемого для отображения календаря на указанный месяц в стандартном формате. Компонент визуальный.
индикатор события	TIBEventAlerter	Пример компонента, сигнализирующего о событии в базе данных. Компонент невизуальный.


Палитра компонентов Delphi 5

см.также

В Delphi 5 палитра компонентов включает следующие основные страницы:

Standard	Стандартная, содержащая наиболее часто используемые компоненты
Additional	Дополнительная, являющаяся дополнением предыдущей
Win32	Страница компонентов в стиле Windows 95 и NT
System	Системная, содержащая такие компоненты, как таймеры, плееры и ряд других
Data Access	Страница компонентов доступа к данным через Borland Database Engine (BDE)
Data Controls	Страница компонентов, связанных с данными
ADO	Связь с базами данных через Active Data Objects (ADO) - множество компонентов ActiveX, использующих для доступа к информации баз данных Microsoft OLEDB
Interbase	Прямая связь с Interbase, минуя Borland Database Engine (BDE) и Active Data Objects (ADO)
Midas	Построение приложений баз данных с параллельными потоками
InternetExpress	Построение приложений InternetExpress - одновременно приложений сервера Web и клиента баз данных с параллельными потоками
Inernet	Страница компонентов для работы в Интернет
FastNet	Различные протоколы доступа к Интернет
Decision Cube	Страница компонентов для многомерного анализа данных
QReport	Компоненты для быстрой подготовки отчетов
Dialogs	Страница системных диалогов типа "Открыть файл" и пр.
Win 3.1	Страница компонентов для Windows 3.x, оставленных для обратной совместимости версий Delphi
Servers	Оболочки VCL для распространенных серверов COM

Имеются еще две страницы, содержащие примеры:

Samples	Образцы: различные интересные, но не до конца документированные компоненты
ActiveX	Активные элементы ActiveX

Помимо перечисленных пользователь может организовывать свои страницы и размещать на них свои компоненты.


Страница Standard палитры компонентов Delphi 5

см.также

Страница Standard содержит ряд часто используемых компонентов общего назначения

Компонент	Тип	Описание
фрейм	TFrame	Панель с возможностями наследования. Проектируется как отдельное окно. Компонент визуальный.
главное меню	TMainMenu	Позволяет конструировать и создавать полосу главного меню формы и выпадающие меню. Компонент невизуальный.
всплывающее меню	TPopupMenu	Позволяет конструировать и создавать всплывающие контекстные меню, возникающие при нажатии пользователем правой кнопки мыши. Компонент невизуальный.
метка	TLabel	Используется для размещения на формах и других контейнерах текста, который не изменяется пользователем. Компонент визуальный.
окно редактирования	TEdit	Используется для ввода пользователем однострочных текстов. Может использоваться для отображения текста. Компонент визуальный.
многострочное окно редактирования	TMemo	Используется для ввода и отображения многострочных текстов. Компонент визуальный.
командная кнопка	TButton	Используется для создания кнопок, которыми пользователь выбирает команды в приложении. Компонент визуальный.
контрольный индикатор с флажком	TCheckBox	Позволяет пользователю выбирать или выключать опции программы. Компонент визуальный.
радиокнопка	TRadioButton	Предлагают пользователю набор альтернатив, из которого выбирается одна. Набор реализуется требуемым количеством радиокнопок, размещенных в одном контейнере (форме, панели и т. п.). Компонент визуальный.
окно списка	TListBox	Представляет собой стандартное окно списка Windows, позволяющее пользователю выбирать пункты из списка. Компонент визуальный.
редактируемый список	TComboBox	Объединяет функции ListBox и Edit. Пользователь может либо ввести текст, либо выбрать его из списка. Компонент визуальный.
линейка прокрутки	TScrollBar	Представляет собой стандартную линейку прокрутки Windows и служит для управления положением видимой части форм или компонентов. Компонент визуальный.
групповое окно	TGroupBox	Является контейнером, объединяющим группу связанных органов управления, таких как радиокнопки RadioButton, контрольные индикаторы Checkbox и т.д. Компонент визуальный.
группа радиокнопок	TRadioGroup	Является комбинацией группового окна GroupBox с набором радиокнопок RadioButton; служит специально для создания групп радиокнопок. Можно размещать в компоненте несколько радиокнопок, но никакие другие органы управления не разрешены. Компонент визуальный.
панель	TPanel	Является контейнером для группирования органов управления и меньших контейнеров. Панель можно использовать также для построения полос состояния, инструментальных панелей, палитр инструментов. Компонент визуальный.
список событий	TActionList	Обеспечивает диспетчеризацию событий компонентов. Компонент невизуальный.


Страница Additional палитры компонентов Delphi 5

см.также

Страница Additional является дополнением страницы Standard и содержит ряд часто используемых компонентов общего назначения

Компонент	Тип	Описание
кнопка с графикой	TBitBtn	Используется для создания кнопок, на которых располагается битовая графика (например, кнопка ОК с галочкой). Компонент визуальный.
кнопка с фиксацией	TSpeedButton	Используется для создания инструментальных панелей и в других случаях, когда требуется кнопка с фиксацией нажатого состояния. Компонент визуальный.
маскированный ввод	TMaskEdit	Используется для форматирования данных или для ввода символов в соответствии с шаблоном. Компонент визуальный.
таблица строк	TStringGrid	Используется для отображения текстовой информации в таблице из строк и столбцов. Компонент визуальный.
таблица рисунков	TDrawGrid	Используется для отображения в строках и столбцах нетекстовых данных. Компонент визуальный.
изображение	TImage	Используется для отображения графики: пиктограмм, битовых матриц и метафайлов. Компонент визуальный.
формы	TShape	Используется для рисования фигур: квадратов, кругов и т.п. Компонент визуальный.
рамка	TBevel	Используется для рисования прямоугольной рамки, изображенной как выступающая или утопленная. Компонент визуальный.
окно с прокруткой	TScrollBox	Используется для создания зон отображения с прокруткой. Компонент визуальный.
список с флажками	TCheckListBox	Компонент является комбинацией свойств списка ListBox и индикаторов CheckBox в одном компоненте. Компонент визуальный.
разделитель панелей	TSplitter	Используется для создания в приложении панелей с изменяемыми пользователем размерами. Компонент визуальный.
метка с бордюром	TStaticText	Компонент подобен компоненту Label, но обеспечивает дополнительные возможности по заданию стиля бордюра. Компонент визуальный.
инстументальная панель	TControlBar	Используется для размещения компонентов инструментальной панели. Компонент визуальный.
события приложения	TApplication Events	Перехватывает события на уровне приложения. Компонент невизуальный.
диаграммы и графики	TChart	Компонент принадлежит к семейству компонентов Tchart, которые используются для создания диаграмм и графиков. Компонент визуальный.


Страница Win32 палитры компонентов Delphi 5

см.также

Страница Win32 содержит компоненты общего назначения, позволяющие разрабатывать приложения в стиле Windows 95/NT 4.x. Некоторые из этих компонентов аналогичны имеющимся на странице Win3.1.

Компонент	Тип	Описание
страница с закладкой	TTabControl	Позволяет добавлять закладки в стиле Windows 95, которые может выбирать пользователь. Компонент визуальный.
многостраничное окно	TPageControl	Позволяет создавать страницы в стиле Windows 95, управляемые закладками или иными органами управления, для экономии места на рабочем столе. Компонент визуальный. Компонент визуальный.
список изображений	TImageList	Предназначенный для работы со списками изображений одинакового размера в меню инструментальных панелях и т.п. Компонент невизуальный.
окно редактирования в формате RTF	TRichEdit	Представляет собой окно редактирования в стиле Windows 95, позволяющее производить выбор цвета и шрифта, поиск текста и многое другое. Компонент визуальный.
ползунок	TTrackBar	Управляющий элемент в виде ползунка в стиле Windows 95. Компонент визуальный.
отображение хода процесса	TProgressBar	Используется для отображения в стиле Windows 95 хода процессов, занимающих заметное время. Компонент визуальный.
кнопка-счетчик	TUpDown	Кнопка-счетчик в стиле Windows 95 для ввода целых чисел. Компонент визуальный.
"горячие" клавиши	THotKey	Дает возможность реализовать в приложении поддержку горячих клавиш. Компонент визуальный.
воспроизведение немых клипов	TAnimate	Используется для воспроизведения немых клипов AVI, подобных используемым в Windows 95 изображениям копирования файлов и т.п. Компонент визуальный.
ввод дат и времени	TDateTimePicker	Ввод дат и времени с выпадающим календарем. Компонент визуальный.
ввод дат	TMonthCalendar	Ввод дат с выбором из календаря. Компонент визуальный.
дерево	TTreeView	Предоставляет возможность просмотра структуры иерархических данных в стиле Windows 95. Компонент визуальный.
списки	TListView	Отображает в стиле Windows 95 списки в колонках. Компонент визуальный.
заголовок	THeaderControl	Позволяет в стиле Windows 95 создавать составные перемещаемые заголовки. Компонент визуальный.
полоса состояния	TStatusBar	Полоса состоянии программы, при необходимости – на нескольких панелях. Компонент визуальный.
инструментальная панель	TToolBar	Инструментальная панель для быстрого доступа к часто используемым функциям приложения. Компонент визуальный.
инструментальная перестраиваемая панель	TCoolBar	Контейнер инструментальной панели, размеры которой могут изменяться пользователем. Компонент визуальный.
прокрутка страниц	TPageScroller	Обеспечивает прокрутку больших окон, например, инструментальных панелей. Компонент визуальный.


Страница System палитры компонентов Delphi 5

см.также

Страница System содержит компоненты, позволяющие использовать системные средства Windows.

Компонент	Тип	Описание
таймер	TTimer	Используется для запуска процедур, функций и событий в указанные интервалы времени. Компонент невизуальный.
окно для рисования	TPaintBox	Используется для создания в форме некоторой области, в которой можно рисовать. Компонент визуальный.
аудио и видео плеер	TMediaPlayer	Используется для создания панели управления воспроизведением звуковых и видео файлов, а также устройств мультимедиа. Компонент визуальный.
контейнер OLE	TOLEContainer	Используется при создании области клиента для объекта OLE. Компонент визуальный.
диалог  с сервером DDE	TDDEClientConv	Используется клиентом DDE для организации диалога с сервером DDE. Компонент невизуальный.
данные, передаваемые серверу DDE	TDDEClientItem	Используется для определения данных клиента, передаваемых в диалоге серверу DDE. Компонент невизуальный.
диалог  с клиентом DDE	TDDEServerConv	Компонент используется сервером DDE при проведении диалога с клиентом DDE. Компонент невизуальный.
данные, передаваемые клиенту DDE	TDDEServerItem	Компонент используется для определения данных сервера, передаваемых клиенту DDE в течение диалога. Компонент невизуальный.


Страница Data Access палитры компонентов Delphi 5

см.также

Страница Data Access - доступ к данным, содержит компоненты управления обменом информацией между приложением и базами данных.

Компонент	Тип	Описание
источник данных	TDataSource	Используется для соединения компонентов типа TTable или TQuery с компонентами, отображающими данные. Компонент невизуальный.
набор данных	TTable	Используется для установления связи приложения с таблицей базы данных. Компонент невизуальный.
запросы SQL	TQuery	Используется для построения и выполнения SQL-запросов к удаленным SQL-серверам или локальным базам данных. Компонент невизуальный.
хранимые процедуры	TStoredProc	Используется для выполнения процедур, хранимых на SQL-сервере. Компонент невизуальный.
связь с сервером	TDatabase	Используется для установления связи с удаленными серверами баз данных. Компонент невизуальный.
сеанс работы с данными	TSession	Используется для обеспечения глобального управления соединениями приложения с базами данных. Компонент невизуальный.
локальная работа с данными	TBatchMove	Позволяет работать с записями и таблицами локально, а затем передавать обновленную информацию обратно на сервер. Компонент невизуальный.
изменение базы данных SQL	TUpdateSQL	Используется для внесения изменений в базы данных SQL. Компонент невизуальный.
вложенные таблицы	TNestedTable	Таблицы данных, вложенные в другие таблицы как поля. Компонент невизуальный.


Страница Data Controls палитры компонентов Delphi 5

см.также

Страница Data Controls содержит компоненты, связанные с данными и предназначенные для отображение, ввода и редактирования содержимого баз данных.

Компонент	Тип	Описание
таблица данных	TDBGrid	Используется для создания ориентированных на данные сеток (таблиц) с отображением данных в строках и столбцах. Компонент визуальный.
навигатор	TDBNavigator	Используется для управления просмотром базы данных с возможностью редактирования данных. Компонент визуальный.
метка	TDBText	Представляет собой ориентированный на данные вариант компонента TLabel. Компонент визуальный.
окно редактирования	TDBEdit	Представляет собой ориентированный на данные вариант компонента TEdit. Компонент визуальный.
окно редактирования Memo	TDBMemo	Представляет собой ориентированный на данные вариант компонента TMemo. Компонент визуальный.
изображение	TDBImage	Представляет собой ориентированный на данные вариант компонента TImage. Компонент визуальный.
список	TDBListBox	Представляет собой ориентированный на данные вариант компонента TListBox. Компонент визуальный.
редактируемый список	TDBComboBox	Представляет собой ориентированный на данные вариант компонента TComboBox. Компонент визуальный.
индикатор	TDBCheckBox	Представляет собой ориентированный на данные вариант компонента TCheckBox. Компонент визуальный.
группа радиокнопок	TDBRadioGroup	Представляет собой ориентированный на данные компонента TRadioGroup. Компонент визуальный.
создание списка	TDBLookupListBox	Предназначен для создания окна TListBox, ориентированного на данные. Компонент визуальный.
создание редактируемого списка	TDBLookupComboBox	Предназначен для создания окна TComboBox, ориентированного на данные. Компонент визуальный.
окно формата RTF	TDBRichEdit	Представляет собой  ориентированный на данные вариант компонента TRichEdit. Компонент визуальный.
гибкая таблица данных	TDBCtrlGrid	Используется для создания таблицы данных, более гибкой, чем TDBGrid. Компонент визуальный.
гистограммы, графики	TDBChart	Представляет собой  ориентированный на данные вариант компонента TChart. Компонент визуальный.


Страница QReport палитры компонентов Delphi 5

см.также

Страница QReport содержит компоненты, используемые при генерации отчетов.

Компонент	Тип	Описание
отчет	TQuickReport	Используется для введения в приложение средств печати отчетов QuickReport. Компонент невизуальный.
детали	TQRSubDetail	Используется для компоновки в отчет дополнительных данных. Компонент визуальный.
полоса текста	TQRStringsBand	Используется для компоновки в отчет дополнительных текстов. Компонент визуальный.
полоса	TQRBand	Используется для построения отчетов путем размещения на нем печатаемых компонентов. Компонент визуальный.
дочерние полосы	TQRChildBand	Используется вам создавать дочерние полосы, которые могут содержать другие компоненты TquickReport и полосы. Компонент визуальный.
группировка	TQRGroup	Используется для группировки данных. Компонент невизуальный.
метка	TQRLabel	Используется для размещения текста в отчете. Компонент визуальный.
текст из базы данных	TQRDBText	Представляет собой ориентированный на данные компонент для размещения текста в отчете. Компонент визуальный.
матемети-ческие выражения	TQRExpr	Позволяет вам строить и отображать выражения над полями данных и системными величинами (такими, как время и дата). Свойство expression компонента включает диалоговое окно Построитель Выражений (Expression Builder), дающее возможность графического построения выражений.
системные данные	TQRSysData	Используется для отображения системных данных. Компонент визуальный.
многострочный текст	TQRMemo	Используется для размещения в отчете многострочных текстов. Компонент визуальный.
тексты с математичес-кими выражениями	TQRExprMemo	Используется для размещения в отчете текстов с математическими выражениями. Компонент визуальный.
многострочный текст RTF	TQRRichText	Используется для размещения в отчете текста в обогащенном формате TRichText. Компонент визуальный.
многострочный текст RTF базы данных	TQRDBRichText	Используется для размещения в отчете текста из базы данных в обогащенном формате TRichText. Компонент визуальный.
форма	TQRShape	Используется для рисования в отчете графических форм. Компонент визуальный.
изображение	TQRImage	Используется для печати изображений в отчете. Компонент визуальный.
изображение из базы данных	TQRDBImage	Используется для печати изображений из баз данных в отчете. Компонент визуальный.
составной отчет	TQRCompositeReport	Используется для построения составных отчетов. Компонент визуальный.
предварительный просмотр	TQRPreview	Используется для предварительного просмотра на экране подготовленного к печати отчета. Компонент визуальный.
фильтр текста	TQRTextFilter	Используется для установки фильтра текста. Компонент невизуальный.
разделитель	TQRCSVFilter	Используется для установки разделителя текста. Компонент невизуальный.
фильтр HTML	TQRHTMLFilter	Используется для установки фильтра HTML. Компонент невизуальный.
диаграммы, графики	TQRChart	Используется для печати в отчете диаграмм, построенных на основе баз данных. Компонент визуальный.


Страница Dialogs палитры компонентов Delphi 5

см.также

Страница Dialogs содержит компоненты, используемые для создания различных диалоговых окон, общепринятых в приложениях Windows. Диалоги используются для указания файлов или выбора установок. Применение поставляемых в составе Delphi диалоговых окон помогает сэкономить время на разработку и придать вашему приложению совместимость с принятыми в Windows нормами диалога.

Компонент	Тип	Описание
"Открыть файл"	TOpenDialog	Предназначен для создания окна диалога "Открыть файл". Компонент невизуальный.
"Сохранить файл"	TSaveDialog	Предназначен для создания окна диалога "Сохранить файл". Компонент невизуальный.
"Открыть рисунок"	TOpenPictureDialog	Предназначен для создания окна диалога "Открыть рисунок". Компонент невизуальный.
"Сохранить рисунок"	TSavePictureDialog	Предназначен для создания окна диалога "Сохранить рисунок". Компонент невизуальный.
"Шрифты"	TFontDialog	Предназначен для создания окна диалога "Шрифты". Компонент невизуальный.
"Цвет"	TColorDiolog	Компонент предназначен для создания окна диалога "Цвет". Компонент невизуальный.
"Печать"	TPrintDialog	Предназначен для создания окна диалога "Печать". Компонент невизуальный.
"Установка принтера"	TPrinterSetupDialog	Предназначен для создания окна диалога "Установка принтера". Компонент невизуальный.
"Найти"	TFindDialog	Предназначен для создания окна диалога "Найти". Компонент невизуальный.
"Заменить"	TReplaceDialog	Предназначен для создания окна диалога "Заменить". Компонент невизуальный.


Страница Win3.1 палитры компонентов Delphi 5

см.также

Страница Win3.1 содержит компоненты, которые широко используются Delphi 1, но в более поздних версиях Delphi замененные новыми. Компоненты этой таблицы сохраняются в 32-разрядных версиях для обеспечения совместимости при переводе приложений из Delphi 1.0 в более поздние версии. В 32-разрядных приложениях компоненты данной страницы применять не следует.

Компонент	Тип	Описание
блокнот с закладками	TTabSet	Используется для создания блокнота с закладками. Компонент визуальный.
окно дерева	TOutline	Позволяет в отображать иерархические данные в форме дерева. Компонент визуальный.
многостраничная форма	TTabbedNoteBook	Используется для создания многостраничных форм с закладками. Компонент визуальный.
пачка страниц	TNoteBook	Используется для создания пачки страниц, может применяться совместно с TTabSet. Компонент визуальный.
заголовок	THeader	Используется для отображения текста в областях переменного размера. Компонент визуальный.
список файлов	TFileListBox	Отображает список всех файлов каталога. Компонент визуальный.
структура каталогов	TDirectoryListBox	Отображает структуру каталогов диска. Компонент визуальный.
список дисков	TDriveComboBox	Выпадающий список доступных дисков. Компонент визуальный.
список фильтров	TFilterComboBox	Выпадающий список фильтров для поиска файлов. Компонент визуальный.
создание списка данных	TDBLookupList	Предназначен для просмотра значений в таблице данных с помощью окна списка. Компонент визуальный.
создание редактируемого списка данных	TDBLookupCombo	Предназначен для просмотра значений в таблице данных с помощью выпадающего списка. Компонент визуальный.


Страница Samples палитры компонентов Delphi 5

см.также

Страница Samples содержит примеры компонентов. Поскольку это всего лишь примеры, они снабжены в Delphi лишь минимальной документацией.

Компонент	Тип	Описание
индикатор хода процесса	TGauge	Пример компонента, используемого для создания индикатора хода процесса в виде линейки, текста или секторной диаграммы. Компонент визуальный.
таблица цветов	TColorGrid	Пример компонента, используемого для создания таблицы цветов, в которой пользователь выбирает требуемый цвет. Компонент визуальный.
кнопка-счетчик	TSpinButton	Пример компонента, используемого для создания кнопок-счетчиков. Компонент визуальный.
окно редактирования со счетчиком	TSpinEdit	Пример компонента, используемого для создания окна редактирования в комбинации с кнопкой-счетчиком. Компонент визуальный.
дерево каталогов	TDirectoryOutline	Пример компонента, используемого для отображения структуры каталогов выбранного диска. Компонент визуальный.
календарь	TCalendar	Пример компонента, используемого для отображения календаря на указанный месяц в стандартном формате. Компонент визуальный.
индикатор события	TIBEventAlerter	Пример компонента, сигнализирующего о событии в базе данных. Компонент невизуальный.


Страница ActiveX палитры компонентов Delphi 5

см.также

Страница ActiveX содержит примеры компонентов ActiveX. Поскольку это всего лишь примеры, они снабжены в Delphi лишь минимальной документацией и во встроенной справке сведения о них отсутствуют. Но если вы перенесете соответствующий компонент на форму и щелкнете на нем правой кнопкой мыши, то во всплывшем меню можете выбрать команду Property и некоторые другие, которые отобразят диалоговые окна, помогающие задать необходимые свойства компонента.

Компонент	Тип	Описание
диаграммы и графики	Chartfx	Редактор диаграмм и графиков
орфографический контроль	VCSpell	Визуальный блок орфографического контроля
страницы Excel	F1Book	Компонент ввода и обработки числовой информации, аналогичный страницам Excel
диаграммы	VtChart	Окно построения диаграмм.
диаграммы и графики	Graph	Окно построения диаграмм и графиков


Настройка Интегрированной Среды Разработки Delphi

Настройка инструментальной панели

Настройка палитры компонентов

Настройка Редактора Кода


Настройка Редактора Кода

Вызвать настройку Редактора Кода можно щелчком правой кнопки мыши в его окне и выбором команды Configure из всплывшего меню. Можно также выполнить для этого команду Tools | Environment Options в Delphi 5 - 3 или Options | Environment в Delphi 1.

Настройка Редактора Кода в Delphi 5 - 3 определяется тремя страницами открывающегося диалогового окна: Editor, Display и Color.


Настройка Редактора Кода - страница Editor

В выпадающем списке "Editor SpeedSetting" (Быстрая смена стиля редактора) вы можете быстро установить один из четырех стилей редактирования: Default Keymapping (стиль по умолчанию), IDE Classic (классическая ИСР), BRIEF emulation (эмуляция редактора BRIEF) и Epsilon emulation (эмуляция редактора Epsilon). Основные различия между этими четырьмя установками следующие:

Default Keymapping (стиль по умолчанию)	Режим автоматического отступа, режим вставки символа, гибкая табуляция, клавиша Backspace удаляет отступ, групповая отмена последних однотипных действий, перезапись выделенного блока вводимым текстом и выделение синтаксических элементов.
IDE Classic (классическая IDE)	Режим автоматического отступа, режим вставки символа, гибкая табуляция, клавиша Backspace удаляет отступ, клавиши-стрелки перемещают курсор к началу символа табуляции, групповая отмена последних однотипных действий, "инертные" выделенные блоки (блоки текста остаются выделенными, даже при движении курсора, до тех пор, пока не начнется выделение нового блока) и выделение синтаксических элементов.
BRIEF emulation (эмуляция редактора BRIEF)	Режим автоматического отступа, режим вставки символа, гибкая табуляция, клавиша Backspace удаляет отступ, клавиши-стрелки перемещают курсор к началу символа табуляции, курсор позади символа EOF, сохранение завершающих пробелов строки, использование шаблонных выражений редактора BRIEF, "усиленные" команды копирования и вырезки текста (вырезка и копирование доступны, даже если текст не выделен) и выделение синтаксических элементов.
Epsilon emulation (эмуляция редактора Epsilon)	Режим автоматического отступа, режим вставки символа, гибкая табуляция, клавиша Backspace удаляет отступ, клавиши-стрелки перемещают курсор к началу символа табуляции, групповая отмена последних однотипных действий, перезапись выделенного блока вводимым текстом и выделение синтаксических элементов.

Группа Editor Options (Опции редактора) предлагает несколько опций, которые вы можете включить или выключить используя кнопки-переключатели с флагами:

Auto Indent Mode	При нажатии Enter курсор позиционируется с отступом под первым значащим символом предыдущей не пустой строки.
Insert Mode	Установка по умолчанию режима вставки, а не замены символа. Эта установка может изменяться пользователем с помощью клавиши Insert.
Use Tab Character	Вставка при переходе к новой строке символа табуляции. Если этот флаг снят, то вставляются пробелы. Если установлен флаг Smart Tab, то данный флаг отключен.
Smart Tab	Табуляция до первого отличного от пробела символа в предыдущей строке. Если установлен флаг Use Tab Character, то данный флаг отключен.
Optimal Fill	Оптимальное заполнение минимальным числом символов табуляции и пробелов отступа строки.
Backspace Unindents	При нажатии клавиши Backspace в начале строки с отступом курсор переходит на отступ предыдкщего уровня.
Cursor Through Tabs	Клавиши со стрелками перемещают курсор на следующую позицию табуляции.
Group Undo	При нажатии клавиш Alt-Backspace или выполнении команды Edit | Undo восстанавливается состояние, которое было до последней последовательности команд одного типа.
Cursor Beyond EOF	Курсор может позиционироваться после символа конца файла.
Undo After Save	Позволяет восстановить изменения после команды сохранения.
Keep Trailing Blanks	Сохраняет пробелы, набранные вами в конце строки.
Brief Regular Expressions	Использование регулярных выражений редактора Brief.
Persistent Blocks	Сохранение выделения блока даже при сдвиге курсора до тех пор, пока не будет выделен новый блок.
Overwrite Blocks	Замещение выделенного блока очередным нажатым символом. Если одновременно установлен флаг Persistent Blocks, то вводимый текст добавляется в конец выделенного блока.
Double Click Line	Выделение всей строки при двойном щелчке на каком-нибудь его символе. Если этот флаг не установлен, то при двойном щелчке выделяется слово.
Find Text At Cursor	Текст, на котором стоит курсор, помещается при выполнении команды поиска Search | Find в окно задания текста.
Force Cut And Copy Enabled	Команды Edit | Cut и Edit | Copy выполняются, даже если нет выделенного текста.
Use Syntax Highlighting	Выделение цветом синтаксических единиц. Цвета задаются на странице Colors.

Приведенные выше установки позволяют индивидуально задать отдельные элементы настройки. Обратите внимание, что при выборе одного из четырех стилей редактирования меняется состояние различных кнопок-переключателей в соответствии с принятыми установками для данного стиля.

Установки в нижней части диалогового окна позволяют задать следующие значения:

Block Indent	Число пробелов в отступах блоков. По умолчанию - 2, максимальное значение - 16.
Undo Limit	Объем текста, который может быть восстановлен. По умолчанию 32,767 (32K).
Tab Stops	Число символов, соответствующих позициям табуляции. Могут перечисляться в возрастающем порядке, с разделителями - запятыми.
Syntax Extensions	Расширения файлов, в которых используется выделение цветом синтаксических элементов. По умолчанию - .pas, .dpr, .dpk, .inc и .dfm.


Настройка Редактора Кода - страница Display

Опции этой страницы разделены на группы: Display and file options (опции отображения и файлов), Keystroke mapping (управляющие клавиши в стиле редактора ...), margins (поля) и font (шрифт).

Группа Display and file options дает возможность выбрать или отказаться от следующих настроек: Brief Cursor Shapes (форма курсора в стиле редактора BRIEF), Create Backup File (сохранять предыдущую - резервную копию файла) при сохранении редактируемых файлов, Preserve Line Ends (сохранять символы конца строки) и Zoom To Full Screen (изменить размер окна редактирования до полноэкранного).

Опция Keystroke mapping (управляющие клавиши) имеет те же самые четыре предопределенных значения со страницы Editor (Default, Classic, Brief и Epsilon), но они определяют только комбинации управляющих клавиш, а не поведение редактора. Например, комбинация клавиш Ctrl+K+R в стиле по умолчанию или классическом будет считывать блок из файла, в то время как в режиме BRIEF для этой цели используется комбинация Alt+R.

Остальные опции дают вам следующие возможности:

Visible Right Margin	Делается видимой линия правого поля в окне Редактора Кода.
Right Margin	Устанавливает позицию правого поля в окне Редактора Кода. По умолчанию длина строки - 80 символов. Эту длину можно увеличивать до 1024.
Visible gutter	Делается видимой полоска слева от текста в окне Редактора Кода, в которой вы щелкаете при установке точки прерывания.
Gutter width	Устанавливает ширину полоски слева от текста в окне Редактора Кода. По умолчанию - 32.
Editor Font	Устанавливает шрифт, используемый в Редакторе Кода. Обычно это шрифт постоянной ширины типа Courier.
Size	Устанавливает размер шрифта, используемого в Редакторе Кода.
Sample text	Образец текста выбранного шрифта и размера.


Настройка Редактора Кода - страница Colors

На странице Colors (Цвета) вы можете определить вид выделения различных синтаксических элементов текста вашей программы. Как и на двух предыдущих страницах диалогового окна, здесь имеется возможность быстрого выбора настройки из списка "Color Speed Setting", где вам предоставляется выбор из четырех предопределенных цветовых схем. Вы можете также самостоятельно выбрать установки цветов отдельных элементов, указывая их в списке "Element". Результат всех ваших изменений в установках можно видеть в имитации окна редактора в нижней части диалогового окна.


Настройка инструментальной панели

Вы можете добавить или удалить какие-то быстрые кнопки на инструментальной панели, щелкнув на ней правой кнопкой мыши и выбрав команду Properties в Delphi 1 и 3 или команду Customize в Delphi 4 из всплывшего меню. В Delphi 4 это эквивалентно команде View | Toolbars | Customize. В появившемся диалоговом окне (в Delphi 4 - на странице Commands этого окна) вы можете выбрать меню (Categories) и его команду (Commands), для которой вы хотите добавить кнопку. Далее можно мышью перетащить выбранную кнопку на панель. Чтобы удалить кнопку с инструментальной панели, надо перетащить ее оттуда мышью.

Кнопка Reset окон редактирования панели в Delphi 1 и 3 позволяет восстановить вид панели по умолчанию. В Delphi 4 можно сделать то же самое на странице Toolbars в отдельности для различных групп кнопок. На этой же странице вы можете установить флаги видимости этих групп кнопок. Управлять видимостью вы можете также из подменю команды View | Toolbars в Delphi 4 или View | Speedbar в более ранних версиях Delphi.


Настройка палитры компонентов

Вызвать настройку палитры компонентов можно щелчком правой кнопки мыши на палитре и выбором команды Configure из всплывшего меню. Можно также выполнить для этого команду Tools | Environment Options в Delphi 3 и 4 или Options | Environment в Delphi 1. При таком вызове настройки надо перейти в открывшемся диалоговом окне на страницу Palette.

Опции окна позволяют работать со страницами палитры. Для этого надо перейти в окно "Pages:" и нажать кнопку Add, чтобы добавить новую страницу, кнопку Rename, чтобы переименовать страницу, кнопку Delete, чтобы переименовать страницу, кнопки Move Up или MoveDown, чтобы изменить последовательность страниц в палитре.

Перейдя в окно "Components:" вы можете изменять состав страниц, перетаскивая мышью компонент с одной страницы на другую или делая кнопкой "Hide" какие-то компоненты невидимыми.


Общие настройки среды

Многостраничное окно настройки вызывается командой Tools | Environment Options в Delphi 5 - 3 или Options | Environment в Delphi 1.

Страница Preferences содержит следующие опции.

Опции, определяющие, что сохраняется при выходе из Delphi:

Desktop Only	Сохраняется только состояние экрана: информация о каталогах, файлах, открытых в Редакторе Кода, об открытых окнах.
Desktop And Symbols	Сохраняется информация об экране и о символах последней успешной компиляции.

Опции автосохранения "Editor files" (Редактируемые файлы) и "Desktop" (Состояние экрана) определяют, что именно автоматически сохраняется при выходе из среды или при запуске вашей программы на выполнение.

Учтите, что если вы включите опцию "Editor files", то при каждом запуске приложения все изменения файлов будут автоматически сохраняться. Это иногда может быть опасным, так как могут сохранятся помимо вашего желания какие-то неудачные исправления в программе, которые после тестирования вы хотели бы отменить.

Если вы включите опцию "Desktop", то при очередном запуске Delphi загрузится ваше последнее приложение и откроются все окна, которые были открыты в момент выхода из Delphi. Это очень удобно, если вы намерены продолжать работу над тем же приложением.

Опции проектирования формы определяют сетку формы и ярлычки компонентов:

Display grid	Делает видимыми узлы сетки на форме.
Snap to grid	Автоматически привязывает компоненты к узлам сетки. Компоненты невозможно при этом разместить между узлами.
Grid size x	Шаг сетки по горизонтали. Может задаваться от 2 до 128.
Grid size y	Шаг сетки по вертикали. Может задаваться от 2 до 128.
Show component captions	Делает видимыми надписи компонентов.
Show desiner hints	Делает видимыми ярлычки с именами, типом и размерами компонентов - очень удобный инструмент, введенный в Delphi 4.

Опции компиляции и выполнения:

Show Compiler Progress	Показывать ход выполнения компиляции приложения.
Warn on package rebuild	Показывать замечания при перестроении пакетов во время компиляции.
Minimize On Run	Свертывать Delphi при выполнении вашего приложения. Когда приложение закрывается, Delphi восстанавливается.
Hide Designers On Run	Делать невидимыми окна проектирования (Инспектора Объектов и формы) при выполнении приложения.

Каталог депозитария:

Directory	Определяет местонахождение файла депозитария delphi32.dro. Если каталог не указан, Delphi ищет этот файл в своем каталоге BIN.


Sender - параметр

Определение

Показывает, в каком объекте произошло событие

Описание

Параметр Sender используется во всех обработчиках событий и показывает, в каком компоненте произошло событие. Часто он в обработчиках не используется. Но нередко один и тот же обработчик применяется для реакции на события различных компонентов, причем основная часть обработки не зависит от источника события, но в каких-то операторах требуется распознавать этот источник. Тогда можно обращаться к параметру Sender.

Параметр Sender имеет тип TObject. А в классе TObject не определено никаких свойств. Поэтому непосредственно можно использовать только имя класса, как в приведенных ниже операторах:

ShowMessage('OnClick в компоненте класса '+Sender.ClassName);

if Sender.ClassNameIs('TButton')
  then ...

Более детальную информацию об источнике события можно получить, применяя операцию as и ссылаясь на Sender как на объект производного класса, например, класса TControl, в котором определены основные свойства компонентов. Примеры таких ссылок:

ShowMessage('OnClick в '+(Sender as TControl).Name);

if (Sender as TControl).Name = 'Button1'
  then ...


Sender: TObject


Sort - метод TList
Sort - сортировка списка TList

Прототип    Примеры

Быстрая сортировка, основанная на функции сравнения Compare (только начиная с Delphi 3)

Описание

Процедура Sort осуществляет сортировку массива, основанную на заданной функции сравнения Compare. Функция Compare должна показывать, какой из сравниваемых параметров Item1 или Item2 должен считаться меньшим. Если Item1 меньше, чем Item2, то функция должна возвращать значение < 0, если параметры считаются равными, то функция должна возвращать 0, а если параметр Item1 больше, чем Item2, функция должна возвращать число > 0.


TListSortCompare = function (Item1, Item2: Pointer): Integer;

procedure Sort(Compare: TListSortCompare);


Пусть List - список указателей на целые числа. Тогда приведенный ниже код обеспечивает сортировку списка по нарастанию этих чисел. Если изменить в функции Comp знак < на знак >, то список будет упорядочен по убыванию чисел.

type tp=^integer;
var  List:TList;
...................
function Comp(i1,i2:pointer): integer;
begin
  if(tp(i1)^ < tp(i2)^) then Result := -1
  else
  if(tp(i1)^ = tp(i2)^) then Result := 0
  else Result := 1;
end;
....................

List.Sort(@Comp);


TList - класс
TList - список указателей на объекты

Иерархия   Свойства   Методы   Примеры

Содержит указатели на любые объекты

Модуль classes

Описание

Объект типа TList предназначен для хранения и управления списком указателей на объекты. Свойства и методы TList позволяют добавлять и удалять элементы списка, изменять их расположение в списке, сортировать элементы и проводить другие манипуляции с данными.


Capacity	Число указателей, которые могут храниться в объекте класса TList
Count	Число указателей, хранящихся в объекте класса TList
Items	Элементы массива указателей в объекте класса TList
List	Указатель на массив указателей в объекте класса TList

Остальные свойства наследуются от базового класса TObject.


Add	Добавление нового указателя в список
Clear	Очистка списка
Delete	Удаление из списка элемента по его индексу
Destroy	Удаление экземпляра списка (вместо этого лучше использовать Free)
Error	Генерация исключения
Exchange	Взаимная перестановка двух элементов списка
Expand	Расширение емкости списка и копирование списка
First	Возвращение первого указателя списка
IndexOf	Определение первое вхождение в список заданного указателя
Insert	Вставка элемента в список в заданную позицию
Last	Возвращение последнего указателя списка
Move	Изменение текущей позиции элемента в списке на заданную
Pack	Удаление из списка указателей nil
Remove	Удаление из списка элемента по его значению
Sort	Сортировка списка

Остальные методы наследуются от базового класса TObject.


Ниже приведен пример использования объекта типа TList для создания в памяти временной базы данных из последовательности записей, содержащих фамилию и год рождения сотрудника. Особенности использования отдельных свойств и методов смотрите в соответствующих справочных разделах.

type
 Rec = record
  Name: String;
  Year: Word;
 end;
 TRec = ^Rec;
var
 MyList: TList;
 PRec: TRec;
 ...
 MyList := TList.Create; {Создается список}
 New(PRec);              {Выделяется место под запись}
 PRec^.Name := 'Петров'; {Заполняются поля записи}
 PRec^.Year := 1960;
 MyList.Add(PRec);       {Указатель на запись
                          заносится в список}
 New(PRec);              {Те же операции с новой
                          записью}
 PRec^.Name := 'Иванов';
 PRec^.Year := 1950;
 MyList.Add(PRec);
 ...
 {Изменение года рождения}
 TRec(MyList.Items[1])^.Year := 1970;
 ...
 {Поиск в записях самого молодого сотрудника}
 PRec := MyList.Items[0];
 For i:=1 to MyList.Count - 1 do
  If (TRec(MyList.Items[i])^.Year > PRec^.Year)
   then PRec := MyList.Items[i];
 ShowMessage('Самый молодой - ' + PRec^.Name);
  ...
 MyList.Free;            {Освобождение памяти}


try...except - обработка прерываний
try...except - блок обработки прерываний

Синтаксис   Пример   см.также

Операторы, расположенные в разделе except, выполняются только в том случае, если в операторах раздела try (или в процедурах и функциях, которые эти операторы вызвали) возникла ошибка и было сгенерировано исключение.

Раздел except может использоваться двумя способами. При первом способе в нем могут располагаться любые выполняемые операторы, кроме обработчиков исключений on...do. Это могут быть операторы сообщений об ошибке, операторы освобождения ресурсов и т.д. Второй и главный способ использования раздела except - обработка исключений. В этом случае в него могут включаться только обработчики исключений: операторы on...do и необязательный обработчик любых исключений, предваряемый ключевым словом else. При наличии такого обработчика блок имеет вид:

try
  {Исполняемый код}
except
  on ............;
  on ............;
else <обработчик всех не перехваченных ранее событий>;
end;

Если при выполнении операторов раздела try генерируется исключение, выполнение этого раздела прерывается и управление передается операторам раздела except. Если среди обработчиков встретился соответствующий сгенерированному исключению, выполняется оператор этого обработчика, исключение разрушается и управление передается оператору, следующему за блоком on...do, т.е. оператору, следующему за последним оператором блока end. Если же обработчик не нашелся, то управление передается на следующий уровень, т.е. разделу except следующего обрамляющего блока try...except (если таковой есть). То же самое происходит, если в процессе обработки генерируется новое исключение (при обработке ошибки произошла новая ошибка). Если в результате прохода по всем уровням подходящий обработчик так и не будет найден, произойдет обработка системным обработчиком исключений.


try
  {Исполняемый код}
except
  {Код, исполняемый в случае ошибки}
end;


try
  {Исполняемый код}
except
  on EIntError do

    MessageDlg('Ошибка целочисленной операции',
                mtWarning, [mbOk], 0);

else ShowMessage('Возникло исключение ' +
                  Exception(ExceptObject).message);

end;

В этом примере, если генерируется исключение в исполняемом коде раздела try, то срабатывает или обработчик, перехватывающий все исключения целочисленных операций, объединенные классом EIntError, или срабатывает обработчик всех исключений, предваряемый ключевым словом else.


try...finally - защищенный блок

Синтаксис    Пример

Блок try...finally позволяет защитить код, записанный в finally разделе, от исключений, которые в силу различных ошибок могут генерироваться операторами в разделе try. Операторы раздела finally будут выполняться независимо от того, было или не было сгенерировано исключение при выполнении операторов раздела try. Если где-то в разделе try произошла ошибка и сгенерировано исключение, то выполнение блока try прерывается и управление немедленно передается разделу finally. Даже если при выполнении операторов раздела finally случилась ошибка, операторы этого раздела все-таки выполняются до конца.

Обычно в раздел finally помещают операторы "зачистки", необходимые для того, чтобы "прибраться" в приложении: освободить динамически выделенную память, закрыть ненужные файлы, удалить временные файлы и т.д. Если не помещать такие операторы в защищенный раздел finally, то из-за прерывания выполнения вследствие возможных ошибок они могут оказаться не выполненными, что приведет к "утечке ресурсов".

В блок try...finally не включаются обработки исключений. При выполнении операторов раздела finally неизвестно, было или не было сгенерировано исключение (такие средства проверки, как функция ExceptAddr, этого не показывают). Для обработки исключений используются блоки try...except, которые никак не связаны с блоками try...finally. Впрочем, эти виды блоков могут использоваться совместно. Например:

try       {начало блока try...except}

................

  try     {начало блока try...finally}

    ................

  finally

    ................

  end;    {конец блока try...finally}

except

................

end;      {конец блока try...except}


try

<операторы, способные привести к исключению>

finally

<операторы, выполняемые в любом случае>

end;


AssignFile(F, 'a.tmp');
Rewrite(F);
New(P);
try
  .................................
finally
  Erase(F);
  Dispose(p);
  .................................
end;

В примере открывается временный файл с именем a.tmp, чтобы хранить в нем какие-то промежуточные данные вычислений. В конце работы предполагается уничтожить его процедурой Erase. Далее динамически выделяется некоторая память процедурой New. Когда она станет не нужна, предполагается освободить ее процедурой Dispose. Но если бы процедуры Erase и Dispose не находились в защищенном блоке и в операторах, расположенных между New и Erase, возникло исключение, то вычисления прервались бы, процедуры Erase и Dispose не выполнились и ресурсы не освободились. Раздел finally гарантирует, что такой неприятности не случится.


Z-последовательность

Все дочерние компоненты в оконном элементе располагаются в Z-последовательности. Она определяет последовательность индексов компонентов в свойстве Controls родительского элемента. Для перекрывающихся компонентов (располагающихся друг на друге) Z-последовательность определяет также, какой из них будет виден. Виден тот, который расположен в этой последовательности выше.

Обычно последовательность компонентов соответствует той, в которой они помещались на форму. Однако не оконные компоненты типа меток всегда лежат в Z-последовательности ниже любых оконных компонентов типа панелей и кнопок.

Изменить Z-последовательность в процессе проектирования можно, выполнением команд Bring To Front или Send To Back. Первая из них пересылает выделенный компонент наверх, присваивая ему максимальный индекс, а вторая пересылает вниз, присваивая ему минимальный индекс (0 для не оконных компонентов и минимально возможный для оконных). Выполнить эти команды, выделив предварительно нужный компонент, можно или из раздела меню Edit, или щелкнув правой кнопкой мыши и выбрав их из всплывающего меню.

Программно место компонента в Z-последовательности можно изменить методами BringToFront и SendToBack.

На Z-последовательность влияют также методы InsertControl и RemoveControl, добавляющие и удаляющие дочерние компоненты, и изменение свойства компонентов Parent, меняющее родителя компонента.

При необходимости изменение Z-последовательности автоматически вызывает перерисовку компонентов, если видимость перекрывающихся компонентов изменяется. Если переносимый вниз компонент имел фокус, то он его потеряет при переносе.


ELSE - обработчик любых исключений

Примеры

Ключевое слово else встречается либо в управляющих структурах if...then...else и case, либо в обработчике всех не перехваченных ранее исключений в блоке try...except.

Первые два из этих применений рассмотрены в справочных разделах if...then...else и case, а последнее изложено ниже.

Обработчик, начинающийся с ключевого слова else обрабатывает исключения всех классов. Если он используется, то помещается последним в разделе except блока try...except, так как после него любое исключение разрушается и, следовательно, никакой другой обработчик исключений не сработает.

Обработчик else позволяет не вводить обработчики on...do всех возможных исключений. Обработчики on...do вводятся только для тех исключений, которые требуется обработать особым образом. Остальные могут обрабатываться одним общим обработчиком. При этом с помощью функций ExceptObject, ExceptAddr, ShowException, ClassName и других может быть получен доступ к объекту исключения и выдана информация о типе исключения.

Следует предупредить о некоторой опасности применения обработчика else. Поскольку он обрабатывает все исключения, то, если он при этом не выдает никаких сообщений, он может замаскировать ошибки в программе. Это может существенно затруднить отладку вашего приложения.

Следует также отметить, что else - не единственный способ реализации обработчика любых исключений. Те же функции можно реализовать с помощью обработчика on...do, примененного к базовому классу исключений Exception.


Сообщение о типе и адресе исключения:

else ShowException(ExceptObject,ExceptAddr);

Отображение сообщения сгенерированного исключения:

ShowMessage('Исключение '+Exception(ExceptObject).message);


on...do - оператор
ON...DO обработка исключений

Примеры   см.также

Оператор on...do служит для обработки исключений в разделе except блока try...except. Он имеет две формы:

on < класс исключения> do <оператор>;

и

on <имя>: <класс исключения>
        do <операторы, в которых можно использовать конструкцию
           <имя>.<имя свойства>>

Оператор обрабатывает только тот класс исключений, который в нем указан, или его потомков. Таким образом, можно обеспечить индивидуальную реакцию на каждый вид исключений. Но, поскольку семейство исключений построено по иерархическому принципу, можно обратившись к базовому классу некоторой группы родственных исключений, обработать сразу всю группу. Крайним случаем этого служит обращение к базовому типу всех исключений - Exception. Такой обработчик обрабатывает все исключения.

После обработки исключения оно разрушается.

Первая форма оператора не позволяет получить доступ к свойствам исключения. Вторая форма создает временное имя исключения и позволяет через него с помощью конструкции <имя>.<имя свойства> иметь доступ к свойствам.


Обработка родственной группы исключений (целочисленных операций):

on EIntError do MessageDlg('Ошибка целочисленной операции',
                           mtWarning, [mbOk], 0);

Обработка исключения с использованием его свойства (создается временное имя IO и через него производится обращение к свойству errorcode, которое конкретизирует тип ошибки):

on IO: EInOutError do
  begin
    Case IO. errorcode of
      2:   s := 'Файл ''' + s + ''' не найден';
      3:   s := 'Ошибочное имя файла ''' + s + '''';
      4:   s := 'Слишком много открытых файлов';
      5:   s := 'Файл ''' + s + ''' не доступен';
      100: s := 'Достигнут конец файла ''' + s + '''';
      101: s := 'Диск переполнен при работе с файлом '''
                + s + '''';
      106: s := 'Ошибка ввода при работе с файлом '''
                + s + '''';
    end;
    MessageDlg(s, mtWarning, [mbOk], 0);
  end;

Обработка любого исключения:

on e:Exception do ShowMessage('Возникло исключение '
                              + E.Message);


Self - переменная

Используется для ссылки на класс объекта, метод которого вызывается

Описание

Пользователь чаще всего сталкивается со ссылкой на переменную Self в сообщениях окна наблюдения при отладке программы. Поэтому сначала ниже приводится формальное определение Self, а затем поясняется, что делать, при возникновении ссылки на Self в окне наблюдения.

В реализации метода переменная Self может использоваться как ссылка на объект, в котором вызывается данный метод.

В определениях методов класса (предваряются ключевым словом class) идентификатор Self представляет класс, в котором вызван метод. Этот класс может быть наследником того класса, в котором он определен. Если метод вызван в классе C, то Self имеет тип класса C. Таким образом, нельзя использовать Self для доступа к полям, свойствам и обычным объектным методам, но можно использовать Self для вызова конструкторов и других методов класса.

Методы класса могут вызываться ссылкой на класс или на объект. Если используется вызов ссылкой на объект, то значение Self становится равным классу объекта.

Подробнее о Self см. справку по Delphi.

Теперь о ссылке на Self при отладке программы. Иногда при попытке наблюдать в процессе отладки какое-то свойство компонента в окне наблюдения возникает сообщение:

Variable 'Self' inaccessible here due to optimization

(Переменная 'Self' недоступна в этом месте из-за оптимизации)

Смысл этого сообщения заключается в том, что из-за действий оптимизатора компилятора не удается определить в окне наблюдения, о каком компоненте идет речь. Выход из положения в подобных случаях простой: надо уточнить, к какой форме относится данный компонент. Например, если подобное сообщение появилось при попытке посмотреть значение переменной Label1.Caption, уточните имя этой переменной, указав форму, содержащую компонент Label1: например, Form1.Label1.Caption. Все встанет на свои места и в окне наблюдения отобразится значение надписи данной метки.


IndexOf - метод TList, TStringList, TStrings
IndexOf - первое вхождение в список

Прототипы    Примеры

Определение первого вхождения в список заданного элемента

Применяется к классам TList, TStringList, TStrings

Описание

Вызов IndexOf возвращает индекс первого вхождения в массив списка заданного элемента (указателя Item для TList или строки S для TStringList и TStrings). Индексация начинается с 0 (0 - первый элемент массива). Если заданного элемента в списке нет, возвращается -1.

Функция Add добавляет новый элемент в список. Если список не сортированный, то элемент добавляется в конец списка. Если же список сортированный, то новый элемент добавляется в позицию, которая определяется сортировкой. Функция возвращает индекс добавленного элемента (индекс первого элемента - 0). Увеличивает значение свойства Count на 1. Если значение Count равно значению Capacity (емкости массива), то увеличивается значение Capacity (с запасом) и перераспределяется память под новые элементы.

Для отсортированного списка TStringList при выполнении Add генерируется исключение EListError, если строка S уже имеется в списке и свойство Duplicates установлено в dupError.


Для TList:

function IndexOf(Item: Pointer): Integer;

для TStringList:

function IndexOf(const S: string): Integer; override;

для TStrings:

function IndexOf(const S: string): Integer; virtual;


В приведенном ниже примере определяется, есть ли в списке сотрудник, фамилия которого задана пользователем в окне Edit1.

var LPerson: TStringList;
    ...
 LPerson:= TStringList.Create;
 ...
 if (LPerson.IndexOf(Edit1.Text)<0)
  then ShowMessage('Сотрудника ' + Edit1.Text +
                   ' в списке нет');


Insert - метод TList, TStringList, TStrings
Insert - вставка элемента в список

Прототипы

Процедура вставляет элемент в список в заданную позицию

Применяется к классам TList, TStringList, TStrings

Описание

Процедура Insert вставляет элемент (указатель Item или строку S) в список в позицию, индекс которой задан параметром Index. Если задан Index 0, элемент вставляется в первую позицию. При вставке элемента, все имеющиеся в списке элементы с индексами, равными и большими Index, сдвигаются, т.е. их индексы увеличиваются на 1.

Если список сортирован, то вызов Insert приводит к генерации исключения EListError. Для сортированных списков следует использовать метод Add.

Если в списки TStringList и TStrings надо вставить строку, связанную с объектом, то вместо метода Insert следует использовать метод InsertObject.


Для TList:

procedure Insert(Index: Integer; Item: Pointer)

для TStringList:

procedure Insert(Index: Integer; const S: string);
  override;для TStrings:

для TStrings:

procedure Insert(Index: Integer; const S: string);
  virtual; abstract;


Last - метод TList
Last- последний элемент списка типа TList

Определение

Функция возвращает последний указатель списка Items [Count - 1]

Описание

Функция Last возвращает последний элемент списка - указатель Items [Count - 1].


function Last: Pointer;


Move - метод TList, TStrings
Move - перемещение элемента в списке

Прототипы    Примеры

Меняет текущую позицию элемента в списке на заданную

Модуль System

Классы TList, TStringList, TStrings

Описание

Процедура Move меняет текущую позицию элемента в списке, индекс которой задан параметром CurIndex, на позицию с индексом, заданным параметром NewIndex (индексы начинаются с 0). Если со строкой в TStrings связан объект, он остается связанным с той же строкой в новой позиции.


procedure Move(CurIndex, NewIndex: Integer);


Приведенный ниже оператор перемещает первую строку списка MyStrings в конец списка.

MyStrings.Move(0, MyStrings.Count - 1);


nil - нулевой указатель
nil нулевой указатель

Назначение

Определяет указатель, который ни на что не указывает.

Описание

Ключевое слово nil определяет константу, которая присваивается указателю, который ни на что не указывает. Используется в очень многих процедурах и функциях.


Pack - метод TList
Pack - удаление указателей nil из TList

Прототип    Примеры

Удаляет из массива указателей все указатели nil

Описание

Процедура Pack перемещает все указатели, значения которых не nil, в начало массива и сокращает свойство Count до числа этих ненулевых указателей. Память, занимавшаяся указателями со значениями nil, не освобождается, так как свойство Capacity не изменяется. Чтобы освободить эту память, надо приравнять значение Capacity новому значению Count.


procedure Pack;


Приведенный ниже код удаляет из списка List указатели nil и освобождает занимаемую ими память:

List.Pack;
List.Capacity := List.Count;


raise - оператор
raise генерация исключений

Пример

Ключевое слово raise используется для генерации исключения, как предопределенного в Delphi, так и своего собственного. Синтаксис оператора генерации исключения:

raise <исключение>

где <исключение> - переменная типа исключения, или

raise <класс исключения>.<конструктор>

Оператор raise прерывает дальнейший нормальный ход вычислений, генерирует экземпляр объекта исключения заданного класса, присваивает адрес этого объекта переменной ErrorAddr и передает управление ближайшему обработчику соответствующего типа. Обработчик разрушает экземпляр исключения, так что о деструкторе этого объекта заботиться не приходится.

Можно в операторе raise задать конкретный адрес генерируемого объекта исключения. Для этого после указания класса исключения и конструктора записывается ключевое слово at, после которого указывается адрес - какая то переменная-указатель или функция, возвращающая указатель (можно и ErrorAddr).

Иногда при обработке исключения возникает потребность повторной генерации исключения того класса. Это может быть связано с тем, что, проведя первичную обработку этого исключения, желательно завершить обработку с помощью обработчика верхнего уровня. Повторная генерация осуществляется оператором raise без каких либо параметров:

raise;

Если вы хотите генерировать собственное исключение, надо предварительно определить его класс. Описание, как это можно сделать, и более подробную информация о генерации исключений


1. В первом примере проверяется, задал ли пользователь информацию в окне Edit1, и если нет, то генерируется исключение типа EZeroDivide - целочисленного деления на нуль. В данном примере это предопределенное исключение используется не по прямому назначению, и ему задается нестандартный текст сообщения.

if (Edit1.Text='') then
  raise EZeroDivide.Create('Не задана требуемая информация');

2. Во втором примере создается новый класс исключения EMy, объявляется переменная Exc типа EMy и исключение генерируется с использованием имени этой переменной.

type

  EMy = class (Exception)

  public

    Enum: integer;

  end;

var Exc:EMy;

...................

raise Exc;

3. Двухэтапная обработка исключений с помощью повторной генерации исключения. Исключения, сгенерированные во внутреннем блоке, обрабатываются в два этапа: сначала обработчиком внутреннего блока, а затем обработчиком внешнего блока. При этом операторы внешнего блока, следующие за внутренним, при генерации исключения во внутреннем блоке выполняться не будут. Исключения, сгенерированные во внешнем блоке, будут обрабатываться только обработчиками этого внешнего блока.

try
  <операторы внешнего блока>
  try
    <операторы, способные привести к генерации исключения>
  except
    on <тип исключения> do
      begin
        <обработка исключений,
         сгенерированных во внутреннем блоке>
        raise;	{повторная генерация исключения}
      end;
  end;
  <операторы внешнего блока;
   при генерации исключения они не выполняются>
except
  on ESomething do
    <обработка исключений и внутреннего, и внешнего блоков>
end;


Remove - метод TList
Remove - удаление элемента с заданным значением из TList.

Прототип

Удаляет элемент с заданным значением из списка TList.

Описание

Функция Remove удаляет указатель, равный заданному параметру Item, из списка TList. Функцию можно использовать вместо метода Delete, когда не известен индекс, соответствующий удаляемому указателю. Функция возвращает индекс, который имел данный указатель до его удаления. Индексы всех последующих указателей в списке уменьшаются на 1. Свойство Count также уменьшается на 1.

Если массив содержит несколько одинаковых указателей, то удаляется только первое вхождение этого указателя.


function Remove(Item: Pointer): Integer;


Expand - метод TList
Expand - увеличение емкости списка типа TList

Определение    Примеры

Увеличивает емкость списка типа TList

Описание

Функция Expand увеличивает емкость списка типа TList, выделяя память для быстрого размещения новых элементов. Тем самым экономится время при добавлении в дальнейшем новых элементов списка.

Поскольку функция возвращает расширенный список, то ее можно также использовать для создания дубликата имеющегося списка.

Если список не заполнен, т.е. количество элементов Count меньше емкости списка Capacity, то список не расширяется. Если же Count = Capacity, то функция Expand увеличивает емкость Capacity согласно следующему алгоритму. Если значение Capacity меньше 4, то Capacity увеличивается на 4. Если значение Capacity больше 4, но меньше 9, то Capacity увеличивается на 8. Если значение Capacity больше 8, то Capacity увеличивается на 16.


function Expand: TList;


1.

List.Expand;

Если список List заполнен не до конца, он остается неизменным. Если же он заполнен, то его емкость расширяется.

2.

List1 := List.Expand;

Создается объект List1, являющийся копией списка List. Если исходный список был заполнен, то оба списка List и List1оказываются расширенными.


First - метод TList
First - первый элемент списка типа TList

Определение

Функция возвращает первый указатель списка Items [0]

Описание

Функция First возвращает первый элемент списка - указатель Items [0].


function First: Pointer;


Free - метод
Free - вызов деструктора

Определение    Примеры

Вызывает деструктор объекта и освобождает память

Описание

Процедура Free применяется для освобождения памяти, динамически выделенной под объект, который уже не нужен для дальнейшей работы программы. Процедуру Free полезно использовать для освобождения памяти в разделах finally блоков try...finally.  Это гарантирует освобождение памяти даже в случае генерации исключения.

Процедура Free проверяет, не была ли ранее уже освобождена выделенная под объект память и вообще был ли данный объект создан (не равен ли указатель на объект nil). После этого вызывается метод Destroy - деструктор данного объекта. Для осуществления такой проверки лучше всегда вызывать Free, а не сам деструктор Destroy. К тому же вызов метода Free порождает более компактный код.


procedure Free;


MyObject.Free;


Exchange - метод TList, TStringList, TStrings
Exchange - взаимное перемещение элементов списка

Прототипы    Примеры

Меняет позиции двух элементов списка

Применяется к классам TList, TStringList, TStrings

Описание

При вызове Exchange два элемента списка с позициями Index1 и Index2 обмениваются местами. Индексы позиций начинаются с 0 (0 - первый элемент).

Если в списках строк со строками связаны объекты, они остаются связанными с теми же строками в их новых позициях.

Не применяйте метод Exchange к сортированным спискам, за исключением случая взаимного перемещения двух одинаковых строк, связанных с разными объектами. Дело в том, что метод Exchange не проверяет условий сортировки и может нарушить упорядоченность списка.


Для TList:

procedure Exchange(Index1, Index2: Integer);

для TStringList:

procedure Exchange(Index1, Index2: Integer); override;

для TStrings:

procedure Exchange(Index1, Index2: Integer); virtual;


Пусть список List типа TList содержит указатели на целые числа. Тогда приведенная ниже программа перемещает на первое место указатель на минимальное число (это один шаг пузырьковой сортировки).

for i := 1 to List.Count - 1 do
 if (integer(List.Items[0]^) > integer(List.Items[i]^))

   then List.Exchange(0, i);


Destroy - метод
Destroy - вызов деструктора

Определение

Вызывает деструктор объекта

Описание

Метод Destroy вызывает деструктор объекта, что приводит к его разрушению и освобождению занимаемой им памяти. Однако, не следует вызывать в приложении метод Destroy непосредственно. Лучше вызывать метод Free. Этот метод проверит, не была ли уже освобождена ранее выделенная под объект память (не равен ли указатель на объект nil, и только после этого сам вызовет метод Destroy. К тому же вызов метода Free порождает более компактный код.

Для форм используйте метод Release.


destructor Destroy; override;


TComponent

TControl


constructor Create(AOwner: TComponent);

где AOwner - владелец создаваемого компонента.


Create - конструктор компонентов

Определение   Классы

Создает экземпляр компонента

Описание

Конструктор Create, объявленный в классе TObject, переопределен в классе TComponent и помимо выделения памяти задает владельца компонента - свойство Owner и устанавливает свойство ComponentStyle равным csInheritable. Далее метод переопределен в классе TControl и задает начальные значения свойств:

Color	clWindow
ControlStyle	[csCaptureMouse,csClickEvents,  csSetCaption,csDoubleClick]
DragCursor	crDrag
Enabled	true
Visible	true
IsControl	false

Как правило, нет необходимости вызывать Create специально, т.к. он вызывается автоматически для всех компонентов, созданных в процессе проектирования.


Структура меню Delphi

Структура меню Delphi зависит от версии и от варианта. Ниже приведены меню для вариантов клиент/сервер Delphi 1, 3 и 4. Разделы всех версий объединены в некоторые обобщенные меню, но для каждого раздела указывается, в каких версиях он имеется.

File	Используется для открытия, сохранения, закрытия и печати новых или существующих проектов и файлов, а также для добавления новых форм и модулей в открытый проект
Edit	Используется для работы с текстом и компонентами в процессе проектирования
Search	Используется для локализации фрагментов текста, ошибок, объектов, модулей, переменных и символов в редакторе кодов
View	Используется для вывода на экран различных окон и элементов среды проектирования Delphi
Project	Используется для компиляции и построения приложения. Отсутствует в Delphi 1
Compile	Имеется только в Delphi 1. В других версиях Delphi соответствующие разделы включены в меню Project. Меню содержит разделы Compile, Build All, Syntax Check и Information, описания которых вы можете посмотреть в описании меню Project.
Run	Используется для выполнения и отладки приложения
Component	Используется для создания новых компонентов и изменения палитры компонентов
Database	Используется для создания, модификации и просмотра баз данных
Options	Имеется только в Delphi 1, в более поздних версиях многие разделы этого меню размещены в других меню
Tools	Используется для установки опций среды Delphi, модификации список программ в подменю Tools и изменения шаблонов и экспертов
WorkGroups	Используется для облегчения разработки приложений группой разработчиков с помощью системы управления версиями PVCS
Help	Работа со справочной системой Delphi


Меню File
Меню файлов File

Меню файлов используется для открытия, сохранения, закрытия и печати новых или существующих проектов и файлов, а также для добавления новых форм и модулей в открытый проект. Меню имеет следующие разделы.

New	Создать новый объект из элементов депозитария
New Application или New Project	Создать новый проект
New Form	Создать новую форму
New Data Module	Создать новый модуль данных
Open	Открыть существующий модуль или проект
Open Project	Раздел отсутствует в Delphi 3. Позволяет открыть существующий проект, а в Delphi 4 - открыть и группу проектов (файл .bpg)
Open File	Только в Delphi 1: открыть существующий модуль (см. Open)
ReOpen или список файлов	Открыть проект или модуль, с которыми работали раньше
Save или Save File	Сохранить текущий модуль
Save Project	Этот раздел отсутствует в Delphi 3. На диске сохраняется файл текущего проекта, а в Delphi 4 - и файл группы проектов
Save As или Save File As	Сохранить текущий модуль под новым именем
Save Project As	Сохранить текущий проект под новым именем
Save All	Сохранить текущий проект и все его файлы
Close или Close File	Закрыть текущий модуль
Close All	Закрыть все файлы текущего проекта или группы
Close Project	Только в Delphi 1: закрыть текущий проект
New Form	Только в Delphi 1: создать новую форму, выбрав ее в окне Browse Gallery, предлагающем список форм, включая пустую форму Blank form
New Unit	Только в Delphi 1: создать и включить в проект новый модуль без формы; подобные модули полезны для включения в них переменных, функций и процедур, используемых другими модулями
Use Unit	Сформировать оператор uses
Add To Project или Add File	Добавить в проект новый модуль
Remove From Project или Remove File	Удалить модуль из проекта
New Component	Только в Delphi 1: создать новый компонент с использованием Эксперта Компонентов.
Print	Напечатать текст модуля или форму
Exit	Выход


New - раздел меню
Раздел меню New

Создать новый объект из элементов депозитария

Создаваемый объект может быть любым элементом депозитария (хранилища) объектов, включая новый проект. После выбора этого раздела меню появляется диалоговое окно  нового элемента (New Items), которое позволяет выбрать вид элемента начиная от окна и кончая сервером Web.


New Application - раздел меню
Раздел меню New Application

Создать новый проект

Если у вас в данный момент не открыт ни один проект или текущее состояние открытого проекта уже сохранено на диске, Delphi закроет текущий проект и создаст новый. Это подразумевает создание нового окна Редактора Кода с заново созданным файлом Unit1.PAS, новой формы Form1 и нового окна Инспектора Объектов. Если имеется не зарытый проект, то предварительно будет задан вопрос о его сохранении.


New Form - раздел меню
Раздел меню New Form

Создать новую форму

По умолчанию будет создана новая пустая форма, в отличие от специальных форм, имеющихся в депозитарии объектов и вызываемых разделом меню New.


New Data Module - раздел меню
Раздел меню New Data Module

Создать новый модуль данных

Создастся новый модуль данных - невидимая форма, которую вы можете использовать как место для размещения всех ваших компонентов управления данными. Такая форма, из которой другие видимые формы будут черпать необходимые им данные, очень полезна.


Open - раздел меню
Раздел меню Open

Открыть существующий модуль или проект

В этом пункте можно открыть модуль или проект. Они ищутся прежде всего в рабочем каталоге, который определен при установке Delphi. Если открывается модуль, то он появляется в окне Редактора Кода, становится видима связанная с ним форма, но в проект этот модуль не включается. Это можно использовать для просмотра каких-то модулей из других проектов. Закрыть открытый модуль можно щелчком правой кнопки мыши в окне Редактора Кода и выбором команды Close Page.


ReOpen - раздел меню
Раздел меню ReOpen

Открыть проект или модуль, с которыми работали раньше

Этот раздел является списком нескольких последних проектов или файлов, которые вы открывали ранее. Чтобы открыть файл, содержащийся в этом списке, достаточно просто выделить его в списке. Это проще и быстрее, чем пользоваться разделами меню File | Open.


Save - раздел меню
Раздел меню Save

Сохранить текущий модуль

На диске сохраняется текущий модуль, с которым вы работаете в окне Редактора Кода.


Save As - раздел меню
Раздел меню Save As

Сохранить текущий модуль под новым именем

При выборе этого пункта меню открывается стандартное диалоговое окно, которое позволяет сохранить текущий модуль под новым именем. Вы можете захотеть сделать это, если собираетесь вносить радикальные изменения во фрагмент кода. (Если вы используете версию клиент-сервер, вы можете также воспользоваться PVCS - программой управления версиями.) Это позволяет вам сохранить изменения и при необходимости вернуться к прежнему коду, если вы сделали ошибку в новом.


Save Project As - раздел меню
Раздел меню Save Project As

Сохранить текущий проект под новым именем

При выборе этого пункта меню открывается стандартное диалоговое окно, которое позволяет сохранить текущий проект под новым именем. Это позволяет сохранить файл проекта под новым именем для какого-то последующего его использования. Для модулей, входящих в проект, имена файлов не изменяются.


Save All - раздел меню
Раздел меню Save All

Сохранить текущий проект и все его файлы

Выбор этого пункта меню сохраняет все, что в данный момент открыто - проект и все прочие файлы: модули, ресурсы и т.п.


Close - раздел меню
Раздел меню Close

Закрыть текущий модуль

Выбор этого пункта закрывает текущий модуль кода и связанную с ним форму. Если вы не сохранили ваш модуль в его текущем состоянии, Delphi спросит, хотите ли вы сохранить внесенные изменения.


Use Unit - раздел меню
Раздел меню Use Unit

Сформировать оператор uses

Выбор этого пункта меню вставляет в код текущего модуля оператор uses для того модуля (unit), который вы хотите использовать. Этот простой способ включения модуля в код программы не требующий вставлять вручную имя этого модуля.


Add To Project - раздел меню File
Раздел меню Add To Project

Добавить в проект новый модуль

Выбор этого пункта меню позволяет добавить в проект существующий модуль и связанную с ним форму. Когда вы добавляете модуль в проект, Delphi автоматически добавляет в файл проекта соответствующий оператор uses. Аналогичный пункт имеется в разделе Project.


Remove From Project - раздел меню File
Раздел меню Remove From Project

Удалить модуль из проекта

Выбор этого пункта меню позволяет удалить из проекта существующий модуль и связанную с ним форму. Когда вы удаляете модуль из проекта, Delphi автоматически удаляет из файла проекта соответствующий оператор uses. Аналогичный пункт имеется в разделе Project.


Print - раздел меню
Раздел меню Print

Напечатать текст модуля или форму

Выбрав этот пункт меню, вы можете распечатать выбранный элемент проекта. Если вы выделили в Delphi форму и выполнили команды File | Print, то появится диалоговое окно печати формы (Print Form). В этом диалоговом окне вы можете выбрать, как бы вы хотели напечатать форму. Имеются опции: Proportional (пропорционально), Print to fit page (печать по размеру страницы) и No scaling (не масштабируя). После соответствующего выбора, нажмите OK, и форма будет напечатана.

Если вы хотите напечатать программный код, то должны выделить окно с этим кодом, выполнить команду File | Print и на экране появится диалоговое окно печати текста (Print Selection). В нем вы можете задать опции, определяющие формат печати: Print selected block - печать только выделенного текста (предполагается, что вы выделили фрагмент текста), Header/Page Number - печать вверху каждой страницы ее номер и имя файла, Line Numbers - печать слева от каждой строки ее номер, Syntax Print	- печать выделений в окне редактирования (жирный шрифт, курсив, подчеркивание), Use Color - печатать в цвете (на цветном принтере), Wrap Lines - переносить строки (в противном случае строки, не помещающиеся на странице, усекаются), Left Margin - левое поле, измеряемое числом символов.


Exit - раздел меню
Раздел меню Exit

Выход

Выбор этого пункта меню приводит к выходу из IDE Delphi. Если ваш проект не сохранен в текущем состоянии, Delphi предложит вам сохранить его перед уходом.


Меню Edit
Меню редактирования Edit

Пункт главного меню Edit включает меню редактирования для работы с текстом и компонентами в процессе проектирования. Меню имеет следующие разделы.

UnDelete/Undo	Отменить предыдущую операцию
Redo	Отменить предыдущую команду Undo
Cut	Вырезать в буфер обмена компоненты или фрагмент текста
Copy	Копировать в буфер обмена компоненты или фрагмент текста
Paste	Прочитать содержимое буфера обмена в форму или в текст
Delete	Удалить компоненты или фрагмент текста
Select AllSelect All	Выделить все
Align to Grid	Выровнять по сетке
Bring to Front	Переместить наверх
Send to Back	Переместить вниз
Align	Выровнять местоположение компонентов в группе
Size	Выровнять размеры группы компонентов
Scale	Масштабировать все компоненты на форме
Tab Order	Установить последовательность табуляции
Creation Order	Установить последовательность создания невизуальных компонентов
Flip Children	Раздел имеется только в Delphi 4 и позволяет зеркально преобразовать размещение (справа налево) компонентов формы, выбрав из подменю один из двух вариантов: All - все компоненты формы, Selected - дочерние компоненты выделенного оконного элемента.
Lock Controls	Зафиксировать компоненты
Add to Interface	Добавить в интерфейс компонента ActiveX
Object	Только в Delphi 1: редактировать и преобразовывать объект OLE, который вы помещаете на форме


UnDelete/Undo - раздел меню
Разделы меню UnDelete/Undo

Отменить предыдущую операцию

Этот пункт появляется в меню в виде команды UnDelete (восстановить удаленное) или Undo (отменить предыдущее действие) в зависимости от того, какая команда выполнялась перед этим. Если вы только что удалили объект или какой-то код клавишей Delete или с помощью команды Delete в меню Edit, то данный пункт будет иметь название UnDelete. Он позволит вам восстановить то, что вы непосредственно перед этим удалили. А если вы только что добавили в проект код, пункт будет называться Undo. Это позволит вам отменить последнее добавление.


Redo - раздел меню
Раздел меню Redo

Отменить предыдущую команду Undo

Команда Redo противоположна команде Undo. Redo возвращает вас назад к состоянию, которое было до выполнения команды Undo или даже до выполнения ряда последовательных команд Undo.


Cut - раздел меню
Раздел меню Cut

Вырезать в буфер обмена компоненты или фрагмент текста

Эта команда вырезает выделенные элементы (компонент, группу компонентов на форме или фрагмент текста) и помещает их в буфер Clipboard. Выделенные элементы удаляются из текущей формы или текста.


Copy - раздел меню
Раздел меню Copy

Копировать в буфер обмена компоненты или фрагмент текста

Эта команда копирует выделенные элементы (компонент, группу компонентов на форме или фрагмент текста) и помещает их в буфер Clipboard. Выделенные элементы не удаляются из текущей формы или текста.


Paste - раздел меню
Раздел меню Paste

Прочитать содержимое буфера обмена в форму или в текст

Эта команда копирует содержимое Clipboard в текущую форму или в текст.


Delete - раздел меню
Раздел меню Delete

Удалить компоненты или фрагмент текста

Команда удаляет выделенные на форме или в тексте элементы. Правда, если вы ошиблись, то имеется возможность восстановить ошибочно удаленные элементы с помощью команды UnDelete. Помните, что удаленные выделенные на форме или в тексте элементы не помещаются в буфер Clipboard.


Select All - раздел меню
Раздел меню Select All

Выделить все

Эта команда выделяет все компоненты на текущей форме или весь код в текущем модуле в зависимости от того, с чем вы в данный момент работаете.


Align to Grid - раздел меню
Раздел меню Align to Grid

Выровнять по сетке

Команда выравнивает размещенные на форме компоненты по узлам сетки. Правда, если вы установили опцию Snap to Grid на странице Preference с помощью команды Options | Environment, то пункт меню Align to Grid не нужен. Все компоненты будут автоматически размещаться на форме в узлах сетки.


Bring to Front - раздел меню
Раздел меню Bring to Front

Переместить наверх

Команда помещает выделенный компонент сверху всех остальных (в верх Z-последовательности, но с учетом того, что все не оконные компоненты располагаются позади оконных). Это полезно, если вы разместили на форме ряд компонентов и они накладываются друг на друга. В этом случае вы можете решить, что какой-то скрытый компонент, лежащий под другими, должен быть наверху. Для этого надо выделить этот компонент и затем выполнить данную команду меню.


Send to Back - раздел меню
Раздел меню Send to Back

Переместить вниз

Эта команда противоположна по смыслу команде Bring to Front. Она помещает выбранный компонент или компоненты позади всех других компонентов (в низ Z-последовательности, но с учетом того, что все не оконные компоненты располагаются позади оконных).


Align - раздел меню
Раздел меню Align

Выровнять местоположение компонентов в группе

При выборе этого пункта меню появляется диалоговое окно Alignment (Выравнивание). Опции этого окна позволяют выбрать ряд вариантов выравнивания компонентов на форме по горизонтали и вертикали.


Size - раздел меню
Раздел меню Size

Выровнять размеры группы компонентов

Выбор этого пункта меню позволяет изменять размеры компонента до заданных значений ширины и высоты. Если вы выделили несколько компонентов, данный пункт позволяет увеличить размеры всех этих компонентов по горизонтали, вертикали или в обоих направлениях до размеров наибольшего из выделенных компонентов на странице или сократить их размеры до размера наименьшего из них.


Scale - раздел меню
Раздел меню Scale

Масштабировать все компоненты на форме

Используя команду Scale, вы можете пропорционально изменить масштаб всего, расположенного на форме. Все размеры можно увеличивать или уменьшать вплоть до ста раз. В появляющемся диалоговом окне вам надо задать Scaling factor - масштабирующий коэффициент в %. Например, задав 200 вы увеличите все компоненты в 2 раза.


Tab Order - раздел меню
Раздел меню Tab Order

Установить последовательность табуляции

Delphi позволяет установить последовательность смены активных компонентов, расположенных на форме, при нажатии пользователем клавиши табуляции Tab. Команда Tab Order высвечивает на экране диалоговое окно редактирования последовательности табуляции (Edit Tab Order). В окне помещен список имен всех компонентов, размещенных на форме. Вы можете изменить их последовательность, выделяя соответствующий элемент и нажимая кнопки со стрелками "вверх" или "вниз". Это удобнее, чем устанавливать свойства каждого компонента вручную.


Creation Order - раздел меню
Раздел меню Creation Order

Установить последовательность создания невизуальных компонентов

Эта команда позволяет управлять последовательностью, в которой создаются невизуальные компоненты. Эта последовательность может быть важна, если одни из этих компонентов используют свойства других, полагая, что те существуют и инициализированы. Если эти компоненты не создаются в правильной последовательности, то обращение к несуществующему компоненту вызовет генерацию исключения.


Lock Controls - раздел меню
Раздел меню Lock Controls

Зафиксировать компоненты

После того, как вы разместили и выровняли компоненты, их местоположение полезно зафиксировать этой командой. Иначе в процессе последующей работы над проектом вы можете случайно сдвинуть тот или иной компонент, когда будете его выделять курсором, и всю работу по выравниванию придется начинать заново.

Команда Lock Controls зафиксирует расположение всех компонентов на форме и не позволит их перемещать. Если в дальнейшем у вас все-таки возникнет потребность изменить расположение компонентов, то выполнить повторно команду Edit | Lock Controls и компоненты будут разблокированы.


Add to Interface - раздел меню
Раздел меню Add to Interface

Добавить в интерфейс компонента ActiveX

С помощью этой команды вы можете добавить новый метод, событие или свойство в компонент ActiveX.


Меню Search
Меню поиска Search

Выпадающее меню Search используется для локализации фрагментов текста, ошибок, объектов, модулей, переменных и символов в редакторе кодов. Меню содержит следующие разделы.

Find	Найти
Find in Files	Найти в файлах
Replace	Заменить
Search Again	Искать снова
Incremental Search	Быстрый поиск по вводимым символам
Go to Line Number	Перейти на строку с заданным номером
Show Last Compile Error	Только в Delphi 1: показать последнюю ошибку компиляции
Find Error	Найти ошибку выполнения
Browse Symbol	Просмотр информации об идентификаторе


Find - раздел меню
Раздел меню Find

Найти

Delphi выполняет поиск первого вхождения заданной последовательности символов в тексте. При выполнении команды на экране появляется диалоговое окно поиска текста Find Text, предоставляя в распоряжение пользователя ряд опций: учет регистра (Case sensitivity), поиск заданной последовательности символов только как целого слова (Whole words only), направление поиска (Direction), область поиска (Scope) - во всем файле (Global) или только в выделенном фрагменте (Selected text), от курсора (From cursor) или в заданной области независимо от положения курсора (Entire scope).


Find in Files - раздел меню
Раздел меню Find in Files

Найти в файлах

Выбор пункта меню Find in Files (поиск в файлах) позволяет проводить поиск заданного текста и просматривать каждое его вхождение в нижней части окна Редактора Кода. Наличие списка всех вхождений делает во многих случаях эту команду более удобной, чем Find. Опции диалогового окна позволяют вам проводить поиск во всех файлах текущего проекта (Search all files in project), во всех открытых файлах (Search all open files), и во всех файлах заданного каталога (Search in directories). Остальные опции поиска аналогичны команде Find.


Replace - раздел меню
Раздел меню Replace

Заменить

Диалоговое окно этой команды подобно окну команды Find, но содержит окошко для ввода заменяемой последовательности символов - Text to find, и окошко Replace with, в котором вы задаете текст замены.


Search Again - раздел меню
Раздел меню Search Again

Искать снова

Эта команда повторяет последний проведенный вами поиск, который вы задавали в диалоговом окне Find Text.


Incremental Search - раздел меню
Раздел меню Incremental Search

Быстрый поиск по вводимым символам

Выбрав этот пункт меню начните печатать какое-нибудь слово. Delphi найдет в тексте первое вхождение печатаемой вами последовательности символов. Это прекрасный инструмент в тех случаях, когда вы только приблизительно знаете, что именно хотите найти.


Go to Line Number - раздел меню
Раздел меню Go to Line Number

Перейти на строку с заданным номером

Этот пункт меню позволяет вам ввести номер строки (в пределах числа строк, имеющихся в вашем приложении), на которую вы хотите перейти.


Find Error - раздел меню
Раздел меню Find Error

Найти ошибку

С помощью этого пункта меню вы можете найти в тексте место последней ошибки, случившейся при выполнении приложения. Delphi откомпилирует ваше приложение и остановится на операторе программы, которому соответствует эта ошибка. Это простой способ отыскания ошибок времени выполнения.


Browse Symbol - раздел меню
Раздел меню Browse Symbol

Просмотр информации об идентификаторе

После успешной компиляции вашей программы вы можете посмотреть в диалоговом окне Browse Symbol информацию о любом идентификаторе, используемом в ней: имени компонента, типе, стандартной функции или процедуре.


Меню View
Меню просмотра View

Выпадающее меню просмотра View позволяет вывести на экран или скрыть различные элементы среды проектирования Delphi и открыть окна, связанные с интегрированным отладчиком. Меню содержит следующие разделы.

Project Manager	Активизирует окно менеджера проекта (Project Manager)
Project Source	Заносит в окно редактора кода исходный файл проекта. В Delphi 4. В остальных версиях аналогичная команда View Source включена в меню Project.
Object Inspector	Активизирует инспектор объектов (Object Inspector)
Alignment Palette	Палитра выравнивания
Browser	Окно наследования
Code Explorer	Активизирует - окно Исследователя Кода, помогающего анализировать текст модуля. Раздел имеется только в Delphi 4.
Breakpoints	Точки прерывания
Call Stack	Окно стека вызовов
Watches	Окно наблюдения
Threads	Потоки выполнения
Modules	Загруженные в память модули и библиотеки
Debug Windows	Вспомогательное меню отладки в Delphi 4
Component List	Список компонентов
Window List	Список открытых окон
Toggle Form/Unit	Переключение между формой и кодом ее модуля
Units	Список модулей проекта
Forms	Список форм проекта
Type Library	Библиотека типов
New Edit Window	Новое окно редактора кода
SpeedBar или Toolbars	Делает видимыми быстрые кнопки, если до этого они были невидимы. В Delphi 4 этот раздел имеет подменю, позволяющее выбрать состав видимых кнопок.
Component Palette	Делает видимой палитру компонентов, если до этого она была невидима


Alignment Palette - раздел меню
Раздел меню Alignment Palette

Палитра выравнивания

Эта команда активизирует очень удобный инструмент - палитру выравнивания Alignment Palette. Это визуальный вариант диалогового окна выравнивания Alignment, которое вызывается командой меню Edit | Align. Вы вызываете данную палитру, выделяете элементы, которые хотите выровнять, затем и выбираете, что вы хотите с ними сделать. Пиктограммы показывают, как будет происходить выравнивание. Если вы сомневаетесь в назначении кнопки, поместите на нее курсор и выплывет подсказка, поясняющая функцию данной кнопки.


Browser - раздел меню
Раздел меню Browser

Окно наследования

Этот пункт меню активизирует окно, которое позволит наблюдать модель наследования и взаимосвязи объектов. Она дает возможность отслеживать иерархию моделей объектов в Delphi. Этот пункт меню доступен только после того, как приложение будет откомпилировано.


Breakpoints - раздел меню
Раздел меню Breakpoints

Точки прерывания

Этот пункт меню активизирует диалоговое окно списка точек прерывания - Breakpoint List. Оно покажет все заданные для отладки точки прерывания. Если вы щелкнете правой кнопкой мыши в этом окне, появится меню, позволяющее вам добавлять, изменять и удалять отладочные точки прерывания, формулировать условия прерывания.


Call Stack - раздел меню
Раздел меню Call Stack

Окно стека вызовов

Эта команда активизирует диалоговое окно стека вызовов - Call Stack. Оно показывает последовательность, в которой вызываются процедуры и функции в выполняемом приложении.


Watches - раздел меню
Раздел меню Watches

Окно наблюдения

С помощью этого раздела меню можно наблюдать в процессе отладки программы заданное множество переменных или выражений, содержащих эти переменные.


Threads - раздел меню
Раздел меню Threads

Потоки выполнения

Выбор этого пункта меню покажет список текущих нитей кода (threads), которые в данный момент выполняются. Так как Windows 95 и NT являются многозадачными системами, вы можете организовать в своем приложении несколько ветвей, которые будут выполняться независимо.


Modules - раздел меню
Раздел меню Modules

Загруженные в память модули и библиотеки

Выбор этого пункта меню покажет вам диалоговое окно списка модулей - Module List, содержащее перечень всех модулей, загруженных в память при выполнении данного проекта. Этот список включает выполняемые модули и библиотеки DLL.


Debug Windows - раздел меню
Раздел меню Debug Windows

Этот раздел имеется только в Delphi 4 и имеет подменю, включающее в себя разделы:

Breakpoints	Активизирует диалоговое окно списка точек прерывания - Breakpoint List
Call Stack	Активизирует диалоговое окно стека вызовов - Call Stack
Watches	Активизирует диалоговое окно наблюдения
Local Variables	Показывает значения локальных переменных выполняемой функции
Threads	Показывает список текущих процессов, которые в данный момент выполняются.
Modules	Активизирует диалоговое окно списка модулей - Module List.
CPU	Активизирует окно CPU
Event Log	Активизирует окно, отображающее произошедшие события


Component List - раздел меню
Раздел меню Component List

Список компонентов

Выбор этого пункта меню отобразит диалоговое окно алфавитного списка всех компонентов в библиотеке. Кнопка Add to Form позволяет разместить выбранный компонент на форме.


Window List - раздел меню
Раздел меню Window List

Список открытых окон

Выбор этого пункта меню откроет диалоговое окно со списком всех открытых окон Delphi. Вы можете выбрать в нем нужное вам окно, и оно будет активизировано.


Units - раздел меню
Раздел меню Units

Список модулей проекта

Выбор этого пункта меню вызовет диалоговое окно, которое покажет список всех модулей (units) вашего проекта. Вы можете щелкнуть на том модуле, который хотите посмотреть, и он появится в окне редактора кода.


Forms - раздел меню
Раздел меню Forms

Список форм проекта

Выбор этого пункта меню вызовет диалоговое окно, которое покажет список всех форм вашего проекта. Вы можете щелкнуть на имени той формы, которую хотите посмотреть, и она активизируется на экране.


Type Library - раздел меню
Раздел меню Type Library

Библиотека типов

Используется при преобразовании компонентов Delphi в элементы ActiveX. Библиотека типов - Type Library является составным документом OLE, содержащим информацию о типах данных, функциях-элементах и классах объектов, предоставленную управляющими активными элементами ActiveX или серверами. Когда выделяется Type Library в панели списка объектов - Object List Panel, выполнение команды Type Library делает доступными страницу атрибутов и страницу используемых модулей Uses.

Страница атрибутов содержит информацию о текущей выбранной библиотеке. Когда Type Library выделена в главной панели списка объектов, то на странице атрибутов присутствуют следующие атрибуты и флаги: Name, GUID, Version, LCID, HelpFile, Help String и Help Context.


New Edit Window - раздел меню
Раздел меню New Edit Window

Новое окно Редактора Кода

Выбор этого пункта меню открывает новое окно Редактора Кода, оставляя на месте прежнее. Текущий модуль вашего окна редактирования появится и в новом окне. Наличие на экране нескольких окон редактирования позволяет одновременно видеть коды двух модулей.


Меню Project
Меню проекта Project

Этот раздел отсутствует в Delphi 1. Раздел меню Project используется для компиляции и построения приложения. Меню содержит следующие разделы.

Add To Project	Добавить в проект
Remove from Project	Удалить из проекта
Import Type Library	Импортировать в проект одну из зарегистрированных в системе библиотек типов. Этот раздел имеется только в Delphi 4.
Add To Repository	Добавить текущую форму в депозитарий
View Source	Занести в окно Редактора Кода исходный файл проекта. Этот раздел включен только в Delphi 4. В остальных версиях аналогичная команда Project Source включена в меню View.
Add New Project	Эта команда создает выбором из депозитария новый проект и добавляет его в текущую группу проектов. Используется только в Delphi 4.
Add Existing Project	Эта команда открывает один из имеющихся проектов и добавляет его в текущую группу проектов. Используется только в Delphi 4.
Compile	Компилировать все те файлы проекта, которые были изменены с момента последнего выполнения программы
Build All или Build project	Компилировать все компоненты, модули, формы вне зависимости от того, изменялось ли что-нибудь с момента последнего выполнения вашей программы
Syntax Check	Проверить синтаксис приложения без генерации исполняемого файла
Information или Information for project	Дать информацию о размерах приложения: числе строк кода, размере выполняемого модуля, размере стека и т.п.
Compile All Projects	Компилировать все измененные со времени последней компиляции файлы проектов в группе. Только в Delphi 4.
Build All Projects	Компилировать все файлы всех проектов в группе независимо от того, изменялись они или нет. Только в Delphi 4.
Web Deployment Options	Эта команда позволяет сделать необходимые установки для развертывания активной формы или элемента на сервере Web. Только в Delphi 4.
Web Deploy	Развернуть спроектированную активную форму на сервере Web
Options	Установить опции проекта (опции компиляции, редактирования связей и задать каталоги) в диалоговом окне опций проекта Project Options


Add To Project - раздел меню Project
Раздел меню Add To Project

Добавить в проект

Выбор этого пункта меню позволяет вам добавить в проект существующий модуль и связанную с ним форму. Когда вы добавляете модуль в проект, Delphi автоматически добавляет в файл проекта соответствующий оператор uses. Данный пункт меню имеет те же самые функции, что и раздел File | Add To Project.


Remove from Project - раздел меню Project
Раздел меню Remove from Project

Удалить из проекта

Выбор этого пункта меню позволяет вам удалить из проекта существующий модуль и связанную с ним форму. Когда вы удаляете модуль из проекта, Delphi автоматически удаляет из файла проекта соответствующий оператор uses. Этот пункт меню имеет те же функции, что и пункт File | Remove from Project.


Add To Repository - раздел меню
Раздел меню Add To Repository

Добавить текущую форму в депозитарий

Этот пункт меню добавляет текущую форму в хранилище (депозитарий) объектов - Object Repository. Это позволяет использовать ее повторно, что сокращает время на разработку новых проектов.


Меню Run - раздел меню
Меню выполнения Run

Раздел меню Run содержит выпадающее меню с командами, обеспечивающими выполнение и отладку вашей программы. Меню содержит следующие разделы.

Run	Выполнить приложение; если до этого не была осуществлена компиляция программы в ее текущем состоянии, то перед запуском эта компиляция выполняется.
Parameters	Позволяет задать параметры командной строки, необходимые при запуске приложения
Register ActiveX Server	Зарегистрировать в Windows активный сервер ActiveX
Un-Register ActiveX Server	Снять с регистрации в Windows активный сервер ActiveX; тем самым экземпляр вашего активного элемента удаляется из системы (см. Register ActiveX Server)
Inspect	Открыть окно Инспектора Отладки
Install MTS Objects	Эта команда имеется только в Delphi 4 и ее  можно использовать, если на вашем компьютере установлен Microsoft transaction server (MTS) и ваш проект является проектом MTS. Тогда эта команда устанавливает ваш объект MTS в пакет MTS.
Step Over	Выполнить приложение по шагам без захода в функции
Trace Into	Выполнить приложение по шагам с заходом в функции
Trace to Next Source Line	Выполнить приложение до следующей выполняемой команды
Run to Cursor	Выполнить приложение вплоть до той точки в исходном тексте, где находится курсор
Show Execution Point	Показать точку выполнения
Program Pause	Пауза в выполнении приложения
Program Reset	Завершить выполнение приложения и выгрузить его из памяти
Add Watch	Добавить переменную в окно наблюдения
Add Breakpoint	Добавить точку прерывания
Evaluate/Modify	Изменить значение переменной в процессе выполнения приложения


Register ActiveX Serve - раздел меню r
Раздел меню Register ActiveX Server

Зарегистрировать в Windows активный сервер ActiveX

Этот раздел меню дает возможность зарегистрировать ваш активный сервер ActiveX в Windows 95. Если вы проведете подобную регистрацию, то ваш управляющий  активный элемент можно будет вызывать, применяя программу просмотра Web или другие приложения. Прежде, чем использовать управляющий элемент в первый раз, его надо зарегистрировать. Снятие с регистрации осуществляется командой Un-Register ActiveX Server меню Run.


Inspect - раздел меню
Раздел меню Inspect

Открыть окно Инспектора Отладки

Команда доступна только во время выполнения приложения при останове средствами отладки или вследствие генерации исключения. При останове вы можете поставить курсор на имя интересующей вас переменной, или компонента, или функции и выполнить команду Run | Inspect. Инспектор Отладки позволяет исследовать различные данные: переменные, массивы, классы, функции, указатели. Причем, не только исследовать, но и изменять значения переменных и свойств компонентов.

Находясь в окне Инспектора Отладки, можно щелкнуть правой кнопкой мыши и выбрать одну из следующих команд:

Change	Перейти в окно Change для изменения значения элемента.
Show Inherited	Если этот флаг включен, то на страницах окна отображаются все свойства и методы, как объявленные в данном классе, так и наследуемые. Если флаг выключен, то отображается только то, что объявлено в данном классе.
Inspect	Открывает новое окно для выделенного вами элемента данных. Это позволяет детальнее исследовать данные типа структур, классов, массивов и т.п.
Descend	Аналогична команде Inspect, но детализирующие данные появляются не в отдельном, а в том же самом окне. В дальнейшем можно вернуться в исходное окно, воспользовавшись расположенным в верху окна выпадающим списком, в котором накапливаются просмотренные объекты.
New Expression	Эта команда позволяет вам задать новое выражение для анализа.
Type Cast	Позволяет вам указать другой тип для рассматриваемого объекта, например, указать тип не типизированного указателя.


Show Execution Point - раздел меню
Раздел меню Show Execution Point

Показать точку выполнения

Выполните эту команду, если вы закрыли окно редактирования и находитесь в процессе пошаговой отладки программы. Это вернет вас в окно редактирования, причем курсор будет расположен на операторе, который будет выполняться следующим.


Add Watch - раздел меню
Раздел меню Add Watch

Добавить переменную в окно наблюдения

Этот пункт дает вам один из способов добавить наблюдаемую переменную в список Watch. Другой способ - выполнить View | Watches, сделать щелчок правой кнопкой мыши на окне Watch List и выбрать пункт Add в выпадающем меню.


Add Breakpoint - раздел меню
Раздел меню Add Breakpoint

Добавить точку прерывания

Эта команда предоставляет вам один из способов добавить новую точку в список точек прерывания. Это вызовет также выделение красным цветом соответствующего оператора в исходном тексте вашей программы. Другой способ сделать то же самое - выполнить View | Breakpoint, сделать щелчок правой кнопкой мыши на окне Breakpoint List и выбрать пункт Add в выпадающем меню.


Evaluate/Modify - раздел меню
Раздел меню Evaluate/Modify

Изменить значение переменной при выполнении

Эта команда позволяет вам с помощью диалогового окна изменять значение переменной в процессе выполнения программы. Более того, вы можете написать некоторое выражение, включающее переменные вашего приложения, и это выражение будет немедленно посчитано.


Меню Component
Меню компонентов Component

Раздел Component главного меню содержит выпадающее меню, которое позволяет работать с компонентами: создавать новые компоненты, изменять палитру компонентов и т.п. Меню содержит следующие разделы.

New Component	Создать новый компонент; активизируется Эксперт Компонентов (Component Expert), который помогает создавать новые компоненты Delphi
Install Component	Установить новый компонент Delphi в новый или уже существующий пакет
Import ActiveX Library	Импортировать элемент ActiveX, который уже зарегистрирован в системе, в новый или уже существующий пакет Delphi в пакет
Create Component Template	Создать шаблон компонента; этот раздел становится активным, когда вы выделили на форме более одного компонента; он позволяет вам скомбинировать их в один компонент, который может рассматриваться на форме как единое целое.
Install Packages	Показать список всех имеющихся пакетов и указать, какие пакеты должны компилироваться в ваше приложение; можно также видеть текущий список компонентов каждого пакета, редактировать состав пакетов
Configure Palette	Конфигурировать палитру компонентов, видимую на экране


Меню Database
Меню баз данных Database

Раздел меню Database содержит команды, позволяющие создавать, модифицировать и просматривать ваши базы данных. Меню содержит следующие разделы.

Explore	Вызвать инструмент исследования баз данных SQL Explorer, позволяющий просматривать и редактировать структуры баз данных
SQL Monitor	Вызвать программу SQL Monitor, позволяющую наблюдать прохождение запросов Windows и то, как они обрабатываются в вашем приложении
Form Expert или Form wizard	Вызвать мастера разработки форм с базами данных


Меню Options в Delphi 1
Меню опций Options  в Delphi 1

Это меню имеется только в Delphi 1. В более поздних версиях многие разделы этого меню размещены в других меню. Меню содержит следующие разделы.

Project	Этот раздел идентичен разделу Options меню Project в более поздних версиях. Позволяет устанавливать опции проекта форм,  компилятора и т.п.
Environment	Этот раздел идентичен разделу Environment Options меню Tools в более поздних версиях. Позволяет устанавливать опции редактора, палитры компонентов и ряд других.
Tools	Этот раздел идентичен разделу Configure Tool меню Tools в более поздних версиях. Позволяет формировать набор программ, вызываемых из разделов меню Tools.
Gallery	Галерея форм и экспертов. Она позволяет обратиться к формам и экспертам, включенным в галерею. Вы можете выбрать в галерее форму и соответствующий ей эксперт проведет вас через все этапы ее создания.
Open Library	Открыть указанный файл библиотеки компонентов
Install Components	Открыть диалоговое окно установки новых компонентов.
Rebuild Library	Перекомпилировать библиотеку компонентов


Меню Tools
Меню инструментов Tools

Раздел Tools главного меню Delphi предоставляет возможность просматривать и изменять установки среды Delphi, модифицировать список программ в подменю Tools и изменять шаблоны и экспертов. Меню содержит следующие разделы.

Environment Options	Вызов диалогового окна настройки окружения - Enviromental Options, позволяющего изменять установки редактора, экрана, палитры и опций просмотра
Debugger Options	Вызов диалогового окна настройки окружения - Debugger Options, в котором вы можете изменять установки, связанные с отладкой приложений. Данный раздел меню имеется только в Delphi 4.
Repository	Вызов диалогового окна просмотра депозитария Object Repository, позволяющего просмотреть помещенные в депозитарий объекты, добавлять и удалять объекты из депозитария
Configure Tool	Настройка раздела меню Tools, добавление в него новых разделов по вашему желанию


Меню WorkGroups
Меню рабочих групп WorkGroups

Меню команд, облегчающих разработку приложений группой разработчиков с помощью системы управления версиями PVCS. Меню содержит следующие разделы.

Browse PVCS Projects	Вызов окна проекта PVCS, в котором можно просмотреть файлы, которые предварительно были зарегистрированы в системе управления версиями
Manage Archive Directories	Управление структурой каталогов архива PVCS, создание каталогов для перемещения и организации файлов
Add Project1 to Version Control	Добавление текущего проекта в PVCS
Set Data Directories	Установка рабочих каталогов общего и индивидуального пользования для PVCS


Меню Help
Меню справки Help

Разделы меню Help позволяют работать со справочной системой Delphi. Меню содержит следующие разделы.

Contents	Окно содержания справки
Keyword Search	Окно предметного указателя справки
What's New	Справка по новым возможностям Delphi
Getting Started	Начальное обучение
Using Object Pascal	Справка по Object Pascal
Developing Applications	Справка по разработке приложений
Object and Component Reference	Справка по объектам и компонентам библиотеки
Borland Home Page	Просмотр страницы Web Borland
Delphi Home Page	Просмотр страницы Web Delphi
Borland Programs and Services	Просмотр страниц Web Programs и Services
About….	Справка о версии Delphi; нажатие клавиши Alt и набор слова DEVELOPERS показывает список разработчиков

В Delphi 1 некоторые из этих разделов отсутствуют, но зато включен несколько не относящийся к тематике меню раздел:

Database Form Expert	Эксперт, помогающий в разработке форм, работающих с базами данных. В более поздних версиях аналогичный пункт Form Expert включен в меню баз данных Database.

В Delphi 4  меню Help имеет еще один раздел:

Customize...	Вызов программы Borland OpenHelp, предоставляющей пользователю простой путь конфигурирования файлов справки .hlp.


Конфигурирование справочной системы
Borland OpenHelp - программа конфигурирования справочной системы

Программа Borland OpenHelp, вызываемая в Delphi 4 командой Help | Customize..., предоставляет пользователю простой путь конфигурирования файлов справки .hlp. При этом можно добавлять и убирать файлы справки, которые будут появляться в таблице содержания и в предметном указателе справки.

Delphi снабжена стандартным набором файлов справки по умолчанию. Команда Help | Contents показывает этот набор.

OpenHelp хранит информацию о справочной системе в проекте. Файл этого проекта имеет расширение .ohp и хранится в каталоге /Help. Вы можете изменить состав справочной системы: таблицы "Содержание" - Contents, таблицы "Предметный Указатель" и контекстной справки, доступ к которой осуществляется клавишей F1.

OpenHelp позволяет также удалить ссылки системного реестра на устаревшие файлы справки. Дело в том, что нередко системный реестр и файл WINHELP.INI загромождаются ссылками на устаревшие файлы справок. Вы можете быстро очистить от них реестр, выполнив в окне OpenHelp команду File | Clean Registry.

Методику модификации справочной системы см. в разделах Модификация таблицы "Содержание", Модификация таблицы "Предметный Указатель" и Модификация контекстно-зависимого поиска.


Модификация таблицы "Содержание"
Модификация таблицы "Содержание" в справке Delphi 4 программой OpenHelp

Таблица "Содержание" хранится в файле Table of Contents с расширением .toc, подобном файлам содержания Windows .cnt, только без предложений Include. Чтобы добавить файлы в таблицу "Содержание", надо сделать следующее:

1.	Перейти в окне OpenHelp на страницу Contents.

2.	Выполнить команду Edit | Add.

3.	Выбрать или написать имена одного или более добавляемых файлов .toc или .cnt.

4.	Щелкнуть на OK.

5.	Вы можете переместить файл на желательное вам место среди других файлов. Для этого выделите файл и переместите его, пользуясь кнопками со стрелками на странице Contents.

6.	Выполнить команду File | Save Project... или File | Save Project As... .

Для удаления файла из таблицы "Содержание" надо:

1.	Перейти в окне OpenHelp на страницу Contents.

2.	Выделить удаляемые файлы.

3.	Выполнить команду Edit | Remove.

4.	Выполнить команду File | Save Project... или File | Save Project As... .


Модификация таблицы "Предметный Указатель"
Модификация таблицы "Предметный Указатель" в справке Delphi 4 программой OpenHelp

Таблица "Предметный Указатель" хранит ссылки на файлы справок .hlp. Чтобы добавить файлы в таблицу "Предметный Указатель", надо сделать следующее:

1.	Перейти в окне OpenHelp на страницу Index.

2.	Выполнить команду Edit | Add.

3.	Выбрать или написать имена одного или более добавляемых файлов .hlp.

4.	Щелкнуть на OK.

5.	Вы можете переместить файл на желательное вам место среди других файлов. Для этого выделите файл и переместите его, пользуясь кнопками со стрелками на странице Index.

6.	Выполнить команду File | Save Project... или File | Save Project As... .

Для удаления файла из таблицы "Предметный Указатель" надо:

1.	Перейти в окне OpenHelp на страницу Index.

2.	Выделить удаляемые файлы.

3.	Выполнить команду Edit | Remove.

4.	Выполнить команду File | Save Project... или File | Save Project As... .


Модификация контекстно-зависимого поиска
Модификация контекстно-зависимого поиска в справке Delphi 4 программой OpenHelp

Контекстно-зависимый поиск справки состоит из файлов .hlp, доступных с помощью переходов ALink. Переходы ALink используются и в Borland C++Builder и Delphi при нажатии клавиши F1 в Инспекторе Объектов и Редакторе Кодов. Чтобы добавить файлы в контекстно-зависимый поиск, надо сделать следующее:

1.	Перейти в окне OpenHelp на страницу Link.

2.	Выполнить команду Edit | Add.

3.	Выбрать или написать имена одного или более добавляемых файлов .hlp.

4.	Щелкнуть на OK.

5.	Вы можете переместить файл на желательное вам место среди других файлов. Для этого выделите файл и переместите его, пользуясь кнопками со стрелками на странице Link.

6.	Выполнить команду File | Save Project... или File | Save Project As... .

Для удаления файла из контекстно-зависимого поиска надо:

1.	Перейти в окне OpenHelp на страницу Link.

2.	Выделить удаляемые файлы.

3.	Выполнить команду Edit | Remove.

4.	Выполнить команду File | Save Project... или File | Save Project As... .


Abort - процедура
Abort процедура

Синтаксис

Процедура генерации исключения EAbort

Модуль SysUtils

Описание

Процедура Abort применяется для прерывания вычислений в процедурах и функциях (особенно, глубоко вложенных) без сообщения об ошибке.

Процедура генерирует специальное "молчаливое исключение" EAbort, срабатывающее как любое другое исключение, но не вызывающее сообщения об ошибке.


procedure Abort;


Assert - процедура

Синтаксис    Пример

Процедура проверки истинности булевых выражений при отладке программ.

Модуль System

Описание

Процедура  Assert применяется при отладке программ для проверки истинности утверждений, которые по замыслу должны быть истинны, но в силу каких-то ошибок могут нарушаться. Процедура приводит к прекращению работы, генерации исключения EAssertionFailed и выдаче сообщения об ошибке в случае, если проверяемое утверждение окажется ложным.

Процедура Assert получает в качестве первого параметра булево выражение expr, которое и проверяется на истинность. В процедуру может быть также передана строка сообщения msg. Если проверяемое утверждение оказывается ложным, то генерируется исключения EAssertionFailed с заданной строкой сообщения. Если строка в вызове процедуры Assert не указана, то исключение генерируется со стандартной строкой сообщения. Сообщение отображается с указанием имени файла, полным путем к файлу и номером строки, в которой находится вызов Assert, соответствующий ложному выражению.

Компоненты библиотеки Delphi перехватывают все исключения. Но если все-таки исключение EAssertionFailed не будет перехвачено, оно вызовет прерывание работы программы с кодом 227.

Процедура Assert работает только при включенной директиве проверки утверждений {$C+} или {$ASSERTIONS ON}. Поскольку в отлаженной программе эти процедуры обычно работать не должны, то перед окончательным оформлением выполняемого модуля надо скомпилировать файл с отключенной директивой проверки ({$C-} или {$ASSERTIONS OFF). При этом компиляция проверок не производятся, так что в отлаженной программе не остается ничего лишнего.


procedure Assert(expr : Boolean [; const msg: string]);


assert(p=NIL, 'Указатель P = NIL');

Если при выполнении этого оператора значение p окажется равным NIL, то будет отображено диалоговое окно сообщений


Beep - процедура Object Pascal

Прототип

Подает стандартный звуковой сигнал

Модуль SysUtils

Описание

Процедура Beep вызывает процедуру MessageBeep API Windows с нулевым параметром. При этом воспроизводится стандартный звуковой сигнал, установленный в Windows, если компьютер имеет звуковую карту и стандартный сигнал задан (он устанавливается в Панели управления после щелчка на пиктограмме Звук). Если звуковой карты нет или стандартный сигнал не установлен, звук воспроизводится через динамик компьютера.


procedure Beep;


CreateComObject - процедура

Определение

Создает один экземпляр объекта COM

Модуль ComObj

Описание

Функция CreateComObject создает один объект класса, связанного с идентификатором класса, указанным параметром ClassID. Функция используется, если известен идентификатор класса и если объект является локальным сервером или сервером внутри процесса. Функцию рекомендуется использовать только для создания одного объекта.

Функция CreateComObject возвращает ссылку на идентификатор интерфейса типа IUnknown, используемый для связи с объектом. Для создания объектов OLE, возвращающих ссылку на интерфейс IDispatch, надо использовать функцию CreateOleObject.


function CreateComObject(const ClassID: TGUID): IUnknown;


CreateOleObject - процедура

Определение   Пример

Создает экземпляр автоматического объекта OLE

Модуль ComObj

Описание

Функция CreateOleObject создает объект класса, указанного параметром ClassName. Функция используется, если известен идентификатор класса, если объект является локальным сервером или сервером внутри процесса и если он ре является составной частью более сложного сервера. Функцию рекомендуется использовать только для создания одного объекта.

Функция CreateOleObject возвращает ссылку на идентификатор интерфейса типа IDispatch, используемый для связи с объектом. Для создания объектов COM, не использующих интерфейс IDispatch, надо использовать функцию CreateComObject.


function CreateOleObject(const ClassName: string):
                                                IDispatch;


Приведенный ниже оператор создает объект OLE - Microsoft Word.

var W : Variant;

...

W := CreateOleObject('Word.Basic');


OutOfMemoryError - процедура

Прототип

Генерация исключения EOutOfMemory

Модуль SysUtils

Описание

Вызов процедуры OutOfMemoryError генерирует исключение EOutOfMemory, свидетельствующее о нехватке памяти при ее динамическом распределении. Вызов OutOfMemoryError приводит к более компактному коду, чем прямая генерация исключения оператором raise.


procedure OutOfMemoryError;


RaiseLastWin32Error - процедура

Прототип

Генерирует исключение EWin32Error для последней ошибки Win32

Описание

Вызов RaisLastWin32Error генерирует исключение EWin32Error, соответствующее ошибке при вызове последней функции API Windows. RaiseLastWin32Error воспринимает код последней ошибки в Win32, если такая ошибка была. Если Windows вернул код предыдущей ошибки, то RaiseLastWin32Error генерирует исключение EWin32Error с кодом ошибки и связанным с ней сообщением.


procedure RaiseLastWin32Error;


ShowException - процедура
ShowException процедура

Прототип     Пример

Модуль SysUtils

Процедура ShowException отображает окно сообщения о сгенерированном исключении и его физическом адресе. При работе в интегрированной среде разработки Delphi вы можете использовать полученный адрес для того, чтобы найти оператор, вызвавший исключение. Для этого надо записать полученный в сообщении адрес и затем выполнить команду главного меню Search | Find Error, указав по запросу адрес исключения. Вы попадете в окно Редактора Кода на оператор, вызвавший исключение.

В процедуре ShowException удобно использовать функцию ExceptObject для задания первого аргумента и функцию ExceptAddr для задания второго аргумента. Функцию ShowException можно применять в разделе модуля finalization для определения причины прерывания работы программы или в обработчике раздела else блока try...except. Впрочем, включаемые в сообщение сведении о физическом адресе исключения могут иметь смысл только для разработчика программы и при работе в интегрированной среде разработки Delphi. Так что основное применение процедуры ShowException - отладка программы.


procedure ShowException(ExceptObject: TObject; ExceptAddr: Pointer);


ShowException(ExceptObject,ExceptAddr);


ShowMessage - процедура
ShowMessage процедура

Прототип     Пример

Отображает окно сообщения с кнопкой OK.

Модуль Dialogs

Описание

Вызов ShowMessage отображает простое окно сообщения с кнопкой OK. Текст сообщения задается параметром Msg. Заголовок окна совпадает с именем выполняемого файла приложения.

Имеется также похожая процедура ShowMessageFmt, позволяющая выводить форматированное сообщение.

При необходимости анализировать ответ пользователя на сообщение пользуйтесь функцией Delphi MessageDlg.


procedure ShowMessage(const Msg: string);


1.

ShowMessage('Работа приложения успешно завершена.');

1. 	В приведенном ниже примере предполагается, что целые переменные N1 и N2 содержат соответствующие числа, которые переводятся в строки функцией IntToStr. Сообщение, приведенное в этом примере проще реализовать процедурой ShowMessageFmt.

ShowMessage('Задано ' + IntToStr(N1) + ' параметров из '
            + IntToStr(N2));


ShowMessageFmt - процедура
ShowMessageFmt процедура

Прототип     Пример

Назначение

Отображает окно форматированного сообщения с кнопкой OK.

Модуль Dialogs

Вызов ShowMessageFmt отображает окно сообщения с кнопкой OK. Параметр Msg задает строку описания формата, а параметр Params задает массив параметров, форматируемых строкой Msg. Заголовок окна совпадает с именем выполняемого файла приложения.

Имеется также похожая процедура ShowMessage, позволяющая выводить сообщения.

При необходимости анализировать ответ пользователя на сообщение пользуйтесь функцией Delphi MessageDlg.


procedure ShowMessageFmt(const Msg: string;
                         Params: array of const);


ShowMessageFmt('Задано %d параметров из %d ', [N1, N2]);


ShortCutToKey - процедура

Прототип

Назначение

Возвращает виртуальный код клавиши и множество вспомогательных клавиш, хранящихся в структуре, используемой для задания комбинации "горячих" клавиш разделу меню

Модуль Menus

Процедура расшифровывает структуру ShortCut типа TShortCut, используемую в свойстве ShortCut, определяющем "горячие" клавиши раздела меню. Возвращается значение Key - виртуальный код клавиши, и Shift - множество вспомогательных клавиш.

См. ShortCut, ShortCutToText, TextToShortCut.


type TShortCut = Low(Word) .. High(Word);

type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft,
                           ssRight, ssMiddle, ssDouble);

procedure ShortCutToKey(ShortCut: TShortCut; var Key: Word;
                        var Shift: TShiftState;


Классификация типов данных

Типы данных в Object Pascal можно разделить на предопределенные в языке (встроенные) типы и типы, определяемые пользователем. К предопределенным относятся типы целые, действительные, символы, строки, указатели, булевы, variant.

Ниже приведена классификация типов Object Pascal, учитывающая некоторые общие свойства различных типов:

простые	порядковые	целые
		символы
		булевы
		перечислимые
		ограниченные
	действительные
строки
структуры	множества
	массивы
	записи
	файлы
	классы
	метаклассы
	интерфейсы
указатели
процедурные
интерфейсы
variant


Объявление типа данных
Определяемые пользователем типы данных

Типы данных

Определяемые пользователем типы могут быть использованы или непосредственно в объявлении переменной, или должны быть объявлены с помощью ключевого слова type. Это слово начинает раздел объявления типов. После него может следовать ряд объявлений типов в форме:

<идентификатор типа> = <описание типа>;

Приведем примеры. Объявление

var Mode : (mRead, mEdit, mWrite);

объявляет переменную Mode, задавая для нее вводимый пользователем перечислимый тип. А объявления

type TMode : (mRead, mEdit, mWrite);

var Mode1, Mode2 : TMode;

задают имя нового типа - TMode и определяют две переменные введенного пользователем типа - Mode1 и Mode2.

 Объявление типа можно использовать и для создания псевдонима встроенного типа. Например, объявление

type TMyString = string;

создает тип TMyString, являющийся псевдонимом встроенного типа строк string.


Объявление класса

Типы данных

Класс - это тип данных, определяемый пользователем. То, что в Delphi имеется множество предопределенных классов не противоречит этому определению - ведь разработчики Delphi тоже пользователи Object Pascal.

Класс должен быть объявлен до того, как будет объявлена хотя бы одна переменная этого класса. Т.е. класс не может объявляться внутри объявления переменной. Класс должен объявляться с областью видимости программа или модуль.

Синтаксис объявления класса следующий:

Type

 <имя класса> = Class (<имя класса - родителя>)

  public {доступно всем}

   <поля, методы, свойства, события>

  published {видны в Инспекторе Объекта и изменяемы}

   <поля, свойства>

  protected {доступ только потомкам}

   <поля, методы, свойства, события>

  private {доступ только в модуле}

   <поля, методы, свойства, события>

 end;

Имя класса может быть любым допустимым идентификатором. Но принято идентификаторы большинства классов начинать с символа "T". Имя класса - родителя может не указываться. Тогда предполагается, что данный класс является непосредственным наследником TObject - наиболее общего из предопределенных классов. Таким образом, эквивалентны следующие объявления:

type TMyClass = class

 ...

end;

и

type TMyClass = class(TObject)

  ...

end;

Класс наследует поля, методы, свойства, события от своих предков и может отменять какие-то из этих элементов класса или вводить новые. Доступ к объявляемым элементам класса определяется тем, в каком разделе они объявлены.

Раздел public (открытый) предназначен для объявлений, которые доступны для внешнего использования. Это открытый интерфейс класса. Раздел published (публикуемый) содержит открытые свойства, которые появляются в процессе проектирования на странице свойств Инспектора Объектов и которые, следовательно, пользователь может устанавливать в процессе проектирования. Раздел private (закрытый), содержит объявления полей, процедур и функций, используемых только внутри данного класса. Раздел protected (защищенный) содержит объявления, доступные только для потомков объявляемого класса. Как и в случае закрытых элементов, можно скрыть детали реализации защищенных элементов от конечного пользователя. Однако, в отличие от закрытых, защищенные элементы остаются доступны для программистов, которые захотят производить от этого класса производные объекты, причем не требуется, чтобы производные объекты объявлялись в этом же модуле.

Объявления полей выглядят так же, как объявления переменных или объявления полей в записях:

<имя поля>: <тип>;

Объявления методов в простейшем случае также не отличаются от обычных объявлений процедур и функций.


Порядковые типы данных

Типы данных

Порядковыми (ordinal) типами называются те, в которых значения упорядочены и для каждого из них можно указать предшествующее и последующее значения. Для порядковых типов предопределен ряд функций:

Функция	Параметр	Возвращаемое значение	Замечания
Ord	Выражение порядкового типа	Порядковый номер значения данного выражения	Не воспринимает аргумент типа Int64
Pred	Выражение порядкового типа	Величина, предшествующая значению данного выражения	Нельзя использовать в свойствах, имеющих процедуру Write
Succ	Выражение порядкового типа	Величина, следующая для  значения данного выражения	Нельзя использовать в свойствах, имеющих процедуру Write
High	Идентификатор порядкового типа или переменная порядкового типа	Максимально возможное значение	Используется также для типов коротких строк и массивов
Low	Идентификатор порядкового типа или переменная порядкового типа	Минимально возможное значение	Используется также для типов коротких строк и массивов

Для порядковых типов определены также процедуры инкремента Inc и декремента Dec. Эти процедуры соответственно увеличивают или уменьшают на единицу порядковый номер своего аргумента.


Целые типы данных

Типы данных

Целые типы данных используются для представления целых чисел. Они относятся к целым порядковым типам. Ниже приведена таблица, в которой перечисляются эти типы для Delphi 5 и даются диапазоны их изменений.

Тип	Диапазон значений	Требования к памяти в байтах	Знаковый  (может ли хранить отрицательные числа)
Byte	0  255	1	нет
Word	0  65535	2	нет
ShortInt	-128  127	1	да
SmallInt	-32768  32767	2	да
Cardinal	0  4294967295	4	нет
Integer	-2147483648  2147483647	4	да
LongInt	-2147483648  2147483647	4	да
Int64	-263  263 - 1	8	да

Родовыми типами (т.е. обеспечивающими максимальную производительность) среди перечисленных являются Integer и Cardinal. В настоящий момент тип Integer эквивалентен типу LongInt, но в последующих версиях это может быть изменено.

Приведенные в таблице затраты памяти могут изменяться от версии к версии и от системы к системе. Поэтому, если требуется достоверно знать затраты памяти для того или иного типа, следует пользоваться функцией SizeOf.


Действительные типы данных

Типы данных

Действительные типы данных предназначены для хранения чисел, имеющих дробную часть. Ниже приведена таблица, в которой перечисляются эти типы для Delphi 5 и даются диапазоны их изменений.

Тип	Диапазон значений	Число значащих разрядов	Требования к памяти в байтах
Real48	2.910–39  1.71038	11–12	6
Real	5.010-324  1.710308	15–16	8
Single	1.510-45  3.41038	7–8	4
Double	5.010-324  1.710308	15–16	8
Extended	3.610-4932  1.1104392	19–20	10
Comp	-263  262	19–20	8
Currency	–922337203685477.5808    922337203685477.5807	19–20	8
Родовым (т.е. обеспечивающим максимальную производительность) является тип Real, который в настоящий момент эквивалентен типу Double, но в последующих версиях это может быть изменено.

Наименьшую производительность обеспечивает тип Real48, сохраняемый только для обратной совместимости с более ранними версиями языка.

Тип Extended обладает максимальной точностью, но могут возникать проблемы с его переносимостью на другие платформы.

Тип Comp является, строго говоря, большим целым, а не действительным числом, но отличается от целого, например, тем, что к нему нельзя применять функции инкремента и декремента. Этот тип оставлен только для обратной совместимости с более ранними версиями языка, поскольку его возможности перекрываются целым типом Int64.

Тип Currency используется для представления денежных величин. В памяти он хранится как масштабированное в 10000 раз 8-байтовое целое. Благодаря этому при операциях с величинами типа Currency минимизируются ошибки округления, что очень важно для денежных расчетов. В выражениях, в которых смешаны величины типа Currency с величинами других действительных типов, значения Currency автоматически умножаются или делятся на 10000.

Приведенные в таблице затраты памяти могут изменяться от версии к версии и от системы к системе. Поэтому, если требуется достоверно знать затраты памяти для того или иного типа, следует пользоваться функцией SizeOf.


Булевы типы данных

Типы данных

Переменные булевых типов данных представляют логические значения, например, true (истина) и false (ложь). Булевы типы относятся к целым порядковым типам. Ниже приведена таблица, в которой перечисляются эти типы для Delphi 5. Столь большое число одинаковых по смыслу типов связано с желанием обеспечить совместимость Delphi с другими системами. Предпочтительнее всегда использовать тип Boolean, кроме обращений к каким-нибудь процедурам, явным образом требующим другой тип.

Тип	Значения	Требования к памяти  в байтах
Boolean	Булева величина в один байт	1
ByteBool	Булева величина в один байт	1
WordBool	Булева величина в одно слово	2
LongBool	Булевская величина в два слова	4
Предопределенные в языке константы true и false обладают в разных булевых типах несколько разными свойствами, которые просуммированы в приведенной ниже таблице.

тип Boolean	типы ByteBool, WordBool, LongBool
false < true	false <> true
Ord(false) = 0	Ord(false) = 0
Ord(true) = 1	Ord(true) <> 0
Succ(false) = true	Succ(false) = true
Pred(true) = false	Pred(false) = true

В отличие от некоторых других языков, Object Pascal не позволяет трактовать целое значение как булеву величину. Поэтому, например, если X - целая переменная, то оператор

if X then ...

будет воспринят компилятором как синтаксическая ошибка.

Для булевых типов определены булевы операции: and (И), or (ИЛИ),not (НЕ, отрицание) и xor (исключающее ИЛИ). Использование этих операций расширяет возможности по формированию сложных условий в ряде операторов.


Символьные типы данных

Типы данных

Символьные типы предназначены для хранения одного символа. Они относятся к целым порядковым типам. Ниже приведена таблица символьных типов. Наличие двух разных типов - ANSIChar и WideChar связано с двумя различными множествами символов - ANSI, каждый символ которого занимает 1 байт, и Unicode, каждый символ которого занимает 2 байта. Первые 256 символов в этих множествах одинаковы и соответствуют символам ASCII от 0 до 255.

Тип	Размер в байтах	Что может хранить
ANSIChar	1	Один символ ANSI
WideChar	2	Один символ Unicode
Char	1	Сейчас эквивалентен ANSIChar. В будущих версиях Delphi может быть будет эквивалентен WideChar.
Родовым (т.е. обеспечивающим максимальную производительность) является тип Char, который в настоящий момент эквивалентен типу ANSIChar, но в последующих версиях это может быть изменено. Именно тип Char имеет смысл использовать во всех случаях, кроме обращений к функциям, требующим другой тип символьных данных.

Приведенные в таблице затраты памяти могут изменяться от версии к версии и от системы к системе. Поэтому, если требуется достоверно знать затраты памяти для того или иного типа, следует пользоваться функцией SizeOf.

Для символьного типа предопределена функция Chr, возвращающая символ любого целого значения в пределах AnsiChar или WideChar. Например, Chr(65) возвращает букву "A". Поскольку символьные типы относятся к порядковым, для них предопределены такие функции и процедуры, как Ord, Pred, Succ, Inc, Dec и др. Функция Ord, возвращающая номер символа, противоположна по смыслу функции Chr. Т.е. Ord(Chr(65)) вернет 65, а Chr(Ord('A')) вернет символ "A".


Типы строк

Типы данных

Строки представляют собой последовательность символов. Ниже приведена таблица типов строк.

Тип строки	Максимальная длина	Используется для	Нулевой символ  в конце
ShortString	255	обратной совместимости	нет
AnsiString	231 (2 Гб)	символов ANSI	есть
String	или 255, или до 2 Гб	символов ANSI или Unicode	есть или нет
WideString	230 (1 Гб)	символов Unicode, в серверах COM и интерфейсах	есть
Родовым является тип String, который имеет разный смысл в зависимости от директивы компилятора $H. Если включена директива {$H+} (она включена по умолчанию), то String интерпретируется компилятором как тип AnsiString - длинная строка с нулевым символом в конце. Если же включить директиву {$H-}, то String интерпретируется компилятором как тип ShortString - короткая строка без нулевого символа в конце. Если в объявлении типа после ключевого слова String следует число символов в квадратных скобках (например, String[4]), то, независимо от директив компилятора, тип трактуется как строка без нулевого символа в конце с указанным числом символов.

Стандартная функция Length возвращает число символов в строке, переданной ей в качестве параметра. Процедура SetLength устанавливает длину строки.

Для строк определены операции сравнения > , <, = и т.п. Если сравниваются строки разной длины, то большей считается более длинная строка. Если сравниваются строки одинаковой длины, то принимаются в расчет символы в одинаковых позициях - сравниваются коды этих символов.

Со строками можно оперировать как с индексированными массивами символов. Например, S[i] - это символ, расположенный в строке в позиции i (индексы отсчитываются от 1, т.е. индекс 1 соответствует первому символу). Для строк типа ShortString или AnsiString выражение S[i] имеет тип AnsiChar, для строк типа WideString - WideChar.

Сцепление (конкатенация) строк осуществляется операцией "+". Например, выражение S1+S2 даст в результате строку, в которой после символов строки S1 будут расположены символы строки S2.

Строки разных типов могут присваиваться друг другу и смешиваться в одном выражении. Компилятор при этом осуществляет автоматическое приведение типов. Но строки, передаваемые как параметры в функции и процедуры, должны иметь тип, указанный в объявлениях этих функций и процедур. В этих случаях надо использовать операцию явного приведения типов или другие приемы программирования.

Типы строк можно классифицировать по двум признакам: длинные или короткие строки и строки, использующие или не использующие нулевой символ в конце. При работе со строками с нулевым символом в конце часто используют специальные типы указателей: PChar и PWideChar.

Все сказанное относится к Delphi 5. В Delphi 1 имеются существенные отличия: отсутствие типов длинных строк и отсутствие приведения типов строк, использующих и не использующих нулевой символ в конце. Поэтому для преобразования типов строк надо использовать специальные функции: StrPas StrPCopyStrPLCopy.


Различия между длинными и коротким строками

Длинные (AnsiString)и короткие (ShortString) строки различаются прежде всего организацией хранения их в памяти. Строки типа ShortString хранят в своем нулевом байте число символов в строке, а в последующих байтах - сами символы (не более 255). Поэтому, если S - строка типа ShortString, то Ord(S[0]) возвращает длину строки, т.е. то же значение, которое возвращает функция Length(S). Соответственно присваивание значения S[0] эквивалентно вызову функции SetLength, устанавливающему длину строки.

Размещение в памяти длинных строк отличается от рассмотренного выше для коротких строк. Переменная типа AnsiString является указателем на динамически выделяемую область памяти, в которой хранится строка. Поэтому может быть несколько переменных, ссылающихся на одно и ту же строку. В этом случае в памяти хранится только один экземпляр строки, сто позволяет экономить ресурсы. Если длина строки равна 0, то этот указатель равен nil и память под строку не выделяется. Если же строка не пустая, то в выделенной для нее области памяти хранится сама строка, ее длина и число ссылок на данную строку (число переменных, ссылающихся на данную строку). Если переменной типа AnsiString присваивается новое значение, то число ссылок в прежней строке уменьшается на 1, а в новой - увеличивается на 1. Если число ссылок на строку становится равным 0, то строка уничтожается, освобождая место в памяти. Если с помощью индексного обращения в строке изменяется один символ, то строка копируется только в том случае, если число ссылок на нее больше 1. Все это позволяет эффективно использовать память.


Строки, использующие и не использующие нулевой символ в конце

Типы строк делятся на использующие и не использующие нулевой символ в конце. В настоящее время тип ShortString без нулевого символа в конце поддерживается в Object Pascal только для обеспечения обратной совместимости с более ранними версиями языка. А основным типом строк становятся строки с нулевым символом в конце. Связано это с тем, что этот вид строк поддерживается такими языками программирования, как C и С++, а также API Windows и многими другими системами. Строки с нулевым символом в конце представляют собой массивы символов с индексами, начинающимися с 0. В массиве хранятся символы строки и в конце нулевой символ (#0), указывающий на окончание строки. Таким образом, тип строки с нулевым символом в конце может, например, объявляться как AnsiString, а может объявляться как статический массив символов, например:

type TS = array[0..15] of Char;

Если значение переменной строки с нулевым символом в конце инициализируется при ее объявлении, то после значащих символов остальные элементы массива надо инициализировать символами #0. Например:

const SHello: array[0..7] of Char = 'Привет!'#0;

Этого не надо делать в операторах присваивания. Например:

SHello := 'Привет!';

Отметим, что ту же самую типизированную константу SHello можно было бы с тем же успехом объявить следующим образом:

const SHello: AnsiString = 'Привет!';

При работе со строками с нулевым символом в конце часто используют специальные типы указателей: PChar и PWideChar.


Указатели PChar и PWideChar

Типы данных

При работе со строками с нулевым символом в конце часто используют специальные типы указателей: PChar и PWideChar, которые являются указателями соответственно на массивы с элементами типов Char и WideChar с нулевым символом в конце. Переменные этих типов часто требуется передавать в различные функции и процедуры в качестве параметров. К тому же, типы PChar и PWideChar существенно упрощают коды. Дело в том, что эти типы совместимы со строковыми константами. Например, объявление и использование переменной типа PChar может иметь вид:

var P: PChar;

...

P := 'Привет!';

Это эквивалентно операторам

const SHello: array[0..7] of Char = 'Привет!'#0;

var P: PChar;

 ...

P := @SHello;

но, конечно, гораздо короче.

Совместимость указателей типов PChar и PWideChar со строковыми константами позволяет в вызовах функций и процедур с параметрами соответствующих типов использовать просто строки символов. Например, если некоторая процедура F требует параметр типа PChar, то обратиться к ней можно так:

var P: PChar;

...

P := 'Привет!';

F(P);

или так:

F('Привет!');

Указатели типов PChar и PWideChar могут индексироваться точно ток же, как строки и массивы символов. Например, P[0] - это первый символ строки, на которую указывает P.

В выражениях, операторах присваивания и при передаче параметров в функции и процедуры можно смешивать длинные строки (AnsiString) и строки с нулевым символом в конце типа PChar. Но иногда требуется явное приведение типа PChar к типу длинной строки. Например, операция склеивания (конкатенации) строк требует, чтобы хотя бы один ее операнд бал типа строки. Если же требуется склеить два объекта типа PChar, то это надо сделать с помощью приведения типа:

S := string(P1) + string(P2);


Перечислимые типы

Типы данных

Перечислимые типы определяют упорядоченное множество идентификаторов, представляющих собой возможные значения переменных этого типа. Вводятся эти типы для того, чтобы сделать код более понятным. В частности, многие типы Delphi являются перечислимыми, что упрощает работу с ними, поскольку дает возможность работать не с абстрактными числами, а с осмысленными значениями.

Пусть, например, в программе должна быть переменная Mode, в которой зафиксирован один из возможных режимов работы приложения: чтение данных, их редактирование, запись данных. Можно, конечно, дать переменной Mode тип Word и присваивать этой переменной в нужные моменты времени одно из трех условных чисел: 0 - режим чтения, 1 - режим редактирования, 2 - режим записи. Тогда программа будет содержать операторы вида

if (Mode = 1) then ...

Через некоторое время уже забудется, что означает значение Mode, равное 1, и разбираться в таком коде будет очень сложно. А можно  поступить иначе: определить переменную Mode как переменную перечислимого типа и обозначить ее возможные значения как mRead, mEdit, mWrite. Тогда приведенный выше оператор изменится следующим образом:

if (Mode = mEdit) then ...

Конечно, такой оператор понятнее, чем предыдущий.

Переменная перечислимого типа может определяться предложением вида:

var <имя переменной> : (<значение 1>, ..., < значение n>);

Например

var Mode : (mRead, mEdit, mWrite);

Если переменная определена так, то ей можно присваивать указанные значения, можно проверять ее величину, сравнивая с возможными значениями. Кроме того, надо учитывать, что перечислимые типы относятся к целым порядковым типам и к ним применимы любые операции сравнения (>, < и т.п.), а также процедуры и функции, определенные для порядковых типов.

Однако, если возможные значения типа определены, как указано выше, в переменной при ее объявлении, то нельзя будет ввести другую переменную с теми же значениями. Если такая потребность имеется, то перечислимый тип надо определять именно как тип:

type <имя типа> = (<значение 1>, ..., < значение n>);

Тогда можно ввести в программе несколько переменных этого типа. Например:

type TMode : (mRead, mEdit, mWrite);

var Mode1, Mode2 : TMode;


Ограниченные типы

Типы данных

Для порядковых типов можно задать поддиапазон их возможных значений для вводимого вами типа или переменной - это и будет ограниченный тип. Задается диапазон значений ограниченного типа выражением вида

<минимальное значение>..<максимальное значение>

Например:

var	Letter :  'a'..'z';

Num : 1..12;

type 	Caps = 'A'..'Z';

В этих примерах переменная Letter может принимать только символы латинских букв в нижнем регистре, переменная Num - только целые числа в диапазоне 1  12 (это могут быть, например, номера месяцев), переменные, чей тип будет объявлен как Caps будут принимать только символы латинских букв в верхнем регистре.

Ограниченные типы используются, например, при объявлениях размеров массивов. Но они могут использоваться и самостоятельно. В компиляторе Object Pascal имеется опция, позволяющая включить проверку диапазона при присваивании значения переменной ограниченного типа. Это опция {$R+}. Вы можете ее включить в том месте вашей программы, где вы хотите начать проверку диапазона, и выключить проверку, где захотите, опцией {$R-}. Можно также включить опцию проверки в окне Project Options на странице Compiler. Это надежнее, так как опция {$R+} срабатывает только при ошибках диапазона, очевидных для компилятора, а установка опции проверки диапазона в окне Project Options действует в процессе выполнения (в режиме отладки) и при попытке присвоить переменной ограниченного типа значение, выходящее за пределы заданного поддиапазона, генерирует сообщение "Range check error".

Таким образом, введение ограниченных типов является неплохим средством отладки.


Множества

Типы данных

Множество - это группа элементов, которая ассоциируется с ее именем и с которой можно сравнивать другие величины, чтобы определить, принадлежат ли они этому множеству. Один и тот же элемент не может входить в множество более одного раза. Как частный случай, множество может быть пустым.

Множества определяется перечислением его элементов, заключенным в прямоугольные скобки. Такая форма определения называется конструктором множества. Например, если множество возможных единичных символов, которые могут быть получены в ответ на вопрос программы "Yes/No", содержит символы "y", "Y", "n" и "N", то это множество можно описать таким конструктором:

['y','Y','n','N']

Для определения, принадлежит ли переменная множеству, служит операция in. В предыдущем примере проверить, дал ли пользователь один из допустимых ответов, можно оператором:

if (key in ['y','Y','n','N'])
  then  <оператор, выполняемый при допустимом ответе>

Множества могут содержать не только отдельные значения, но и ограниченные типы. Например, если вы хотите контролировать символы, вводимые пользователем при вводе целого положительного или отрицательного числа, вы можете определить множество ['0'..'9', '+', '-'] и использовать его, например, при обработке события OnKeyPress какого-то окна редактирования:

If not(Key in ['0'..'9', '+', '-']) then Key:=#0;

Подобный оператор не позволяет пользователю ввести какие-то символы, отличные от имеющихся в множестве.

В приведенных операторах множество заранее не объявлялось в виде типа. Но если, например, в приложении в ряде мест надо проводить проверки, аналогичные приведенным выше, то целесообразнее объявить переменную или типизированную константу типа множества или тип множества и несколько переменных этого типа. Объявление типа множества делается в форме set of <базовый тип>. Приведем примеры.

Объявление глобальной переменной с инициализацией (в Delphi 1 это не допускается):

var K: set of Char=['0'..'9', '+', '-'];

...

if (key in K) then ...

Объявление типизированной константы:

const K: set of Char=['0'..'9', '+', '-'];

Объявление типа множества и переменных этого типа:

type TDigit = set of '0'..'9';

var D1, D2: TDigit;

...

D1:=['0','1'];

D2:=['2'..'9'];

Помимо операции in для множеств определен еще ряд операций: объединение, пересечение, операции отношения и ряд других.


Тип variant

Пример Типы данных

В переменных типа variant могут храниться данные любых типов, кроме записей, множеств, статических массивов, файлов, классов, ссылок на классы, указателей и Int64. Иначе говоря, переменные типа variant могут хранить все, кроме структур, указателей и Int64. Они могут также хранить объекты COM и CORBA, обеспечивая доступ к их методам и свойствам. Могут они также хранить динамические массивы и массивы variant.

Тип variant имеет смысл использовать в тех случаях, когда тип того или иного объекта заранее не известен или когда какие-то функции и процедуры требуют именно такой тип аргументов. При этом надо иметь в виду, что затраты памяти и времени на работу с переменными типа variant больше, чем при работе с обычными типами. К тому же? недопустимые операции с переменными типа variant приводят к ошибкам времени выполнения, тогда как аналогичные недопустимые операции с переменными других типов выявляются на этапе компиляции.

Переменные типа variant занимают 16 битов и содержат код типа и значение переменной или указатель на это значение. В момент создания эти переменные инициализируются специальным значением Unassigned. Значение переменной null свидетельствует о неизвестном или ошибочном значении переменной.

Переменные типа variant могут использоваться в выражениях как операнды любых операций, кроме ^, is и in, совместно с другими величинами типов variant, integer, real, string, boolean. Компилятор в этих случаях автоматически осуществляет приведение  типов величин в выражении. Если оба операнда операции имеют тип variant и один или оба операнда равны null, то результат операции тоже равен null. Если один или оба операнда имеют значение Unassigned, то генерируется исключение. Если в бинарной операции только один из операндов имеет тип variant, то другой тоже преобразуется в тип variant.

Приведение типов при вычислении выражений, содержащих операнды variant, осуществляется обычным образом. Например, если V1 и V2 типа variant содержат данные типов integer и real, то выражение V1 + V2 вернет значение real.

Узнать действительный тип значения переменной variant можно с помощью функции VarType, возвращающей значение типа TVarData, содержащее код типа.


Пример использования типа variant

Если определить тип переменной V как variant, то могут выполняться такие операторы:

V: variant; 	// тип V не определен (равен Unassigned)

...

V := 5;	// тип V становится равным integer

...

V := 1e10; 	// тип V становится равным real

...

V := Edit1.Text; 	// тип V становится равным string


Указатели

Типы данных

Указатель является величиной, указывающей на некоторый адрес в памяти, где хранятся какие-то данные. указатели бывают типизированные, указывающие на данные определенного типа, и не типизированные (типа pointer), которые могут указывать на данные произвольного типа. Чаще всего указатели используются для работы с объектами в динамически распределяемой области памяти, особенно при работе с записями.

В Object Pascal имеется ряд предопределенных типов указателей. Это прежде всего типы указателей на строки: PAnsiChar и PWideChar, представляющие собой соответственно указатели на значения AnsiChar и WideChar. Имеется также родовой тип PChar, определяющий указатель на Char (т.е. пока указывающий на AnsiChar). Эти указатели используются при работе со строками с нулевым символом в конце.

Тип указателя	Тип переменной, на которую указывает указатель
PAnsiString, PString	AnsiString
PByteArray	ByteArray (объявлен в модуле SysUtils). Используется для доступа к динамически размещаемым массивам
PCurrency	Currency
PExtended	Extended
POleVariant	OleVariant
PShortString	ShortString
PTextBuf	TextBuf (объявлен в модуле SysUtils). Внутренний тип буфера в записи файлов TTextRec
PVarRec	TVarRec (объявлен в модуле System)
PVariant	Variant
PWideString	WideString
PWordArray	TWordArray (объявлен в модуле SysUtils). Используется для доступа к динамически размещаемым массивам 2-байтных величин

Объявление своего типизированного указателя на любой тип имеет вид:

type <имя типа указателя> = ^<тип данных>;

Имеется предопределенная константа nil, которая обычно присваивается указателям, которые в данный момент ни на что не указывают.

Чтобы получить доступ к данным, на которые указывает типизированный указатель, надо применить операцию его разыменования. Она записывается с помощью символа ^, помещаемого после указателя.

Операция разыменования не применима к указателям типа pointer. Чтобы разыменовать указатель pointer, надо сначала привести его к другому типу указателя


файлы
Типы файлов

Типы данных

Различают файлы трех видов: текстовые файлы, типизированные файлы и не типизированные файлы.

Текстовые файлы состоят из последовательностей символов, разбитых на строки. В Object Pascal предопределен тип TextFile, соответствующий текстовому файлу. Таким образом, объявление файловой переменной может иметь вид:

var <имя файловой переменной>: TextFile;

Работа с текстовыми фалами осуществляется процедурами и функциями файлового ввода/вывода. Основные процедуры чтения - Read, Readln, Write и Writeln.

Типизированные файлы являются двоичными файлами, содержащими последовательность однотипных данных. Объявление файловых переменных таких файлов имеет вид:

var <имя файловой переменной>: file of <тип данных>;

Например:

var F: file of real;

Процедуры чтения и записи Read и Write не отличаются от соответствующих процедур для текстовых файлов. Процедур, аналогичных Readln и Writeln, для типизированных файлов нет. Зато есть процедура Seek, позволяющая перемещаться по файлу не только последовательно, как в текстовых файлах, но сразу переходить к требуемому элементу. Имеется также функция FilePos, которая возвращает текущую позицию в файле.

Не типизированные файлы - это двоичные файлы, которые могут содержать самые различные данные в виде последовательности байтов. Программист при чтении этих данных сам должен разбираться, какие байты к чему относятся.

Тип файловой переменной не типизированного файла объявляется следующим образом:

var <имя файловой переменной>: file;

Открытие не типизированных фалов осуществляется процедурами Reset и Rewrite, синтаксис которых несколько отличен от аналогичных процедур для других видов файлов тем, что в этих процедурах указывается размер одной записи в байтах. Вместо процедур записи и чтения Read и Write в не типизированных файлах имеются процедуры BlockRead и BlockWrite, которые читают или записывают указанное в них число записей.


Записи

Типы данных

Запись (record), называемая в некоторых языках структурой, представляет собой объединенный общим именем набор данных различных типов. Отдельные данные записи называются полями. Все это напоминает запись в базе данных, только хранящуюся в оперативной памяти компьютера.

Тип записи объявляется следующим образом:

type

 <имя типа> = record

  <список имен полей> : <тип>;

  ...

  <список имен полей> : <тип>;

 end;

Например:

type

 TPers= record

  Fam,Name,Par : String[15];

  Year         : Integer;

  Sex          : boolean;

  Dep          : string[10]

 end;

Когда определен тип записи, можно определить переменные этого типа. Например:

var Pers, Pers1 : TPers;

Можно объявлять запись и непосредственно в объявлении переменной, не прибегая к объявлению типа:

var <имя переменной> = record

     <список имен полей> : <тип>;

     ...

     <список имен полей> : <тип>;

    end;

Доступ к отдельным полям записи осуществляется указанием на соответствующую переменную типа записи и после символа точки "." - имя поля. Например:

Pers.Fam:= 'Иванов';

При групповых операциях с полями удобно использовать оператор With..do , позволяющий не указывать перед каждым полем имя переменной типа записи.

Могут быть определены более сложные записи с вариантной частью. Основная цель указания вариантной части - экономия памяти. Синтаксис такого объявления следующий:

type <имя типа записи> = record

       <список имен полей> : <тип>;

       ...

       <список имен полей> : <тип>;

       case <тег>: <порядковый тип> of

         <список констант>: (<вариант 1>);

         ...

         <список констант>: (<вариант 2>);

     end;

Первая часть этого объявления до ключевого слова case не отличается от того, что было описано ранее. За словом case следует не обязательный элемент <тег> - произвольный допустимый идентификатор. Он вводится только для удобства и может быть пропущен вместе с последующим двоеточием. Затем указывается любой порядковый тип. После слова of следуют строки со списками констант типа, указанного как <порядковый тип>, завершающиеся двоеточиями. И после двоеточия в круглых скобках с завершающей точкой с запятой (не обязательно) записываются поля соответствующего варианта. Эти поля представляются в той же форме, как и основные поля структуры:

<список имен полей> : <тип>;

...

<список имен полей> : <тип>;

В полях вариантов нельзя использовать типы длинных строк, динамических массивов, variant, а также структуры, содержащие поля этих типов.

Тег и списки констант вводятся просто для удобства программирования. Никакой смысловой нагрузки они не несут, а просто помогают разобраться, к чему относится каждый вариант. Константы в списках не должны повторяться.

Поля различных вариантов размещаются в одной и той же области памяти, перекрывая друг друга. Размер этой перекрываемой области компилятор выбирает по размеру, необходимому для наиболее объемного варианта.

В записи могут быть поля, содержащие указатели на другие аналогичные запись. Такие записи называются само адресуемыми и используются для организации в динамически распределяемой области памяти списков структур. Пример такой само адресуемой структуры.

Type trec=^rec;

     rec=record

      in1,in2:word ;

      s:string[10];

      pr:trec

     end;

Подобное описание является исключением из общего правила языка Pascal, по которому нельзя использовать в предложениях еще не объявленные типы и переменные. В данном случае первое предложение объявляет тип trec как указатель на структуру типа, объявленного после этого. Сразу за этим предложением следует объявление самой структуры. В этом объявлении имеется поле pr, представляющее собой указатель на структуру аналогичного вида.


Массивы

Типы данных

Массив представляет собой структуру данных, позволяющую хранить под одним именем совокупность данных любого, но только одного какого-то типа. Массив характеризуется своим именем, типом хранимых элементов, размером (числом хранимых элементов), нумерацией элементов и размерностью.

Различают массивы статические, размеры которых устанавливаются в момент их объявления, и динамические, размеры которых могут изменяться во время выполнения.

В функции или процедуры можно передавать в качестве параметров как массивы фиксированного размера, так и открытые массивы, размер которых неизвестен. Кроме того можно передавать открытые массивы констант, содержащие значения различных типов.

Для массивов определен ряд операций и функций.


Статические массивы

Массивы

Объявление переменной как статического массива имеет вид:

var <имя>: array [<ограниченный тип>,...] of <тип элементов>;

Например:

var A: array [1..10] of integer;      {одномерный массив}

Var A2: array[1..10,1..3] of integer; {двумерный массив}

{массив с индексом перечислимого типа:}

Type color=(red,yellow,green);

var ACol: array [color] of integer;

Var Ch: array ['a'..'z'] of char;     {массив символов}

Доступ к элементам массива осуществляется по индексам. Например, A[i] или A2[4,3].

Массивы символов эквивалентны строкам и с ним можно во многом обращаться как со строкой.

Объявление переменной типа массива можно совмещать с заданием элементам массива начальных значений. Эти значения перечисляются после знака равенства, разделяются запятыми и заключаются в круглые скобки. Например:

Var A1:array[0..10] of integer = (1,2,3,4,5,6,7,8,9,10,11);

или  аналогичное объявление типизированной константы:

Const A1:array[0..10] of integer = (1,2,3,4,5,6,7,8,9,10,11);

Для массивов символов можно использовать задание начальных значений как по элементам, так и сразу всей строке. Например, объявления

Const S:array[0..3] of char = ('A','B','C','D');

и

Const S:array[0..3] of char = 'ABCD';

эквивалентны друг другу.

Следующий пример показывает задание начальных значений многомерного массива:

type Ar3 = array[1..4,1..3,1..2] of integer;
var A1,A2: Ar3;
const A3: Ar3=(((0,1),(2,3),(4,5)),
               ((6,7),(8,9),(10,11)),
               ((12,13),(14,15),(16,17)),
               ((18,19),(20,21),(22,23)));

При задании начальных условий список значений по каждой размерности заключается в скобки.


Динамические массивы

Массивы

Динамические массивы введены в Object Pascal только начиная с Delphi 5. Они отличаются от обычных статических массивов тем, что в них не объявляется заранее длина - число элементов.

Объявление динамического массива содержит только его имя и тип элементов - один из базовых типов. Синтаксис объявления:

<имя> array of <базовый тип>

Например

var A: array of integer;

объявляет переменную A как динамический массив целых чисел.

Могут быть объявлены и многомерные динамические массивы.

При объявлении динамического массива место под него не отводится. Прежде, чем использовать массив, надо задать его размер процедурой SetLength. В качестве аргументов в нее передаются имя массива и целое значение, характеризующее число элементов. Например

SetLength(A,10);

выделяет для массива A место в памяти под 10 элементов и задает нулевые значения всех элементов.

Индексы динамического массива - всегда целые числа, начинающиеся с 0. Таким образом, в приведенном примере массив содержит элементы от A[0] до A[9].

Повторное применение SetLength к уже существующему в памяти массиву изменяет его размер. Если новое значение размера больше предыдущего, то все значения элементов сохраняются и просто в конце добавляются новые нулевые элементы. Если же новый размер меньше предыдущего, то массив усекается и в нем остаются значения первых элементов.

Впрочем, усечение динамического массива лучше проводить функцией Copy, присваивая ее результат самому массиву. Например, оператор

A := Copy(A, 0, 3);

усекает динамический массив A, оставляя неизменными первые три его элемента.

Если динамический массив уже размещен в памяти, к переменной этого массива можно применять стандартные для массивов функции Length - длина и High - наибольшее значение индекса. Если массив имеет нулевую длину, то High возвращает –1.

Сама переменная динамического массива является указателем на начало массива. Если место под массив еще не выделено, значение переменной равно nil. Но это не совсем обычный указатель. Его нельзя разыменовывать операцией ^, нельзя передать в процедуры New и Dispose.

Удалить из памяти динамический массив можно одним из следующих способов: присвоить ему значение nil, использовать функцию Finalize или установить нулевую длину. Таким образом, эквивалентны следующие операторы:

A := nil;

Finalize(A);

SetLength(A,0);

Для динамических массивов определена операция присваивания и операция сравнения. В ней сравниваются только сами указатели, а не значения элементов массивов. Таким образом, выражение A = B вернет true только в случае, если и A и B указывают на один и тот же массив. А вот выражение A[0] = B[0] сравнивает значения первых элементов двух массивов.

Динамические массивы могут передаваться в качестве параметров в те функции и процедуры, в описаниях которых параметр объявлен как открытый массив. Например, функция

function CheckStrings(A: array of string): Boolean;

может работать в равной степени и со статическими, и с динамическими массивами.


динамические массивы
Многомерные динамические массивы

Пример см.также

Многомерный динамический массив определяется как динамический массив динамических массивов динамических массивов и т.д. Например:

var A2: array of array of integer;

определяет двумерный динамический массив.

Один из способов отвести память под такой массив - использовать процедуру SetLength и передать ей в качестве параметров несколько размеров. Например, оператор

SetLength(A2,3,4);

задает размерность массива 3 на 4.

Можно создавать и непрямоугольные массивы, в которых, например, второй размер не постоянен и варьируется в зависимости от номера строки. В этом случае сначала процедурой SetLength задается первый размер. Например, оператор

SetLength(A2,3);

задает первый размер - 3. В памяти отводится место под 3 строки - 3 динамических массива A2[0], A2[1]  и A2[2]. Размеры каждого из этих массивов еще не определены. Далее можно, например, задать размер первого из них равным 4:

SetLength(A2[0],4);

а размер следующего, например, равным 5:

SetLength(A2[1],5);


Пример многомерного динамического массива

Массивы

Приведена программа построения и заполнения нижней треугольной матрицы произвольного размера N.

var A2: array of array of integer;
    N,i1,i2,m: integer;
begin
 N:=3;

 m:=1;

 SetLength(A2,N);          {Задание числа строк = N}

 for i1:=0 to N do         {Цикл по строкам}

  begin

   SetLength(A2[i1],i1+1); {Число столбцов равно номеру строки}

   for i2:=0 to i1 do

    begin

     A2[i1,i2]:=m;         {Заполнение строки}

     Inc(m);               {Увеличение m на 1}

    end;

  end;
end;

Программа формирует двумерный массив, в котором число строк равно значению N, а число столбцов в каждой строке равно номеру строки.


Операция присваивания для массивов

Массивы

Для массивов одного типа определена операция присваивания. Например, если массивы объявлены как

var A,B:array[1..3] of integer;

то в результате выполнения оператора

A := B;

значения элементов массива B присвоятся соответствующим элементам массива A. Прежние значения элементов A будут затерты. Таким образом, произойдет копирование B в A. Сами массивы при этом останутся самостоятельными и в дальнейшем их элементы могут изменяться независимо друг от друга.

Аналогично будет работать оператор присваивания, если переменные массивов объявлены следующим образом:

type Ar=array[1..3] of integer;

var A:Ar;
B:Ar;

Но если объявить массивы следующим образом:

var A: array[1..3] of integer;
B: array[1..3] of integer;

то при попытке присваивания A:=B компилятор выдаст синтаксическую ошибку с сообщением "Incompatible types" - несовместимые типы. Дело в том, что компилятор считает, что переменные имеют один тип только в случаях, если они явным образом определены через некоторый поименованный тип, как сделано во втором примере, или если они объявлены в одном списке, как это имеет место в первом примере. А в третьем примере ни то, ни другое условие не соблюдается.

Для динамических массивов присваивание возможно, если массивы A и B определены как переменные одного типа и размер массива A не меньше размера массива B или A = nil. А содержимое массива A при этом теряется.


Операции и функции массивов

Массивы

Для массивов определена операция присваивания, определены функции Length, High и Low, позволяющие соответственно найти число элементов массива, а также максимальное и минимальное значения индекса. Эти функции целесообразно применять к открытым и динамическим массивам.

Для числовых массивов определены также функции MaxIntValue, MinIntValue, MaxValue, MinValue, Sum, позволяющие найти минимальное и максимальное значения элементов массива и сумму элементов.

К символьным массивам применимы функции работы со строками.


Массивы как параметры
Передача массивов как параметров

Пример см.также

При создании функции или процедуры работы с массивами в ее объявление нельзя включать описание индексов. Например, объявление

procedure MyProc(A: array[1..10] of Integer);

будет расценено как синтаксическая ошибка и вызовет соответствующее сообщение компилятора. Правильным будет объявление

type ta = array[1..10] of Integer;

procedure MyProc(A: ta);

Функции и процедуры в Object Pascal могут воспринимать в качестве параметров не только массивы фиксированного размера, но и так называемые открытые массивы, размер которых неизвестен. В этом случае в объявлении функции или процедуры они описываются как массивы базовых типов без указания их размерности. Например:

procedure SumArray(A:array of integer;
                   var B: array of integer);

При таком определении передаваемый в функцию первый массив будет копироваться и с этой копией - массивом A, будет работать процедура. Второй открытый массив определен как var. Этот массив передается по ссылке, т.е. он не копируется и процедура будет работать непосредственно с исходным массивом.

Массив, переданный как открытый, воспринимается в теле процедуры или функции как массив с целыми индексами, начинающимися с 0. Размер массива может быть определен функциями Length - число элементов и High - наибольшее значение индекса. Очевидно, что всегда High = Length - 1.

При вызове функции или процедуры с параметром в виде открытого массива можно использовать в качестве аргумента конструктор открытого массива, который формирует массив непосредственно в операторе вызова. Список элементов такого конструктора массива заключается в квадратные скобки, а значения элементов разделяются запятыми. Например, функцию Sum, суммирующую элементы числового массива, можно вызвать следующим образом:

Sum([1.2,4.45,0.1]);


Пример использования открытых массивов

Массивы

В качестве примера использования открытых массивов рассмотрим процедуру, которая принимает два открытых одинакового размера массива целых чисел, суммирует их и заносит результат во второй из переданных массивов.

procedure SumArray(A:array of integer;
                   var B: array of integer);
var i:word;
begin
 for i:=0 to High(A) do B[i]:=A[i]+B[i];
end;

Вызов этой процедуры может иметь вид:

var A1,A2: array [1..3] of integer;
begin
 <операторы заполнения массивов>
 SumArray(A1,A2);
end;

Обратите внимание на то, что массивы A и B, передаваемые в качестве аргументов, имеют значения индексов от 1 до 3, а процедура оперирует с индексами в диапазоне 0 - 2. Однако никакой путаницы не возникнет. Просто, например, элемент A[0] в теле процедуры будет соответствовать элементу A1[1] в массиве A1.


Параметры в виде открытых массивов констант

Пример см.также

Открытые массивы этого вида разрешают, в отличие от всех других массивов, передавать в процедуру или функцию массив различных по типу значений. При передаче такого массива он объявляется как array of const.

Такой массив является массивом структур типа TVarRec. Эти структуры могут содержать значения типов целых чисел, действительных чисел, булевские значения, символы, строки, указатели, классы и многое другое. Структуры имеют поле VType, указывающее тип каждого элемента массива. Передача некоторых типов, например, длинных строк, производится по ссылке через соответствующие указатели. Другие типы могут передаваться по значению.


Пример использования array of const

Пример создания функции, которая возвращает строку при передаче в нее аргументов типов строк, целых и действительных чисел, булевых величин:

function ToStr(A: array of const):string;

var i: integer;

begin

 Result := '';

 for i := 0 to High(A) do with A[i] do

  case VType of

   vtString:     Result := Result + VString^+' ';

   vtAnsiString: Result := Result + string(VAnsiString) +' ';

   vtPChar:      Result := Result + VPChar+' ';

   vtChar:       Result := Result + VChar;

   vtExtended:   Result := Result + FloatToStr(VExtended^)+' ';

   vtInteger:    Result := Result + IntToStr(VInteger)+' ';

   vtBoolean:    if VBoolean
                  then Result := Result + 'T'+' '

                  else Result := Result + 'F'+' ';

   vtObject:     Result := Result + VObject.ClassName+' ';

   vtClass:      Result := Result + VClass.ClassName+' ';

   vtCurrency:   Result := Result + CurrToStr(VCurrency^)+' ';

   vtVariant:    Result := Result + string(VVariant^)+' ';

   vtInt64:      Result := Result + IntToStr(VInt64^)+' ';

  end;

end;

Вызвать такую функцию можно, используя конструктор открытого массива, описанный в предыдущем разделе. Причем в этот конструктор вы можете включать элементы любой природы. Например, определив подобную функцию, вы можете написать в вашем приложении Delphi оператор:

Label1.Caption:=ToStr([Edit1.Left,Edit1.Top,Edit1.Text,
                       CheckBox1.Checked,Sender]);

В этом операторе вы передаете в функцию величины разных типов: целые значения (свойства Left и Top), строку (свойство Text), булевскую величину (свойство Checked), объект типа TObject (переменную Sender). А в результате в метке Label1 вы увидите текст вида

400 224 Иванов F TButton

Такая функция ToStr с открытым массивом типа array of const предоставляете широкие возможности для отладки приложения.


Классификация операций
Операции

Операции подобны встроенным функциям языка.

В сложных выражениях последовательность выполнения операций определяется скобками, старшинством операций и их ассоциативностью.

Можно выделить следующие группы операций:

Арифметические операции

Операции отношения

Булевы операции

Логические поразрядные операции

Операции со строками

Операции с указателями

Операции с множествами

Операции с классами

Операция @


Арифметические операции

Операции

Арифметические операции применяются к действительным и целым числам. Определены следующие бинарные арифметические операции:

Обозна- чение	Операция	Типы операндов	Тип результа та	Пример
+	сложение	integer, real	integer, real	X + Y
–	вычитание	integer, real	integer, real	X - Y
*	умножение	integer, real	integer, real	X * Y
/	деление действительных чисел	integer, real	real	X / Y
div	целочисленное деление	integer	integer	I div 2
mod	остаток целочисленного деления	integer	integer	I mod 6

Определены следующие унарные арифметические операции:

Обозна- чение	Операция	Типы операндов	Тип резуль тата	Пример
+	Унарный плюс (подтверждение знака)	integer, real	integer, real	+7
–	Унарный минус (изменение знака)	integer, real	integer, real	-X

Для арифметических операций действуют следующие правила.

Результат X/Y имеет тип Extended при любых допустимых типах операндов. Для остальных операций, если хоть один операнд имеет тип real, то результат имеет тип Extended; в противном случае если хотя бы один операнд имеет тип Int64, то результат тоже имеет тип Int64; в противном случае результат имеет тип integer.

Результат целочисленного деления X div Y равен результату деления X/Y, округленному в сторону нуля до ближайшего целого.

Операция mod возвращает остаток от целочисленного деления своих операндов, т.е. выражение X mod Y эквивалентно выражению X – (X div Y) * Y. Например, 8 div 4 вернет 0, 9 div 4 вернет 1 и т.д.


Операции отношения

Операции

Операции отношения используются при сравнении двух операндов. Они возвращают true - истина, если указанное соотношение операндов выполняется, и false - ложь, если соотношение не выполняется. Определены следующие операции отношения:

Обозна- чение	Операция	Типы операндов	Тип резуль тата	Пример
=	Равно	простые, множества, указатели, классы, ссылки классов, интерфейсы, строки, упакованные строки	Boolean	I = Max
<>	Не равно	простые, множества, указатели, классы, ссылки классов, интерфейсы, строки, упакованные строки	Boolean	X <> Y
<	Меньше чем	простые, строки, упакованные строки, PChar	Boolean	X < Y
>	Больше чем	простые, строки, упакованные строки, PChar	Boolean	Len > 0
<=	Меньше или равно	простые, множества, строки, упакованные строки, PChar	Boolean	Cnt <= I
>=	Больше или равно	простые, множества, строки, упакованные строки, PChar	Boolean	I >= 1

Операнды должны иметь совместимые типы, за исключением типов realи integer, которые могут сравниваться друг с другом.

Строки сравниваются по расширенным кодам множества символов ASCII. Символьный тип трактуется как строка единичной длины. Упакованные строки можно сравнивать друг с другом только при одинаковом числе символов. Если упакованная строка из n символов сравнивается с типом string, то она трактуется как строка длиной n.

Операции <, >, <= и >= можно применять к операндам PChar только если оба указателя указывают на один и тот же массив символов.

Операции = и <> могут применяться к операндам типа классов и ссылок на классы. В этом случае для классов C = D вернет true, только если C и D указывают на один и тот же объект класса. Применительно к ссылкам на классы C = D вернет true, только если C и D указывают  на один и тот же класс. Аналогичные правила действуют и при операндах типа указателей.


Булевы операции

Операции

Булевы операции принимают операнды булевых типов и возвращают результат тоже булевого типа.

Обозна- чение	Операция	Типы операндов	Тип резуль тата	Пример
not	Отрицание	Boolean	Boolean	not (C in MySet)
and	Логическое И	Boolean	Boolean	D and (T > 0)
or	Логическое ИЛИ	Boolean	Boolean	A or B
xor	Логическое исключающее ИЛИ	Boolean	Boolean	A xor B

Компилятор Delphi поддерживает два режима вычисления операций and и or: полный и сокращенный. В режиме полного вычисления все логическое выражение вычисляется до конца, даже если после вычисления первого операнда результат ясен. В режиме сокращенного вычисления расчет прерывается, как только результат ясен. Например, операция or дает результат true, если хотя бы один операнд равен true. Значит, если первый операнд равен true, то результат ясен и в режиме сокращенного вычисления расчет прервется без вычисления второго операнда.

Опция компилятора {$B–}, работающая по умолчанию, обеспечивает сокращенный режим вычисления, а опция {$B+} - полный. Режим полного вычисления можно также установить опцией Complete Boolean Evaluation в окне опций компилятора.


Логические поразрядные операции и
Логические поразрядные операции

Операции

Логические поразрядные операции работают с целыми числами и оперируют с их двоичными представлениями, т.е. работают с двоичными разрядами операндов.

Обозначение	Операция	Типы опера адов	Тип резу ль тата	Пример
not	поразрядное отрицание	целый	целый	not X
and	поразрядное И	целый	целый	X and Y
or	поразрядное ИЛИ	целый	целый	X or Y
xor	поразрядное исключающее ИЛИ	целый	целый	X xor Y
shl	поразрядный сдвиг влево	целый	целый	X shl 2
shr	поразрядный сдвиг вправо	целый	целый	Y shl I

Операции выполняются поразрядно. Например:

X	001101
Y	100001
X or Y	101101

При поразрядных операциях действуют следующие правила.

Результат операции not имеет тот же тип, что и ее операнд.

Результат операций and, or, xor имеет наименьший целый тип, включающий все возможные значения типов обоих операндов.

Выражения X shl Y и X shr Y сдвигают значение X влево или вправо на Y битов. Это эквивалентно умножению или делению X на 2Y. Результат имеет тот же тип, что X.


Операции со строками

Операции

Для строк определены операции отношения =, <>, <, >, <=, >=. Кроме того, определена еще одна операция - сцепление (конкатенация):

Обозна чение	Операция	Типы операндов	Тип результата	Пример
+	сцепление	строка, упакованная строка, символ	строка	S + S1 + '. '

Результат сцепления равен последовательности символов первого операнда, после которой размещается последовательность символов второго операнда. Операндами могут быть строки, упакованные строки (массивы типа Char)или символы. Но если один операнд имеет тип WideChar, то и другой операнд должен быть длинной строкой.

Результат операции совместим с любым типом строк. Однако, если оба операнда имеют тип короткой строки или символьный и длина результата не превышает 255, то результат усекается до первых 255 символов.


Операции с указателями

Операции

Для указателей PChar определены операции отношения =, <>, <, >, <=, >=. Кроме того, для различных указателей определены еще следующие операции:

Обозна- чение	Операция	Типы операндов	Тип результата	Пример
+	сложение указателей	указатель на символ, целое	указатель на символ	P + I
-	вычитание указателей	указатель на символ, целое	указатель на символ, целое	P - Q
^	разыменование указателя	указатель	указатель на базовый тип	P^
=	равенство	указатель	Boolean	P = Q
<>	неравенство	указатель	Boolean	P <> Q

Операнд операции разыменования ^ может быть указателем на любой тип. Указатель тира Pointer должен быть сначала преобразован к типу, после чего его можно разыменовывать.

Выражение P=Q дает true только в случае, если P и Q указывают на один адрес. В противном случае выражение P<>Q дает true.

Операции + и – применяются для увеличения или уменьшения сдвига указателя на символ. Операция вычитания кроме того позволяет найти разность смещения двух указателей. Эти операции подчиняются следующим правилам.

Если I - целое число, а P - указатель на символ, то P+I увеличивает на I адрес, на который указывает P; т.е. возвращается указатель на адрес, отстоящий на I символов от P. Аналогично, P–I возвращается указатель на адрес, предшествующий P на I символов.

Если P и Q - указатели на символы, то P–Q определяет число символов между P и Q.


Операции с множествами

Операции

Множества могут использоваться как операнды в следующих операциях:

Обозна чение	Операция	Типы операндов	Тип результата	Пример
+	объединение	множество	множество	Set1+Set2
–	разность	множество	множество	S-T
*	пересечение	множество	множество	S*T
<=	подмножество	множество	Boolean	Q<=MySet
>=	включающее множество	множество	Boolean	S1>=S2
=	эквивалентность	множество	Boolean	S2=MySet
<>	неэквивалент- ность	множество	Boolean	MySet<>S1
in	является элементом	порядковый, множество	Boolean	A in Set1

В этих операциях действуют следующие правила.

Z является элементом X + Y, если он является элементом X, или Y, или и X, и Y.

Z является элементом X - Y, если он является элементом X, но не является элементом Y.

Z является элементом X * Y, если он является элементом и X, и Y.

Выражение X <= Y возвращает true, если каждый элемент X является элементом Y.

Выражение X >= Y эквивалентно выражению Y <= X.

Выражение X = Y возвращает true, если X и Y содержат точно одни и те же элементы. В противном случае выражение X <> Y возвращает true.


Операции с классами

Операции

Для классов определены операции отношения = и <>. Кроме того, для классов определены еще две операции: as (как) и is (является). Первым операндом в обеих операциях является объект, вторым - класс.

Если A - объект, а C - класс, то выражение A as C возвращает тот же самый объект, но рассматриваемый как объект класса C. Операция даст результат, если указанный класс C является классом объекта A или одним из наследников этого класса. В противном случае будет сгенерировано исключение.

Наиболее часто операция as применяется к параметру Sender, передаваемому во все обработчики событий как объект - источник события и имеющему тип TObject, в котором очень мало свойств для идентификации объекта.

Приведем пример:

if (Sender as TComponent).Name = 'Button2' then ...;

Этот оператор выбирает событие, связанное с компонентом, имеющим имя Button2, и не реагирует на события, связанные с другими компонентами.

Выражение A is C позволяет определить, относится ли объект A к классу C или к одному из его потомков. Если относится, то операция is возвращает true, в противном случае - false. Например, оператор:

if Sender is TButton then ...;

будет реагировать только на объекты класса TButton или потомков этого класса.


Операция @

Операции

Операция @ возвращает адрес своего операнда: переменной, функции, процедуры, метода. Иначе говоря операция @ создает указатель на свой операнд. При этом действуют следующие правила:

•	Если X - переменная, то @X возвращает адрес X. Если включена директива компилятора {$T–} (она включена по умолчанию), то тип результата pointer. Если же включена директива {$T+}, то тип результата ^!Alink(^,Jump)T, где T - тип X.

•	Если F - функция или процедура, то @F возвращает точку входа F, причем тип результата всегда pointer.

•	При применении операции @ к методу перед идентификатором метода должна идти ссылка на имя класса, например, @TMyClass.DoSomething.


Последовательность выполнения операций
Приоритет и ассоциативность операций

Операции

В сложных выражениях последовательность вычислений определяется скобками, а если подряд идет несколько операций, не разделенных скобками, то последовательность их вычисления определяется старшинством и ассоциативностью операций. По старшинству (приоритету) операции разделяются на четыре уровня:

Операция	Приоритет
@, not	Первый (наивысший)
*, /, div, mod, and, shl, shr, as	Второй
+, –, or, xor	Третий
=, <>, <, >, <=, >=, in, is	Четвертый (низший)

Операции с более высоким приоритетом выполняются прежде операций с более низким приоритетом. Если же подряд следует несколько операций с равным приоритетом, то последовательность вычислений определяется ассоциативностью, которая у всех операций в Object Pascal одинакова - слева направо.

Ниже в таблице приведены примеры: в первом столбце - выражения, во втором - указанная скобками последовательность их вычисления согласно приведенным правилам, в последнем столбце - пояснения.

Выражение	Последовательность вычислений	Пояснения
X + Y - Z	((X + Y) - Z)	Все операции одного уровня приоритета
X * Y / Z	((X * Y) / Z)	Все операции одного уровня приоритета
X * Y + Z / A	(X * Y) + (Z / A)	Операции * и / имеют более высокий приоритет, чем операция +.
X = Y or X = Z	(X = (Y or X)) = Z	Операция or имеет более высокий приоритет, чем операция =. После выполнения or операции = выполняются слева направо.


as
as - операция

Синтаксис

Осуществляет заданное преобразование типов.

Описание

Результатом операции является ссылка на объект ObjectRef, рассматриваемый как объект типа ClassRef. Во время выполнения ссылка ObjectRef должна быть равна nil, или иметь тип указателя на класс ClassRef, или иметь тип указателя на класс, производный от ClassRef. Если ни одно из этих условий не выполняется, генерируется исключение EInvalidCast. Если объявленные типы ObjectRef и ClassRef не родственны, т.е. если тип ObjectRef не является предком ClassRef, или не равен ClassRef, или не является наследником ClassRef, то компилятор выдает сообщение об ошибке несоответствия типов.

Операция as часто используется вместе с оператором with. Например:

with Sender as TButton do

  begin

    Caption := '&Ok';

    OnClick := OkClick;

  end;

Старшинство операции as совпадает со старшинством мультипликативных операций: *, /, div, mod, and, shl и shr. Поэтому при применении к ссылке на переменную, операция преобразования типов as должна заключаться в скобки:

(Sender as TButton).Caption := '&Ok';


ObjectRef as ClassRef

где ObjectRef - ссылка на объект, а ClassRef - ссылка на класс.


Операторы

Оператор присваивания

Оператор передачи управления goto

Оператор with...do

Условные операторы выбора if

Условный оператор выбора case

Операторы цикла

Оператор цикла for

Оператор цикла repeat...until

Оператор цикла while...do

Оператор break


Оператор присваивания

Операторы

Оператор присваивания записывается в виде:

<переменная> := <выражение>;

где <переменная> - переменная или типизированная константа любого типа, включая разыменованный указатель, объект, структуру и т.д., а <выражение> - любое допустимое выражение, совместимое по типу с переменной в левой части оператора. Оператор вычисляет значение выражения, записанного как правый операнд операции присваивания :=, и присваивает полученное значение переменной в левой части оператора.

Например, оператор

I := 3;

присваивает переменной I значение 3. Оператор

I := I + 1;

увеличивает значение переменной I на 1.

Применительно к объектам надо четко представлять различие между оператором присваивания и методом копирования Assign, свойственным многим классам объектов.


Различие между присваиванием и Assign

Операторы

Применительно к объектам надо четко представлять различие между оператором присваивания и методом копирования Assign, свойственным многим классам объектов. Например, оператор:

A.Assign(B);

копирует содержание объекта A (все его свойства) в объект B.

Для тех же самых объектов A и B можно записать оператор присваивания:

A := B;

Различие между двумя приведенными операторами следующее. Метод Assign копирует содержимое одного объекта в другой. Таким образом в памяти будет иметься два объекта A и B одинакового содержания. А оператор присваивания, примененный к указателям (имя объекта - это указатель на объект), присваивает указателю A значение указателя B. Таким образом, и A, и B будут указывать на один и тот же объект в памяти. А тот объект, на который до выполнения этого оператора указывал A, может быть вообще потерян, если в программе где-то не хранится другой указатель на него.


goto - оператор
Оператор передачи управления goto

Операторы   Пример

Оператор goto позволяет прервать обычный поток управления и передать управление в произвольную точку кода, помеченную специальной меткой.

Метки, на которые может передаваться управление, объявляются ключевым словом label, после которого следует список меток. Каждая метка может обозначаться допустимым идентификатором или числом от 0 до 9999. Например, следующее объявление

label Lbegin, 1, second;

объявляет три метки: Lbegin, 1 и second.

В тексте программы метка отмечает точку, в которую передается управление оператором goto. Метка может располагаться в любом месте блока, как после оператора goto, передающего на нее управление, так и до этого оператора. Надо только иметь в виду, что передача управления извне внутрь цикла может приводить к непредсказуемым последствиям, так что таких ситуаций следует избегать. Не разрешается также передавать управление на метку, расположенную в другом блоке.

Точка, в которую может передаваться управление, помечается именем метки, после которого следует двоеточие ":". Например:

Lbegin:

Затем может следовать оператор, на который передается управление.

Сам оператор goto имеет форму:

goto <метка>;

Все три элемента этой конструкции: объявление меток, сами метки и операторы goto, передающие на них управление, должны размещаться в пределах одного блока.


Пример использования операторов goto

Организация работы с операторами goto может выглядеть, например, так:

label Lbegin, 1, second;

...

begin

 ...

 Lbegin: ...

 ...

 goto 1;

 ...

 second: ...

 ...

 1: ...

 ...

 if ... then goto 1 else goto second;

 ...

end;


with...do - оператор
Оператор with...do

Операторы   Пример

Оператор with...do используется для сокращения записи при обращении к полям записей или к свойствам и методам объекта. В этих случаях применение with...do позволяет избежать повторных ссылок на объект в последующих операторах. Оператор with...do может записываться следующим образом:

with <объект> do <оператор>;

В операторе, следующем за ключевым словом do, можно для полей, свойств и методов объекта, указанного как <объект>, не включать ссылки на этот объект. При этом каждый идентификатор в операторе, который совпадает с именем поля, свойства, метода объекта, трактуется как относящийся к этому объекту и к нему неявно добавляется ссылка на этот объект.

Если объект в операторе with...do определяется как элемент индексированного массива или с помощью разыменования указателя, то соответствующая операция индексации или разыменования выполняется только один раз до начала выполнения оператора, следующего за ключевым словом do. Никакие присваивания внутри этого оператора не влияют на интерпретацию понятия <объект>, принятого в конструкции with...do.

Возможна другая форма оператора with...do:

with <объект 1>, <объект 2>, ..., <объект n> do <оператор>;

Она соответствует множеству вложенных друг в друга конструкций with:

with <объект 1> do
 with <объект 2> do
  ...
   with <объект n> do
    <оператор>;


Пример использования оператора with...do

Группу операторов

Form1.Label1.Left := Form1.Label1.Left + 10;

Form1.Label1.Caption := Label2.Caption;

Form1.Label1.Font.Color := clRed;

с помощью with...do можно записать короче:

with Form1.Label1 do begin

 Left := Left + 10;

 Caption := Label2.Caption;

 Font.Color := clRed;

end;


if - оператор
Условные операторы выбора if

Оператор if предназначен для выполнения тех или иных действий в зависимости от истинности или ложности некоторого условия. Условие задается выражением, имеющим результат булева типа.

Оператор имеет две формы: if...then и if...then...else.


if...then - оператор
Оператор выбора if...then

Операторы   Оператор if

Оператор выбора if...then записывается в форме:

if <условие> then <оператор>;

Если условие возвращает true, то указанный в конструкции if оператор выполняется. В противном случае управление сразу передается следующему за конструкцией if оператору. Например, в результате выполнения операторов

C := A;
if B > A then C := B;

переменная C станет равна максимальному из чисел A и B, поскольку оператор C := B будет выполнен только при B > A.


if...then...else - оператор
Оператор выбора if...then...else

Операторы   Оператор if   Примеры

Оператор выбора if...then...else записывается в форме:

if <условие> then <оператор1> else <оператор2>;

Если условие возвращает true, то выполняется первый из указанных операторов, в противном случае выполняется второй оператор. Обратите внимание, что в конце первого оператора перед ключевым словом else точка с запятой не ставится.

При вложенных конструкциях if могут возникнуть неоднозначности в понимании того, к какой из вложенных конструкций if относится элемент else. Компилятор всегда считает, что else относится к последней из конструкций if, в которой не было раздела else.

Например, в конструкции

if <условие1> then if <условие2> then <оператор1>
              else <оператор2>;

else будет отнесено компилятором ко второй конструкции if, т.е. <оператор2> будет выполняться в случае, если первое условие истинно, а второе ложно. Иначе говоря, вся конструкция будет прочитана как

if <условие1>
 then begin
  if <условие2> then <оператор1> else <оператор2>
 end;

Если же вы хотите отнести else к первому if, это надо записать в явном виде с помощью операторных скобок begin...end:

if <условие1>
 then begin
   if <условие2> then <оператор1>
  end
 else <оператор2>;


Примеры оператора if...then...else

Операторы   Оператор if

Пример применения if...then...else:

if J = 0
 then
  ShowMessage('Деление на нуль') {первый оператор}

 else

  Result := I/J;                 {второй оператор}

В качестве и первого, и второго оператора в конструкции if...then...else могут использоваться составные операторы:

if J = 0
 then begin
  ShowMessage('Деление на нуль');
  Result := 0;
 end

 else

  Result := I/J;

Обратите внимание, что перед else точка с запятой не ставится.


case - оператор
Условный оператор выбора case

Операторы Примеры

Оператор множественного выбора case позволяет провести анализ значения некоторого выражения и в зависимости от его значения выполнять те или иные действия. В общем случае формат записи оператора case следующий:

case <выражение> of

 <список значений 1>: <оператор 1>;

  ...

 <список значений n>: <оператор n>;
else
 <оператор>

end;

В этой конструкции выражение должно иметь порядковый тип. Поэтому, например, нельзя использовать выражения, возвращающие действительные числа или строки.

Списки значений могут содержать одно или несколько разделенных запятыми возможных значений константных выражений. После списка ставится двоеточие ":", а затем пишется оператор (может писаться составной оператор), который должен выполняться, если выражение приняло одно из перечисленных в списке значений. После выполнения этого оператора работа структуры case завершается и управление передается следующему за этой конструкцией оператору. Операторы всех последующих разделов не выполняются.

Если значение выражения не соответствует ни одному из перечисленных во всех списках, то выполняется оператор, следующий после ключевого слова else. Впрочем, раздел else не обязательно должен включаться в структуру case. В этом случае, если в списках не нашлось соответствующего значения выражения, то ни один оператор не будет выполнен.

Списки могут содержать константы и константные выражения, которые совместимы по типу с объявленным выражением и которые компилятор может вычислить заранее, до выполнения программы. Допустимо использование ограниченных типов. Не допустимо использование переменных и многих функций. В списках не допускается повторения одних и тех же значений, поскольку в этом случае выбор был бы неоднозначным.


Примеры применения оператора case

Приведенный ниже пример анализирует переменную Key типа Char, содержащую символ, введенный пользователем в ответ на некоторый вопрос. При положительном ответе вызывается процедура FYes, при отрицательном - FNo, при иных ответах отображается сообщение об ошибке.

case Key of

 'y', 'Y': FYes;

 'n', 'N': FNo;

else
 ShowMessage('Ошибочный ответ');

end;

Ниже приведен другой пример, использующий, в частности, ограниченные типы в списках и целую переменную I:

case I of

  1..5    : Caption := 'Low';

  6..9    : Caption := 'High';

  0,10..99: Caption := 'Out of range';

else

  Caption := '';

end;


Операторы цикла

Операторы

Операторы цикла обеспечивает циклическое повторение некоторого оператора (в частности, составного оператора). Повторяемый оператор называется телом цикла. Тело цикла повторяется или заданное число раз, или число повторений определяется выполнением некоторого условия.

Имеется три оператора цикла: for, repeat и while.

Первый из них - for целесообразно использовать, если к моменту начала выполнения цикла известно требуемое число повторений. В операторе repeat число повторений цикла определяется выполнением некоторого условия, проверяемого после выполнения очередного цикла. Поэтому число повторений не может быть меньше 1. Оператор while похож на repeat, но условие проверяется перед выполнением очередного цикла. Поэтому число повторений не может быть больше или равно 0.

В некоторых случаях желательно прервать повторение цикла, проанализировав какие-то условия внутри его тела. Для этого существует ряд операторов и процедур прерывания.


for - оператор
Оператор цикла for

Операторы   Операторы цикла   Примеры

Оператор for обеспечивает циклическое повторение некоторого оператора - тела цикла заданное число раз. Повторение цикла определяется некоторой управляющей переменной (счетчиком), которая увеличивается или уменьшается на единицу при каждом выполнении тела цикла. Повторение завершается, когда управляющая переменная достигает заданного значения.

Оператор for записывается в одной из следующих форм:

for <счетчик>:=<начальное значение> to <конечное значение>
   do <оператор>;

или

for <счетчик>:=<начальное значение> downto <конечное значение>
   do <оператор>;

<счетчик> - локальная управляющая переменная порядкового типа. В начале выполнения оператора for ей присваивается <начальное значение>. После каждого очередного выполнения тела цикла <оператор> ее значение увеличивается (в первой форме с to) или уменьшается (во второй форме с downto) на единицу. Когда значение управляющей переменной достигает значения <конечное значение>, тело цикла выполняется последний раз, после чего управление передается оператору, следующему за структурой for. <начальное значение> и <конечное значение> являются выражениями, совместимыми по типу с управляющей переменной.

Если заданные начальное и конечное значения равны друг другу, тело цикла выполняется только один раз. Если в форме с to начальное значение больше конечного или в форме с downto начальное значение меньше конечного, то тело цикла не выполняется ни разу.

Внутри цикла значение управляющей переменной может использоваться в выражениях. Однако, после окончания выполнения структуры for значение управляющей переменной не определено.

Досрочное прерывание цикла или его текущей итерации может осуществляться так же, как и в других операторах цикла.


Примеры использования оператора for

Следующие операторы вычисляют максимальное значение элементов, расположенных в массиве Data:

Max:=Data[1];

for I := 2 to 63 do

  if Data[I] > Max then Max := Data[I];

Следующие операторы производят шифровку строки, введенной пользователем в окне редактирования Edit1, складывая каждый ее символ по операции исключающее ИЛИ с ключом Key. Кстати, повторное применение того же цикла к зашифрованной строке S при том же значении ключа осуществит дешифровку строки.

S:=Edit1.Text;

for i:=1 to length(S) do

 s[i]:=Chr(Ord(S[i]) xor Key);

Следующие операторы содержат три вложенных цикла for, осуществляющих вычисление матрицы Mat, равной произведению двух квадратных матриц Mat1 и Mat2 размером M на M. Все матрицы представлены двумерными массивами. Формула для вычисления: .

for I := 1 to M do

  for J := 1 to M do

  begin

    X := 0;

    for K := 1 to M do

      X := X + Mat1[I, K] * Mat2[K, J];

    Mat[I, J] := X;

end;


repeat...until - оператор
Оператор цикла repeat...until

Операторы Операторы цикла   Пример

Структура repeat...until используется для организации циклического выполнения совокупности операторов, называемой телом цикла, до тех пор, пока не выполнится некоторое условие. Синтаксис управляющей структуры repeat...until:

repeat

  <операторы тела цикла>

until <выражение условия>;

Точка с запятой после последнего оператора тела цикла (перед ключевым словом until) может опускаться.

Структура работает следующим образом. Выполняются операторы тела цикла. Затем вычисляется <выражение условия>, которое должно возвращать результат булева типа. Если выражение возвращает false, то повторяется выполнение операторов тела цикла и после этого снова вычисляется выражение. Такое циклическое повторение цикла продолжается до тех пор, пока проверяемое выражение не вернет true. После этого цикл завершается и управление передается оператору, следующему за структурой repeat...until.

Поскольку проверка выражения осуществляется после выполнения операторов тела цикла, то эти операторы заведомо будут выполнены хотя бы один раз, даже если выражение сразу истинно.

Досрочное прерывание цикла или его текущей итерации может осуществляться так же, как и в других операторах цикла.


Пример применения оператора repeat...until

Ниже приведен пример, в котором в файле File1.txt ищется строка, содержащая фрагмент текста (последовательность символов), указанный пользователем в окне редактирования Edit1. Проверка наличия в строке заданного фрагмента проверяется функцией Pos. Окончания файла проверяется функцией EOF.

var F:TextFile;

    S,SKey:string;

...

S:='';

SKey:=Edit1.Text;

AssignFile(F,'File1.txt');

Reset(F);

repeat

 Readln(F,S);

until EOF(F) or (Pos(Skey,S)>0);

if S=''
 then Label1.Caption:='"'+SKey+'" в файле отсутствует'
 else ...;


while...do - оператор
Оператор цикла while...do

Структура while...do используется для организации циклического выполнения оператора, называемого телом цикла, пока выполняется некоторое условие. Синтаксис управляющей структуры while...do:

while <выражение условия> do <оператор>;

Структура работает следующим образом. Сначала вычисляется <выражение условия>, которое должно возвращать результат булева типа. Если выражение возвращает true, то выполняется оператор тела цикла, после чего опять вычисляется выражение, определяющее условие. Такое циклическое повторение выполнения оператора и проверки условия продолжается до тех пор, пока условие не вернет false. После этого цикл завершается и управление передается оператору, следующему за структурой while...do.

Поскольку проверка выражения осуществляется перед выполнением оператора тела цикла, то, если условие сразу ложно, оператор не будет выполнен ни одного раза. В этом основное отличие структуры while...do от структуры repeat...until, в котором тело цикла заведомо выполняется хотя бы один раз.

Досрочное прерывание цикла или его текущей итерации может осуществляться так же, как и в других операторах цикла.


Пример применения оператора while...do

Ниже приведен пример копирования текстового файла File1.txt в файл File2.txt. Проверка окончания копируемого файла проверяется функцией EOF. Программа будет нормально работать даже если копируемый файл окажется пустым. В этом случае тело цикла ни разу не будет выполнено.

var FInput, FOutput:TextFile;

    S:string;

...

AssignFile(FInput,'File1.txt');

Reset(FInput);

AssignFile(FOutput,'File2.txt');

Rewrite(FOutput);

while not Eof(FInput) do begin

 Readln(FInput,S);

 Writeln(FOutput,S);

end;

CloseFile(FInput);

CloseFile(FOutput);


break - оператор
Прерывание циклов

В некоторых случаях желательно прервать повторение цикла, проанализировав какие-то условия внутри его цикла. Это может потребоваться в тех случаях, когда проверки условия окончания цикла громоздкие, требуют многоэтапного сравнения и сопоставления каких-то данных и все эти проверки просто невозможно разместить в выражении условия операторов for,  или while.

Для этого можно использовать оператор break. Он прерывает выполнение тела любого цикла for, repeat или while и передает управление следующему за циклом выполняемому оператору. Еще один способ прерывания - использование оператора goto, передающего управление какому-то оператору, расположенному вне тела цикла.

Для прерывания циклов, размещенных в процедурах или функциях, можно воспользоваться процедурой exit. В отличие от оператора break, процедура exit прервет не только выполнение цикла, но и выполнение той процедуры или функции, в которой расположен цикл.

Прервать выполнение цикла, а заодно - и блока, в котором расположен цикл, можно также генерацией какого-то исключения. Наиболее часто в этих целях используется процедура abort.

Описанные способы прерывали выполнение цикла. Имеется еще процедура Continue, которая прерывает только выполнение текущей итерации, текущего выполнения тела цикла и передает управление на следующую итерацию.


Категории процедур и функций

Математические функции

Тригонометрические и гиперболические функции

Процедуры и функции преобразования дат и времени

Обработка строк с нулевым символом в конце

Обработка строк в стиле Pascal

Процедуры и функции файлового ввода/вывода

Процедуры и функции управления файлами

Процедуры динамического распределения памяти

Функции обработки числовых массивов

Функции API Windows вызова диалоговых окон

Процедуры и функции воспроизведения звуков

Функции API Windows запуска внешних программ

Прочие процедуры и функции


Математические функции

Категории процедур и функций

Функция	Описание	Аргумент
Abs(X)	абсолютное значение	целое или действительное выражение
Exp(X)	экспонента	Действительное выражение
Frac(X)	дробная часть аргумента: X-Int(X)	Действительное выражение
Int(X)	целая часть аргумента	Действительное выражение
Ln(X)	натуральный логарифм	Действительное выражение
Pi	число : 3.1415926535897932385	-
Round(X)	ближайшее целое аргумента	Действительное выражение
Sqr(X)	квадрат аргумента: X*X	выражение Extended
Sqrt(X)	квадратный корень	выражение Extended


Процедуры и функции преобразования дат и времени

Категории процедур и функций

Процедуры и функции этой категории используют тип TDateTime, представляющий собой число с плавающей запятой, целая часть которого содержит число дней, отсчитанное от некоторого начала календаря, а дробная часть равна части 24-часового дня, т.е. характеризует время и не относится к дате. Для 32-разрядных версий Delphi за начало календаря принята дата 12/30/1899, 12 часов. В Delphi 1 за начало отсчета принят год 1, т.е. для перевода даты Delphi 1 в дату последующих версий Delphi надо вычесть из даты число 693594.

Процедура, функция	Описание
Date: TDateTime	возвращает текущую дату
DateTimeToStr	преобразует дату и время DateTime в строку
DateTimeToString	преобразует DateTime с помощью строки форматирования Format в строку Result (описание строки форматирования для дат и времени см. во встроенной справке Delphi)
DateToStr	преобразует дату и время DateTime в строку, используя формат, заданный глобальной переменной ShortDateFormat
DayOfWeek	возвращает текущий день недели (1 - воскресенье, 7 - суббота)
DecodeDate	разбивает дату Date на год - Year, месяц - Month и день - Day
DecodeTime	разбивает время Time на час - Hour, минуту - Min, секунду - Sec, миллисекунду - MSec
EncodeDate	объединяет год Year, месяц Month и день Day в значение типа TDateTime
EncodeTime	объединяет час Hour, минуту Min, секунду Sec и миллисекунду MSec в значение типа TDateTime
FormatDateTime	возвращает значение DateTime, преобразованное в строку с помощью строки форматирования Format
Now: TDateTime	возвращает текущую дату и время
StrToDate	преобразует строку в дату; строка должна содержать 2 или три числа, разделенных символами, определенными в глобальной переменной DateSeparator в последовательности, определенной глобальной переменной ShortDateFormat (месяц/день/год  - по умолчанию или день/месяц/год или год/месяц/день); если заданы только 2 числа, они воспринимаются как месяц и день
StrToDateTime	преобразует строку в формат даты и времени; по умолчанию формат строки: месяц/день/год час:минута:секунда; для дополнительной информации см. StrToDate
StrToTime	преобразует строку в формат времени; о формате см. StrToDateTime
Time: TdateTime	возвращает текущее время
TimeToStr	преобразует время в строку, используя формат, заданный глобальной переменной LongTimeFormat


прототип функции DateTimeToStr
DateTimeToStr(DateTime: TDateTime):

                              string


прототип функции DateTimeToString
DateTimeToString(

                var Result: string;

                const Format: string;

                DateTime: TDateTime)


прототип функции DateToStr
DateToStr(Date: TDateTime): string


прототип функции DayOfWeek
DayOfWeek (Date: TDateTime): Integer


прототип функции DecodeDate
DecodeDate (Date: TDateTime;

        var Year, Month, Day: Word)


прототип функции DecodeTime
DecodeTime(Time: TDateTime;

            var Hour, Min,

            Sec, MSec: Word)


прототип функции EncodeDate
EncodeDate(Year,Month,Day: Word):

                          TDateTime


прототип функции EncodeTime
EncodeTime(Hour,Min,

             Sec,MSec: Word):

                     TDateTime


прототип функции FormatDateTime
FormatDateTime(

        const Format: string;

        DateTime: TDateTime):

                       string


прототип функции StrToDate
StrToDate(const S: string):

                    TDateTime


прототип функции StrToDateTime
StrToDateTime(const S: string):
                       TDateTime


прототип функции StrToTime
StrToTime(const S: string):

                     TDateTime


прототип функции TimeToStr
TimeToStr(Time: TDateTime):

                        string


Процедуры и функции файлового ввода/вывода

Категории процедур и функций

Помимо приведенных ниже функций см. также некоторые функции работы с файлами в разделе Процедуры и функции управления файлами

Процедура, функция	Пояснения
Append	Открывает существующий текстовый файл, связанный с файловой переменной F, для добавления в его конец.
AssignFile	Связывает имя внешнего файла FileName с файловой переменной F.
BlockRead	Читает Count записей из нетипизированного файла, связанного с файловой переменной F, в буфер Buf. Если задан параметр Result, то в него возвращается число действительно прочитанных записей.
BlockWrite	Записывает Count записей из буфера Buf в нетипизированный файл, связанный с файловой переменной F. Если задан параметр Result, то в него возвращается число действительно произведенных записей.
ChDir(S: string)	Изменяет текущий каталог на заданный параметром S.
CloseFile(          Var F)	Закрывает открытый файл, связанный с файловой переменной F.
Eof(var F):         Boolean	Возвращает true при достижении конца файла, связанного с файловой переменной F.
Eoln(var F:   Text): Boolean	Возвращает признак конца строки (true) в текстовом файле, связанном с файловой переменной F.
Erase(var F)	Удаляет внешний файл, связанный с файловой переменной F.
FilePos(var F):         Longint	Возвращает текущую позицию типизированного или нетипизированного файла, связанного с файловой переменной F. Позиция, соответствующая началу файла - 0.
FileSize(  var F):Integer	Возвращает текущий размер файла, связанного с файловой переменной F . Не используется для текстовых файлов.
Flush(var F:          Text)	Очищает буфер выходного текстового файла, связанного с файловой переменной F.
GetDir	Возвращает S - текущий каталог диска, указанного параметром D, который может равняться: 0 - текущий диск, 1 - диск A, 2 - диск B, 3 - диск C и т.д. Каталог заносится в S без заключительного символа слэш, например, "c:\mydir".
IOResult:         Integer	Возвращает целое значение, характеризующее код ошибки выполнение последней операции ввода/вывода.
MkDir(S:         String)	Создает подкаталог, заданный с полным путем параметром S.
Read(F,    <список    переменных>)	Читает из файла, связанного с файловой переменной F, одно или более значений в одну или более переменных.
Readln(var F:  Text; <список  Переменных>)	Читает одно или более значений в одну или более переменных и переходит на начало следующей строки текстового файла, связанного с файловой переменной F.
Rename(var F;        Newname)	Переименовывает внешний файл, связанный с файловой переменной F, давая ему имя Newname. Переименование может сочетаться с переносом в другой каталог и на другой диск, если в Newname указан полный путь к переименованному файлу.
Reset(var F  [: File; RecSize: Word])	Открывает существующий файл, связанный с файловой переменной F. Параметр RecSize задается для нетипизированных файлов и устанавливает длину записи в байтах (по умолчанию 128).
Rewrite(var F:  File [;  Recsize:Word])	Создает и открывает новый файл, связанный с файловой переменной F. Параметр RecSize задается для нетипизированных файлов и устанавливает длину записи в байтах (по умолчанию 128).
RmDir(S:        String)	Удаляет пустой подкаталог, заданный параметром S.
Seek(var F;      N: Longint)	Перемещает текущую позицию в типизированном или нетипизированном файле, связанном с файловой переменной F, в позицию N. Для текстовых файлов не используется.
SeekEof(   Var F: Text):        Boolean	Возвращает true при достижении конца текстового файла, связанного с файловой переменной F.
SeekEoln(   Var F: Text):         Boolean	Возвращает true при достижении конца строки текстового файла, связанного с файловой переменной F.
SetTextBuf(    Var F: Text;     Var Buf     [; Size:       Integer])	Связывает буфер ввода/вывода Buf размера Size (задавать не обязательно) с текстовым файлом, связанным с файловой переменной F.
Truncate(var F)	Усекает типизированный или нетипизированный файл, связанный с файловой переменной F, на текущей позиции.
Write(var F;   <список   выражений>)	Записывает одно или более значений в файл, связанный с файловой переменной F.
Writeln(var F:  Text;<список  Выражений >)	Записывает одно или более значений в файл и затем заносит маркер конца строки в текстовый файл, связанный с файловой переменной F.


прототип функции Append
Append(var F: Text)


прототип функции AssignFile
AssignFile(var F; FileName: string)


прототип функции BlockRead
BlockRead(var F: File; var Buf;

           Count: Integer

           [; var Result: Integer])


прототип функции BlockWrite
BlockWrite(var F: File; var Buf;

           Count: Integer

           [; var Result: Integer])


прототип функции GetDir
GetDir(D: Byte; var S: string)


Режимы доступа к файлам

Категории процедур и функций

Следующие константы определяют режимы, в которых могут быть открыты файлы и которые определяют доступ к файлам других приложений:

Имя константы	Значение	Режим
FmOpenRead	$0000	открыть только для чтения
FmOpenWrite	$0001	открыть только для записи
FmOpenReadWrite	$0002	открыть для чтения и записи
FmShareCompat	$0000	открыть совместимым с FCB
FmShareExclusive	$0010	запрет другим приложениям читать и записывать в файл
FmShareDenyWrite	$0020	запрет другим приложениям записывать в файл
FmShareDenyRead	$0030	запрет другим приложениям читать из файла
FmShareDenyNone	$0040	полный доступ к файлу других приложений


Атрибуты файлов

Атрибуты файлов определяются комбинациями следующих именованных констант:

Имя константы	Значение	Атрибут
faReadOnly	$00000001	файл только для чтения
faHidden	$00000002	невидимый файл
faSysFile	$00000004	системный файл
faVolumeID	$00000008	идентификатор диска
faDirectory	$00000010	каталог
faArchive	$00000020	архивный файл
faAnyFile	$0000003F	любой файл


Процедуры и функции управления файлами

Категории процедур и функций

Помимо приведенных ниже функций см. также некоторые функции работы с файлами в разделе Процедуры и функции файлового ввода/вывода.

Некоторые из приведенных ниже процедур и функций оперируют с атрибутами файлов и оперируют с константами режима доступа к файлам.

Многие из приведенных ниже процедур и функций обрабатывают файлы, на которые указывают дескрипторы. Эти процедуры нельзя смешивать с процедурами и функциями файлового ввода/вывода, использующими файловые переменные.

Процедура, функция	Пояснение
ChangeFileExt	Изменяет расширение файла FileName на Extension.
DateTimeToFileDate	Преобразует значение типа TDateTime в формат DOS для дат и времени, который используют процедуры FileAge, FileGetDate, FileSetDate и поле Time записи TSearchRec, используемое в FindFirst и FindNext.
DeleteFile	Удаляет файл FileName, возвращая true в случае успеха.
DiskFree	Возвращает свободную область в байтах диска Drive, который задается следующим образом: 0 - текущий диск, 1 - диск A, 2 - диск B, 3 - диск C и т.д. При ошибочном задании Drive возвращается -1.
DiskSize	Возвращает размер диска Drive в байтах. Drive задается следующим образом: 0 - текущий диск, 1 - диск A, 2 - диск B, 3 - диск C и т.д. При ошибочном задании Drive возвращается -1.
ExpandFileName	Возвращает полный путь и имя файла FileName.
ExpandUNCFileName	Возвращает в формате UNC полный путь в сети и имя файла FileName.
ExtractFileDir	Возвращает путь к каталогу (включая указание диска), вырезанный из строки с полным именем файла FileName.
ExtractFileDrive	Возвращает символы диска, вырезанные из строки с полным именем файла FileName. Если строка записана в формате UNC, то возвращается и путь в сети (сервер)
ExtractFileExt	Возвращает символы расширения, вырезанные из строки с полным именем файла FileName.
ExtractFileName(  const FileName: string):                      string	Возвращает имя файла с расширением, вырезанное из строки с полным именем файла FileName.
ExtractFilePath(  const FileName: string):                     string	Возвращает путь к каталогу (включая указание диска и слэш перед именем файла), вырезанный из строки с полным именем файла FileName.
FileAge(  const FileName: string):                    Integer	Возвращает время создания файла FileName.
FileClose(Handle: Integer)	Закрывает файл, указанный его дескриптором Handle (см. FileCreate и FileOpen).
FileCreate( const FileName: string):                    Integer	Создает новый файл с именем FileName и возвращает его дескриптор.
FileDateToDateTime(       FileDate: Integer):                  TDateTime	Преобразует в значение типа TDateTime формат DOS для дат и времени, который используют процедуры FileAge, FileGetDate, FileSetDate и поле Time записи TSearchRec, используемое в FindFirst и FindNext.
FileExists(  const FileName: string):                    Boolean	Возвращает true, если существует файл FileName.
FileGetAttr(  const FileName: string):                    Integer	Возвращает атрибуты файла FileName. Наличие тех или иных атрибутов может быть проверено сложением по операции AND возвращенного значения с константами faXXXX (см. режимы доступа к файлам).
FileGetDate(        Handle: Integer):                    Integer	Возвращает в формате DOS дату и время создания файла, определенного своим дескриптором Handle (см. FileCreate и FileOpen).
FileOpen(   const FileName: string;   Mode: Integer): Integer	Открывает файл FileName в режиме Mode и возвращает дескриптор файла, который можно использовать в процедуре FileClose. Режим Mode можно формировать, комбинируя операцией OR константы fmOpenXXXX и fmShareXXXX(см. режимы доступа к файлам).
FileRead(Handle: Integer;          var Buffer;          Count: Integer):                    Integer	Читает из файла, указанного своим дескриптором Handle (см. FileCreate и FileOpen) в Buffer число байтов Count. Возвращает число действительно прочитанных байтов.
FileSearch(     Const Name, DirList:            string): string	Ищет файл Name в списке каталогов DirList, записанном в формате DOS для PATH: каталоги, разделенные точками с запятой. Если файл найден - возвращается полный путь к нему, в противном случае - пустая строка.
FileSeek(    Handle,Offset,Origin:                  Integer):                    Integer	Устанавливает в открытом файле, указанном дескриптором Handle (см. FileCreate и FileOpen), позицию, определяемую параметром сдвига Offset, отсчитываемым от начала, определяемого значением Origin: 0 - от начала файла, 1 - от текущей позиции, 2 - от конца файла. Возвращает новую позицию в файле или -1 в случае неудачи.
FileSetAttr(   const FileName: string;   Attr: Integer): Integer	Задает атрибуты Attr файла FileName. При успешном завершении возвращает 0, в противном случае - код ошибки Windows. При формировании Attr можно складывать по операции OR константы faXXXX (см. режимы доступа к файлам).
FileSetDate(    Handle: Integer;    Age: Integer): Integer	Устанавливает Age в качестве даты создания файла, указанного дескриптором Handle (см. FileCreate и FileOpen). Файл должен быть открыт в режиме, допускающем запись. При успешном завершении возвращает 0, в противном случае - код ошибки Windows. Age задается в формате DOS. Это значение можно получить из значения типа TDateTime функцией DateTimeToFileDate.
FileWrite(Handle: Integer;        const Buffer;        Count: Integer):                    Integer	Записывает в файл, указанный своим дескриптором Handle (см. FileCreate и FileOpen) из Buffer число байтов Count. Возвращает число действительно записанных байтов.
FindClose(        var F: TSearchRec)	Освобождает память, выделенную процедурой FindFirst, и прерывает последовательность поиска процедурами FindFirst и FindNext, использующего запись F типа TSearchRec.
FindFirst(    const Path: string;     Attr: Integer;    var F: TSearchRec):                    Integer	Выделяет в памяти необходимые ресурсы для поиска в каталоге и шаблоне Path (например, c:\MyDir\*.*) файлов, удовлетворяющих шаблону и имеющих атрибуты Attr (см. FileSetAttr). При успешном завершении возвращает 0, в противном случае - код ошибки Windows. Результаты поиска заносятся в запись SearchRec. Из полей этой записи можно извлечь результаты: Time: Integer - время создания файла, Size: Integer - его размер, Attr: Integer - его атрибуты, Name - имя файла и некоторые другие.
FindNext(     var F: TSearchRec):                    Integer	Продолжает поиск, начатый функцией FindFirst. Если нашелся новый файл, возвращает 0, в противном случае - код ошибки Windows. Результаты поиска заносятся в запись SearchRec (см. FindFirst).
RenameFile( const OldName, NewName:                 string ):                    Boolean	Переименовывает файл OldName, давая ему новое имя NewName. При успешном завершении возвращает true.


прототип функции ChangeFileExt
ChangeFileExt(const FileName,

               Extension: string): string


прототип функции DateTimeToFileDate
DateTimeToFileDate(DateTime: TDateTime):

                                Integer


прототип функции DeleteFile
DeleteFile(const FileName: string):

                            Boolean


прототип функции DiskFree
DiskFree(Drive: Byte): Integer


прототип функции DiskSize
DiskSize(Drive: Byte): Integer


прототип функции ExpandFileName
ExpandFileName(const FileName:

                string): string


прототип функции ExpandUNCFileName
ExpandUNCFileName(const FileName:

                   string): string


прототип функции ExtractFileDir
ExtractFileDir(const FileName:

                   string): string


прототип функции ExtractFileDrive
ExtractFileDrive(const FileName:

                   string): string


прототип функции ExtractFileExt
ExtractFileExt(const FileName:

                   string): string


Процедуры и функции обработки строк с нулевым символом в конце

Категории процедур и функций

Функция	Пояснения
StrAlloc	Размещает буфер символов заданного размера Size (число символов - Size - 1) в динамически распределяемой памяти.
StrBufSize	Возвращает размер буфера символов (включая нулевой в конце), размещенного функциями StrAlloc или StrNew
StrCat	Склеивает две строки, добавляя строку Source в  конец Dest. Возвращает указатель на результирующую строку. Проверка длины не проводится.
StrComp	Сравнивает две строки Str1 и Str2 с учетом регистра. Возвращает значение < 0, если Str1 < Str2, 0, если Str1 = Str2, и > 0, если Str1 > Str2.
StrCopy	Копирует строку Source в Dest и возвращает Dest.
StrDispose	Освобождает память от буфера символов, динамически размещенного процедурами StrAlloc или StrNew. Процедура сохраняется только для обратной совместимости.
StrECopy	Копирует строку Source в Dest и возвращает указатель на конец строки Dest, т.е. на нулевой символ в ее конце.
StrEnd	Возвращает указатель на конец строки Str, т.е. на нулевой символ в ее конце.
StrFmt	Форматирует одно или более значений, заданных параметром Args, с помощью строки форматирования Format (см. Строка описания формата) в строку Buffer и возвращает указатель на Buffer. Превышение размера буфера Buffer не контролируется.
StrIComp	Сравнивает две строки Str1 и Str2 без учета регистра. Возвращает значение < 0, если Str1 < Str2, 0, если Str1 = Str2, и > 0, если Str1 > Str2.
StrLCat	Склеивает две строки, добавляя не более MaxLen - StrLen(Dest) символов из Source в конец Dest и возвращая Dest. Для определения значения MaxLen можно использовать функцию SizeOf.
StrLComp	Сравнивает  до MaxLen символов двух строк Str1 и Str2 с учетом регистра. Возвращает значение < 0, если Str1 < Str2, 0, если Str1 = Str2, и > 0, если Str1 > Str2.
StrLCopy	Копирует до MaxLen символов из Source в Dest и возвращает Dest. Для определения значения MaxLen можно использовать функцию SizeOf.
StrLen	Возвращает число символов в строке Str, не учитывая конечного нулевого символа.
StrLFmt	Форматирует одно или более значений, заданных параметром Args, с помощью строки форматирования Format (см. Строка описания формата) в строку Buffer и возвращает указатель на Buffer. Контролируется длина результирующей строки: не более MaxLen.
StrLIComp	Сравнивает  до MaxLen символов двух строк Str1 и Str2 без учета регистра. Возвращает значение < 0, если Str1 < Str2, 0, если Str1 = Str2, и > 0, если Str1 > Str2.
StrLower	Приводит символы строки Str к нижнему регистру и возвращает указатель на Str.
StrMove	Копирует ровно Count символов из Source в Dest и возвращает Dest. Dest и Source могут перекрывать друг друга в памяти.
StrNew	Выделяет место для строки Str в динамически распределяемой области памяти, копирует символы строки и возвращает указатель на новую строку.
StrPas	копирует строку Str с нулевым символом в конце в строку в стиле Pascal. Имеет смысл только в Delphi 1, т.к. в старших версиях подобное приведение типов осуществляется неявно.
StrPCopy	Копирует строку Source в стиле Pascal в строку Dest с нулевым символом в конце и возвращает Dest. Размер Dest должен по крайней мере на 1 превышать длину строки Source.
StrPLCopy	Копирует до MaxLen символов строки Source в стиле Pascal в строку Dest с нулевым символом в конце и возвращает Dest.
StrPos	Возвращает указатель на первое вхождение подстроки Str2 в строку Str1. Если Str2 нет в Str1, возвращается nil.
StrRScan	Возвращает указатель на последнее вхождение символа Chr в строку Str. Если Chr не входит в Str, возвращается nil.
StrScan	Возвращает указатель на первое вхождение символа Chr в строку Str. Если Chr не входит в Str, возвращается nil.
StrUpper	Приводит символы строки Str к верхнему регистру и возвращает указатель на Str.
WideCharToString	Преобразует строку Unicode Source с нулевым конечным символом в строку ANSI. Использует при преобразовании функцию WideCharToMultiByte API Win32.
WideCharLenToString	Преобразует SourceLen символов строки Unicode Source с нулевым конечным символом в строку ANSI. Использует при преобразовании функцию WideCharToMultiByte API Win32.
StringToWideChar	Преобразует до DestSize - 1 символов строки ANSI Source в строку Unicode Dest размером DestSize с нулевым конечным символом. Возвращает указатель на Dest.
Имеются многобайтные аналоги этих функций, имеющие те же имена, но начинающиеся с Ansi. Например, AnsiStrPos - многобайтный аналог StrPos.


прототип функции StrAlloc
StrAlloc(Size: Cardinal): PChar


прототип функции StrBufSize
StrBufSize(Str: PChar): Cardinal


прототип функции StrCat
StrCat(Dest, Source: PChar):

                         PChar


прототип функции StrComp
StrComp(Str1,Str2: PChar):

                      Integer


прототип функции StrCopy
StrCopy(Dest,Source: PChar):

                         PChar


прототип функции StrDispose
StrDispose(Str: PChar)


прототип функции StrECopy
StrECopy(Dest,Source: PChar):

                          PChar


прототип функции StrEnd
StrEnd(Str:PChar): PChar


прототип функции StrFmt
StrFmt(Buffer,Format: PChar;

         const Args:

         array of const):

                        PChar


прототип функции StrIComp
StrIComp(Str1,Str2: PChar):

                      Integer


прототип функции StrLCat
StrLCat(Dest,Source: PChar;

          MaxLen: Cardinal):

                        PChar


прототип функции StrLComp
StrLComp(Str1,Str2: PChar;

           MaxLen: Cardinal):

                      Integer


прототип функции StrLCopy
StrLCopy(Dest,Source: PChar;

      MaxLen: Cardinal): PChar


прототип функции StrLen
StrLen(Str: PChar): Cardinal


прототип функции StrLFmt
StrLFmt(Buffer: PChar;

    MaxLen: Cardinal;

    Format: PChar;

    const Args: array of const):

                          PChar


прототип функции StrLIComp
StrLIComp(Str1,Str2: PChar;

            MaxLen: Cardinals):

                        Integer


прототип функции StrLower
StrLower(Str: PChar): PChar


прототип функции StrMove
StrMove(Dest,Source: PChar;

          Count: Cardinal):

                        PChar


прототип функции StrNew
StrNew(Str: PChar): PChar


прототип функции StrPas
StrPas(Str: PChar): String


прототип функции StrPCopy
StrPCopy(Dest: PChar;

     const Source: string):

                        PChar


прототип функции StrPLCopy
StrPLCopy(Dest: PChar;

     const Source: string;

     MaxLen: Cardinal): PChar


прототип функции StrPos
StrPos (Str1,Str2: PChar):

                        PChar


прототип функции StrRScan
StrRScan(Str: PChar;

       Chr: Char): PChar


прототип функции StrScan
StrScan(Str: PChar;

       Chr: Char): PChar


прототип функции StrUpper
StrUpper(Str: PChar): PChar


прототип функции WideCharToString
WideCharToString(

    Source: PWideChar): string


прототип функции WideCharLenToString
WideCharLenToString(

         Source: PWideChar;

         SourceLen: Integer):

                       string


прототип функции StringToWideChar
StringToWideChar(

       const Source: string;

       Dest: PWideChar;

       DestSize: Integer):

                    PWideChar


Обработка строк в стиле Pascal
Процедуры и функции обработки строк в стиле Pascal

(без нулевого символа в конце)

Категории процедур и функций

AdjustLinesBreaks(    const S: string): string	Возвращает строку, содержащую S с преобразованными символами конца строк (CR, LF, LF/CR - это используется в некоторых системах) в пары CR/LF.
AnsiCompareStr(const S1, S2:            string): Integer	Сравнивает две строки ANSI S1 и S2 с учетом регистра. Возвращает значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > S2.
AnsiCompareText(const S1,        S2: string): Integer	Сравнивает две строки ANSI S1 и S2 без учета регистра. Возвращает значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > S2.
AnsiLowerCase(const S:             string): string	Возвращает строку ANSI S, преобразованную к нижнему регистру. Применима для русских текстов.
AnsiUpperCase(const S:             string): string	Возвращает строку S, преобразованную к верхнему регистру. Применима для русских текстов.
CompareStr(const S1, S2:            string): Integer	Сравнивает две строки S1 и S2 с учетом регистра. Возвращает значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > S2.
CompareText(const S1, S2:            string): Integer	Сравнивает две строки S1 и S2 без учета регистра. Возвращает значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 > S2.
Concat(s1 [, s2,..., sn]:             string): string	Возвращает строку, склеенную из строк s1, ..., sn. Идентична операции "+" для строк.
Copy(S: string; Index,     Count: Integer): string	Возвращает подстроку строки S, начинающуюся с S[Index] и содержащую до Count символов.
CurrToStr(Value: Currency):                      string	Преобразует монетарное значение Value в строку.
Delete(var S: string;         Index,Count: Integer)	Удаляет из S подстроку, начинающуюся с S[Index] и содержащую до Count символов.
DisposeStr(P: PString)	Удаляет строку, ранее размещенную динамически процедурой NewStr.
FloatToStrF(Value: Extended;        Format: TFloatFormat;         Precision, Digits:            Integer): string	Преобразует Value в строку, используя формат Format с точностью Precision и числом цифр Digits. Возможные значения Format: ffGeneral - формат g, ffExponent - формат e, ffFixed - формат f, ffNumber  - формат n, ffCurrency - формат m (обозначения форматов см. в разделе TFloatFormat).
FloatToStr(Value: Extended):                      string	Преобразует Value в строку в формате ffGeneral с точностью 15 цифр.
FormatFloat(const Format:    string; Value: Extended):                      string	Преобразует Value в строку, используя строку форматирования Format (см. Строка описания формата).
Insert(Source: string;        var S: string;        Index: Integer)	Вставляет строку Source в S, начиная с S[index].
IntToHex(Value: Integer;          Digits: Integer):                      string	Возвращает строку, содержащую шестнадцатеричное представление Value с числом возвращаемых цифр Digits.
IntToStr(Value: Integer):                      string	Возвращает строку, содержащую преобразованное целое значение Value.
IsValidIdent(const Ident:              string):                     Boolean	Проверяет, является ли Ident допустимым идентификатором Object Pascal
Length(S: string): Integer	Возвращает число символов в S.
LowerCase(const S: string):                       string	Возвращает строку S, преобразованную к нижнему регистру. Не применима для русских текстов (см. AnsiLowerCase).
NewStr(const S: string):                      PString	Динамически размещает строку S, которая может быть в дальнейшем удалена процедурой DisposeStr. Сохраняется только для обратной совместимости.
Pos(Substr: string;      S: string): Integer	Возвращает позицию (индекс) первого вхождения Substr в S. Если Substr нет в S, возвращается 0.
Str(X [: Width [: Decimals                   ]]; var S)	Преобразует целое или действительное значение X в строку S. Не обязательные параметры: Width - ширина поля, Decimals - число цифр.
StrToCurr(const S: string):                     Currency	Преобразует строку S в монетарное число.
StrToFloat(const S: string):                     Extended	Преобразует строку S в действительное число.
StrToInt(const S: string):                      Integer	Преобразует строку S в целое число.
StrToIntDef(const S: string;          Default: Integer):                      Integer	Преобразует строку S в целое число. Если строка не является допустимым целым, возвращается значение по умолчанию Default.
Trim(const S: string):                      string	Удаляет из строки S начальные и завершающие пробелы и управляющие символы.
TrimLeft(const S: string):                      string	Удаляет из строки S начальные пробелы и управляющие символы.
TrimRight(const S: string):                      string	Удаляет из строки S завершающие пробелы и управляющие символы.
UpperCase(const S: string): string	Возвращает строку S, преобразованную к верхнему регистру. Не применима для русских текстов (см. AnsiUpperCase).
Val(S; var V;      var Code: Integer)	Преобразует строку S в целое число Code.


Процедуры динамического распределения памяти

Категории процедур и функций

AllocMem(Size: Cardinal):                                Pointer;	Динамически выделяет область памяти, размером Size байтов и возвращает указатель на выделенную область; эта область в дальнейшем может быть освобождена процедурой FreeMem
Dispose(var P: Pointer)	Освобождает область памяти, выделенную ранее процедурой New, на которую указывает типизированный указатель P
FreeMem(var P: Pointer[; Size: Integer])	Освобождает область памяти, выделенную ранее процедурой GetMem или функцией AllocMem, на которую указывает указатель P; если указан размер области Size, он должен в точности совпадать с указанным ранее в процедуре GetMem
GetMem(var P: Pointer; Size: Integer)	Динамически выделяет область памяти, размером Size байтов и возвращает P адрес выделенной области
New(var P: Pointer)	Динамически выделяет память, размер которой определяется типом типизированного указателя P, и возвращает P адрес выделенной области памяти


Функции вызова диалоговых окон
Функции API Windows вызова диалоговых окон

Категории процедур и функций

MessageDlg	Отображает окно с множеством кнопок, в котором пользователю задается какой-то вопрос; позволяет анализировать полученный ответ.
MessageDlgPos	Отображает окно, подобное отображаемому функцией MessageDlg, в заданной позиции экрана.
ShowMessage	Отображает окно сообщения с кнопкой OK.
ShowMessageFmt	Отображает окно форматированного сообщения с кнопкой OK.


Процедуры и функции воспроизведения звуков

Категории процедур и функций

Beep	Процедура Object Pascal, воспроизводящая стандартный звуковой сигнал.
Beep	Функция API Windows, воспроизводящая стандартный звуковой сигнал.
MessageBeep	Воспроизводит звуковые сигналы различных типов, устанавливаемых пользователем с помощью программы Панель управления щелчком на пиктограмме Звук
PlaySound	Воспроизводит звук указанного волнового файла или звук системного события


Функции запуска внешних программ
Функции API Windows запуска внешних программ

Категории процедур и функций

FindExecutable	Возвращает имя и путь приложения, связанного с указанным файлом
ShellExecute	Открывает или печатает указанный файл или открывает указанную папку
WinExec	Запускает указанное приложение


Сообщения об ошибках при запуске программ

Ниже приведены значения ошибок, возвращаемые при запуске внешних программ (в Windows 95 и NT для некоторых из этих ошибок имеются именованные константы).

	Именованная константа	Пояснение
0		Системе не хватает памяти, выполняемый файл испорчен или произошло ошибочное перераспределение памяти.
2	ERROR_FILE_NOT_FOUND	Файл не найден.
3	ERROR_PATH_NOT_FOUND	Путь не найден.
5	SE_ERR_ACCESSDENIED	Была попытка динамически связаться с задачей, была ошибка многопроцессорного выполнения или ошибка защиты сети.
6		Библиотека требует отдельных сегментов данных для каждой задачи.
8	SE_ERR_OOM	Недостаточно памяти для запуска приложения.
10		Ошибочная версия Windows.
11	ERROR_BAD_FORMAT	Ошибочный выполняемый файл. Или это не приложение Windows, или ошибка в .exe файле.
12		Приложение спроектировано для другой операционной системы.
13		Приложение спроектировано для MS-DOS 4.0.
14		Неизвестный тип выполняемого файла.
15		Попытка запустить приложение, работающее только на более ранних версиях Windows.
16		Попытка запустить второй экземпляр приложения, содержащего сегменты данных, не помеченные "только для чтения".
19		Попытка запустить архивированный файл. Файл должен быть разархивирован, прежде чем его можно будет загрузить.
20		Ошибочный файл одной из DLL, требуемой для приложения.
21		Приложение требует 32-битного расширения Windows.
26	SE_ERR_SHARE	Нарушение права доступа.
27	SE_ERR_ASSOCINCOMPLETE	Файл, связанный с указанной операцией не полный или ошибочный.
28	SE_ERR_DDETIMEOUT	Трансакция DDE не может быть выполнена из-за нехватки времени.
29	SE_ERR_DDEFAIL	Трансакция DDE закончилась ошибкой
30	SE_ERR_DDEBUSY	Трансакция DDE не может быть выполнена, поскольку выполняется другая трансакция DDE.
31	SE_ERR_NOASSOC	Нет приложения, связанного с файлом указанного типа, или нет файла, связанного с указанной операцией.
32	SE_ERR_DLLNOTFOUND	Не найдена библиотека DLL.


Функции обработки числовых массивов

Категории процедур и функций

Приведенные ниже функции определены в модуле math и этот модуль должен подключаться оператором uses, чтобы компилятор их понимал.

MaxIntValue	Возвращает максимальное значение со знаком элементов массива целых чисел
MaxValue	Возвращает максимальное значение со знаком элементов массива действительных чисел
Mean	Возвращает среднее арифметическое значение элементов массива.
MeanAndStdDev	Вычисляет математическое ожидание и среднее квадратическое отклонение элементов массива.
MinIntValue	Возвращает минимальное значение со знаком элементов массива целых чисел
MinValue	Возвращает минимальное значение со знаком элементов массива действительных чисел
MomentSkew Kurtosis	Вычисляет первые четыре момента, коэффициент асимметрии и эксцесс элементов массива.
Norm	Возвращает корень из суммы квадратов значений элементов массива.
PopnStdDev	Возвращает среднее квадратическое отклонение элементов массива.
PopnVariance	Возвращает дисперсию элементов массива.
RandG	Генерирует последовательность случайных чисел, распределенных по нормальному закону
Random	Генерирует последовательность целых или действительных случайных чисел
Randomize	Рандомизирует генераторы случайных чисел.
StdDev	Возвращает среднее квадратическое отклонение элементов массива.
Sum	Возвращает сумму элементов массива действительных чисел
SumInt	Возвращает сумму элементов массива целых чисел
SumOfSquares	Возвращает сумму квадратов значений элементов массива действительных чисел.
SumsAndSquares	Вычисляет сумму и сумму квадратов значений элементов массива.
TotalVariance	Возвращает сумму квадратов отклонений значений элементов массива от их среднего значения.
Variance	Возвращает дисперсию элементов массива.


Прочие процедуры и функции

Категории процедур и функций

Abort	Прерывает выполнение без сообщения об ошибке.
Addr(X): Pointer	Возвращает указатель на объект X.
Chr(X: Byte):             Char	Возвращает символ, указанный параметром X - его значением ASCII
Continue	Передает управление на следующую итерацию циклов for, while и repeat
Dec(var X   [;N: Longint])	Уменьшает переменную X порядкового типа. Dec(X) эквивалентно X:=X-1, Dec(X,N) эквивалентно X:=X-N, но Dec выполняется быстрее.
Exit	Выход из текущей процедуры
Halt	Инициирует аварийное завершение программы
Hi(X): Byte	Возвращает старший байт выражения X типа integer или word как значение без знака
High(X)	Возвращает наибольшее значение аргумента  X
Inc(var X   [;N: Longint ])	Увеличивает переменную X порядкового типа. Inc(X) эквивалентно X:=X+1, Inc(X,N) эквивалентно X:=X+N, но Inc выполняется быстрее.
Lo(X): Byte	Возвращает младший байт выражения X типа integer или word как значение без знака
Low(X)	Возвращает наименьшее значение аргумента X
Ord(X): Longint	Возвращает порядковый номер выражения порядкового типа
ParamCount:       Integer	Возвращает число параметров командной строки
ParamStr(Index): Integer: string	Возвращает указанный параметр командной строки
Pred(X)	Возвращает значение предыдущего элемента порядкового типа
SizeOf(X):          Integer	Возвращает число байтов, занимаемых любой переменной или типом X.
Succ(X)	Возвращает следующее значение выражения порядкового типа
TextToShortCut	Создает из строки текста структуру, используемую для задания комбинации "горячих" клавиш разделу меню
UpCase(  Ch: Char): Char	Приводит символ Ch (только латинский) к верхнему регистру
VarType	Возвращает код типа значения переменной variant


GetShortHint - функция

см.также

Возвращает первую часть строки специального формата

Модуль Controls

Объявление

function GetShortHint(const Hint: string): string;

Описание

Функция GetShortHint возвращает первую часть строки формата

<текст первой части>|<текст второй части>

Строки такого вида, в частности, задаются в свойстве компонентов Hint. Если вторая часть, следующая после символа '|' отсутствует, т.е. строка не разбита на две части, то возвращается строка целиком.

Более подробные пояснения и примеры см. в разделах GetLongHint и Hint.


MessageDlgPos - функция

Прототип     Примеры

Отображает диалоговое окно сообщений в заданном месте экрана.

Модуль Dialogs

Вызов MessageDlgPos отображает диалоговое окно в заданном месте экрана и ожидает ответа пользователя. Координаты определяются параметрами X и Y. Остальные параметры тождественны функции MessageDlg. Подробное описание параметров и примеров использования см. в разделе MessageDlg.


прототип функции MessageDlgPos
function MessageDlgPos(const Msg: string; AType: TMsgDlgType;
                         AButtons: TMsgDlgButtons;
                         HelpCtx: Longint; X, Y: Integer): Word;


пример применения функции MessageDlgPos
MessageDlgPos('Будьте внимательнее.', mtWarning,
                [mbOk], 0, 200, 0);

Окно сообщения появится вверху экрана (параметр Y=0) примерно в центре.


Beep - функция API Windows

Синхронно воспроизводит звук простого тона через динамик и не возвращается до окончания звука

function Beep(dwFreq,dwDuration:cardinal):boolean;

Параметры

Параметры устанавливаются только для Windows NT. В Windows 95 они игнорируются.

В Windows NT параметр dwFreq задает частоту звука в герцах. Он может иметь значения в диапазоне от 37 до 32,767 (от 0x25 до 0x7FFF). Параметр dwDuration устанавливает длительность звука в миллисекундах.

Возвращаемое значение

При успешном выполнении возвращается ненулевое значение. При аварийном завершении возвращается нуль. Тогда более развернутую информацию об ошибке можно получить вызовом функции GetLastError.

Описание

Функция Beep синхронно воспроизводит звук простого тона через динамик и не возвращается до окончания звука

В Windows 95 параметры функции Beep игнорируются. Если компьютер имеет звуковую карту, то воспроизводится звук, сопровождающий события по умолчанию. При отсутствии звуковой карты воспроизводится стандартный звук через динамик. Вообще в Windows 95 возникают проблемы из-за того, что Delphi путает данную функцию с процедурой Beep. Так что данную функцию имеет смысл использовать только для Windows NT. Более удобная функция API Windows - MessageBeep.


CloseWindow - функция
CloseWindow - функция API Windows

Определение

Сворачивает, не уничтожая, указанное окно

Параметры

Параметр hWnd является дескриптором сворачиваемого окна

Возвращаемое значение

При успешном выполнении возвращается ненулевое значение. При аварийном завершении возвращается нуль. Тогда более развернутую информацию об ошибке можно получить вызовом функции GetLastError.

Описание

Функция сворачивает окно до пиктограммы и перемещает ее в область пиктограмм экрана. Для уничтожения окна надо использовать функцию DestroyWindow.


определение функции CloseWindow
function CloseWindow(hWnd:HWND):boolean;


DestroyWindow - функция
DestroyWindow - функция API Windows

Определение

Уничтожает указанное окно

Параметры

Параметр hWnd является дескриптором сворачиваемого окна

Возвращаемое значение

При успешном выполнении возвращается ненулевое значение. При аварийном завершении возвращается нуль. Тогда более развернутую информацию об ошибке можно получить вызовом функции GetLastError.

Описание

Функция уничтожает окно, посылая ему сообщения Windows WM_DESTROY и WM_NCDESTROY. Окно деактивируется, с него снимается фокус, уничтожается меню окна, очищается очередь сообщений потока, уничтожается таймер и проводятся другие сопутствующие уничтожению операции. Если окно родительское или является хозяином других окон, эти зависимые окна также уничтожаются, причем сначала уничтожаются именно они, а затем - главное окно. Уничтожаются также все диалоговые окна, созданные функцией CreateDialog.

Функция DestroyWindow не может разрушать окно, созданное в другом потоке.

Если разрушаемое окно является дочерним, стиль которого не WS_EX_NOPARENTNOTIFY, родительскому окну посылается сообщение WM_PARENTNOTIFY.


определение функции DestroyWindow
function DestroyWindow(hWnd:HWND):boolean;


EnableWindow - функция
EnableWindow - функция API Windows

Делает доступным или недоступным указанное окно

function EnableWindow(hWnd:HWND, bEnable:boolean):
                                            boolean;

Параметры

Параметр hWnd - дескриптор того окна, которое должно быть сделано доступным или недоступным. Параметр bEnable задает устанавливаемое значение доступности: true - доступно, false - недоступно.

Возвращаемое значение

Если окно было до этого доступным, возвращается нуль, если оно не было доступным - возвращается ненулевое значение. Развернутую информацию об ошибке можно получить вызовом функции GetLastError.

Описание

Функция EnableWindow делает указанное окно доступным или недоступным для любых действий пользователя с помощью мыши или клавиатуры. Если окно недоступно, то предусмотренные в нем процессы продолжаются, но пользователь не может воздействовать на это окно.


ExceptAddr - функция

Прототип

Возвращает адрес сгенерированного исключения

Модуль SysUtils

Функция ExceptAddr возвращает адрес текущего сгенерированного исключения. Если сгенерированного исключения нет, функция возвращает nil.

ExceptAddr может использоваться, в частности, в разделе модуля finalization для определения, завершается ли программа нормально или в результате генерации исключения. Может использоваться также для сообщений о сгенерированном исключении в таких процедурах и функциях, как ShowException, ExceptionErrorMessage и др.


ExceptAddr прототип функции
function ExceptAddr: Pointer;


ExceptionErrorMessage - функция;
ExceptionErrorMessage функция

Прототип

Форматирует сообщение об ошибке

Модуль SysUtils

Функция ExceptionErrorMessage форматирует сообщение об ошибке, объединяя сведения о типе сгенерированного исключения и его адресе. Сообщение записывается в Buffer. Параметр Size указывает размер этого буфера. Функция возвращает число байтов в сообщении.


ExceptionErrorMessage прототип функции
function ExceptionErrorMessage(ExceptObject: TObject; ExceptAddr: Pointer;

  Buffer: PChar; Size: Integer): Integer;


ExceptObject - функция;
ExceptObject - функция

Прототип     Примеры

Модуль SysUtils

Функция ExceptObject возвращает объектную ссылку на текущее сгенерированное исключение. Если сгенерированного исключения нет, возвращается nil.

В большинстве случаев нет необходимости явно использовать функцию ExceptObject. Проще использовать оператор on...do с локальным именем:

on E: <тип исключения> do...

Однако при использовании обработчика по умолчанию, вводимому с помощью раздела else в блоке try...except, единственный путь получить доступ к свойствам объекта исключения - вызов ExceptObject .


прототип функции ExceptObject
function ExceptObject: TObject;


ExceptObject пример применения функции
1) var E:Exception;

   ..........

   try

   ..........

   except

     on E:<тип исключения> do...

   else

     begin

       E:=ExceptObject as Exception;

       ShowMessage('Возникло исключение '+E.Message);

     end;

   end;

1) 	ShowMessage(' Возникло исключение '+Exception(ExceptObject).message);


FindExecutable - функция;
FindExecutable - функция API Windows

Определение     Примеры

Возвращает имя и путь приложения, связанного с указанным файлом

Модуль ShellAPI

Описание

Функция FindExecutable позволяет получить имя выполняемого файла .exe, связанного с файлом, указанным параметром FileName. Параметр Directory определяет каталог по умолчанию. Оба параметра являются указателями на строки с нулевым символом в конце. Параметр Buffer является указателем на буфер в виде строки с нулевым символом в конце, в который функция заносит имя и путь приложения, связанного с файлом FileName.

При успешном завершении функция FindExecutable возвращает значение, большее 32. Если возвращено меньшее значение, это свидетельствует об ошибке. Возможно ошибки следующих типов:

Значение	Описание
0	У системы не хватает памяти или ресурсов.
31	Нет приложения, связанного с фалом указанного типа.
ERROR_FILE_NOT_FOUND	Указанный файл не найден.
ERROR_PATH_NOT_FOUND	Указанный путь не найден.
ERROR_BAD_FORMAT	Файл .exe ошибочный (может быть не для Win32).


определение функции FindExecutable
function FindExecutable(FileName, Directory, Buffer: PChar)
           : THandle;


пример применения функции FindExecutable
Операторы

var  APchar:array[0..254] of char;

...

FindExecutable('Exec.doc',nil,APchar);

Label1.Caption := APChar;

приведут к тому, что в метку Label1 будет занесено имя приложения, связанного с файлом типа .doc, например:

C:\MSOFFICE\WINWORD\WINWORD.EXE


FindWindow - функция
FindWindow - функция API Windows

Объявление    Пример

Функция возвращает дескриптор окна верхнего уровня, класс и имя которого указаны. Функция не ищет дочерние окна.

Параметры

Параметр lpClassName указывает на строку с нулевым конечным символом, содержащую имя класса, или является атомом, указывающим на строку с именем класса. Если этот параметр атом, то это должен быть глобальный атом, созданный предварительно вызовом функции GlobalAddAtom. Атом является 16-битной величиной, которая должна помещаться в младшие разряды слова lpClassName, а старшие разряды должны быть нулевыми.

Параметр lpWindowName указывает на строку с нулевым конечным символом, содержащую имя окна (это свойство Caption формы, отображаемое в строке заголовка окна). Если этот параметр равен NULL, то считается, что под критерий поиска подходит любое окно указанного класса.

Возвращаемое значение

Если поиск прошел успешно, то функция возвращает дескриптор окна, имеющего указанное имя класса и имя окна. В противном случае возвращается NULL. Тогда расширенную информацию об ошибке можно получить, вызвав функцию GetLastError.


объявление функции FindWindow
function FindWindow(lpClassName,lpWindowName:PChar) HWnd;


пример применения функции FindWindow
Оператор

SendMessage(FindWindow('TForm1','Приложение Pmess2'),
            WM_CLOSE,0,0);

использует функцию FindWindow для определения дескриптора окна класса "TForm1" с именем " Приложение Pmess2", а затем применяет этот дескриптор, чтобы послать сообщение Windows WM_CLOSE, закрывающее это окно.


Format - функция;
Format - функция

Прототип

Модуль SysUtils

Назначение - форматирование текста с помощью строки описания формата.

Описание

Функция Format возвращает отформатированную строку, представляющую собой результат применения строки описания формата Format к открытому массиву аргументов Args. Например, оператор

s:=Format('Задано %d параметров из %d ', [N1, N2]);

при переменных N1=5 и N2=10 присвоит переменной s значение "Задано 5 параметров из 10".

Синтаксис строк описания формата см. в разделе "Строка описания формата". Если формат ошибочный или не соответствует типам аргументов, генерируется исключение EConvertError.


прототип функции Format
function Format(const Format: string; const Args: array of const): string;


GetLastError - функция
GetLastError - функция API Windows

Объявление

Возвращает значение кода последней ошибки данного потока

Параметры

Параметры отсутствуют.

Возвращаемое значение

Функция возвращает значение кода последней ошибки данного потока. Различные функции задают эти коды функцией SetLastError.

Описание

Функция GetLastError возвращает значение кода последней ошибки данного потока. Эти коды индивидуальны для каждого потока и другие потоки их не изменяют.

Функция GetLastError должна вызываться сразу после возврата функции, ошибку которой вы хотите проверить. Это связано с тем, что некоторые функции вызывают при своем успешном завершении SetLastError(0), что уничтожит код ошибки.

Большинство функций API Win32 устанавливают код последней ошибки при аварийном завершении, хотя некоторые устанавливают этот код в случае успешного выполнения. Обычно функции задают такие коды, как FALSE, NULL, 0xFFFFFFFF или -1.

Код ошибки - 32-битовое значение. Наиболее значимый бит 31. Бит 29 зарезервирован для кода, определяемого приложением. В системных кодах этот бит не используется. Таким образом, этот бит показывает, что код был определен приложением. Это гарантирует отсутствие пересечения между вашими и системными кодами.

Чтобы получить строку сообщения об ошибке по коду, используйте функцию FormatMessage. Полный список кодов ошибок имеется в заголовочном файле WINNT.H в Win32 SDK.


объявление функции GetLastError
GetLastError:cardinal;


GetLongHint - функция

Прототип     Примеры

Возвращает вторую часть строки специального формата

Модуль Controls

Описание

Функция GetLongHint возвращает вторую часть строки формата

<текст первой части>|<текст второй части>

Строки такого вида, в частности, задаются в свойстве компонентов Hint. Если вторая часть, следующая после символа '|' отсутствует, т.е. строка не разбита на две части, то возвращается строка целиком.

Эту функцию наряду с функцией GetShortHint, возвращающей первую часть строки, можно использовать в обработчиках событий OnMouseMove, соответствующих прохождению курсора мыши над данным компонентом.


прототип функции GetLongHint
function GetLongHint(const Hint: string): string;


пример применения функции GetLongHint
Обработчик

procedure TForm1.Label1MouseMove(Sender: TObject;
                           Shift: TShiftState; X, Y: Integer);

begin

  Panel1.Caption := GetShortHint((Sender as TControl).Hint);

  Panel2.Caption := GetLongHint((Sender as TControl).Hint);

end;

отобразит в панели Panel1 первую, а в панели Panel2 - вторую часть свойства Hint всех компонентов, над которыми будет перемещаться, если в этих компонентах в событии OnMouseMove указан этот обработчик. Причем это не зависит от значения их свойства ShowHint.

Более подробные пояснения и примеры см. в разделе Hint.


GetNextWindow - функция
GetNextWindow - функция API Windows

Объявление

Определяет дескриптор следующего или предыдущего окна в Z-последовательности

Параметры

Параметр hWnd - дескриптор окна, от которого начинается отсчет. Параметр wCmd определяет направление поиска. Если wCmd = GW_HWNDNEXT, то ищется следующее окно, находящееся ниже. Если wCmd = GW_HWNDPREV, то ищется предыдущее окно, находящееся выше.

Возвращаемое значение

Если окно найдено, то возвращается его дескриптор. Если следующего или предыдущего окна нет (в зависимости от значения wCmd), то возвращается 0. Развернутую информацию об ошибке можно получить вызовом функции GetLastError.

Описание

Функция GetNextWindow определяет дескриптор следующего или предыдущего окна в Z-последовательности. Следующее окно - это то, которое вызывалось из указанного или к которому пользователь обращался после создания указанного окна. Если указано дочернее окно, то поиск ведется среди дочерних окон.

Использование функции дает тот же самый результат, что и вызов функции GetWindow со значениями параметра GW_HWNDNEXT или GW_HWNDPREV.


объявление функции GetNextWindow
function GetNextWindow(hWnd:HWND,wCmd:word):HWND;


GetSystemDirectory - функция
GetSystemDirectory - функция API Windows

Прототип     Примеры

Возвращает путь к системному каталогу Windows

Описание

Функция GetSystemDirectory возвращает путь к системному каталогу Windows. Это каталог, в котором размещены файлы библиотек, драйверов, шрифтов.

Приложение не должно создавать какие-то файлы в системном каталоге. Создавать свои файлы можно в каталоге, возвращаемом другой функцией - GetWindowsDirectory.

Параметр Buffer является указателем на строку с нулевым символом в конце, в которую передается найденный путь. Этот путь записывается без заключительного обратного слэша "\", если только системный каталог не является корневым.

Параметр Size указывает максимальный размер буфера в символах. Его величина должна быть не менее значения MAX_PATH.

При успешном выполнении функция копирует путь в Buffer и возвращает число символов в строке, не считая последнего нулевого. Если длина строки больше, чем Size, то возвращенное значение позволяет узнать требуемый размер буфера.

Если функция не смогла успешно завершиться, то она возвращает нулевое значение. В этом случае узнать причину отказа можно, вызвав GetLastError.


прототип функции GetSystemDirectory
function GetSystemDirectory(Buffer: PChar; Size : integer)
           : integer;


пример применения функции GetSystemDirectory
Если ваш системный каталог Windows назван WIN95\SYSTEM и расположен на диске C, то операторы

var APchar:array[0..254] of char;

...

GetSystemDirectory(APchar,255);

занесут APchar в путь: C:\WIN95\SYSTEM. Полученный путь можно, например, использовать для проверки, имеются ли на компьютере пользователя нужные библиотеки, драйверы и шрифты.


GetWindow - функция
GetWindow - функция API Windows

Объявление

Определяет дескриптор окна, находящегося с указанным в указанном соотношении (по Z-последовательности или по последовательности владельцев)

Параметры

Параметр hWnd - дескриптор окна, по отношению к которому определяются соотношения родства. Параметр uCmd определяет соотношения родства и может принимать значения:

GW_CHILD	Определяется дескриптор дочернего окна на вершине Z-последовательности, если указано родительское окно. В противном случае возвращается дескриптор NULL. Проверяются только дочерние окна указанного окна, но не его потомков.
GW_HWNDFIRST	Определяется дескриптор окна того же типа, находящегося в верху Z-последовательности.
GW_HWNDLAST	Определяется дескриптор окна того же типа, находящегося в внизу Z-последовательности.
GW_HWNDNEXT	Определяется дескриптор следующего окна в Z-последовательности.
GW_HWNDPREV	Определяется дескриптор предыдущего окна в Z-последовательности.
GW_OWNER	Определяется дескриптор окна, являющегося владельцем указанного.
Возвращаемое значение

Если окно найдено, то возвращается его дескриптор. Если требуемого окна не существует, то возвращается 0. Развернутую информацию об ошибке можно получить вызовом функции

GetLastError.

Описание

Функция GetNextWindow определяет дескриптор окна, находящегося с указанным в указанном родственном отношении. Эта функция позволяет найти при использовании различных значений uCmd дескрипторы любых открытых окон Windows.


объявление функции GetWindow
function GetWindow(hWnd:HWND,uCmd:word):HWND;


GetWindowsDirectory - функция
GetWindowsDirectory - функция API Windows

Определение     Примеры

Возвращает путь к каталогу Windows

Описание

Функция GetWindowsDirectory возвращает путь к каталогу Windows. Этот каталог содержит файлы приложений Windows, файлы инициализации .ini и файлы справок .hlp. В этом каталоге вы можете хранить файлы инициализации и файлы справок своего приложения. Если приложение создает другие файлы, которые вы хотите хранить, не допуская к ним других пользователей, то помещайте их в каталог, указанный в переменной окружения HOMEPATH. При соответствующей установке этот каталог различен для всех пользователей.

Параметр Buffer является указателем на строку с нулевым символом в конце, в которую передается найденный путь. Этот путь записывается без заключительного обратного слэша "\", если только каталог Windows не является корневым.

Параметр Size указывает максимальный размер буфера в символах. Его величина должна быть не менее значения MAX_PATH.

При успешном выполнении функция копирует путь в Buffer и возвращает число символов в строке, не считая последнего нулевого. Если длина строки больше, чем Size, то возвращенное значение позволяет узнать требуемый размер буфера.

Если функция не смогла успешно завершиться, то она возвращает нулевое значение. В этом случае узнать причину отказа можно, вызвав GetLastError.


определение функции GetWindowsDirectory
function GetWindowsDirectory(Buffer: PChar; Size : integer): integer;


пример применения функции GetWindowsDirectory
Если ваш каталог Windows назван WIN95 и расположен на диске C, то операторы

var APchar:array[0..254] of char;

...

GetWindowsDirectory(APchar,255);

занесут APchar в путь: C:\WIN95. Если Windows установлен непосредственно в корневом каталоге, то результатом выполнения функции будет C:\.


GetWindowText - функция
GetWindowText - функция API Windows

Объявление

Копирует текст, связанный с указанным окном (отображаемый в его полосе заголовка) или оконным элементом, в указанный буфер

Параметры

Параметр hWnd - дескриптор окна. Параметр lpString указывает на буфер, в который копируется текст. Параметр nMaxCount определяет максимальное число копируемых символов. Если число символов в тексте превышает эту величину, текст усекается.

Возвращаемое значение

Если функция выполнилась успешно, она возвращает число скопированных символов, исключая завершающий нулевой символ. Если окно не имеет полосы заголовка или текст заголовка отсутствует, или при неверном дескрипторе возвращается нуль. Развернутую информацию об ошибке можно получить вызовом функции GetLastError.

Описание

Функция GetWindowText копирует текст, связанный с указанным окном (отображаемый в его полосе заголовка) или оконным элементом в указанный буфер указанного размера. Она не может воспринять текст окна редактирования из другого приложения.

Функция посылает указанному окну или элементу, указанному в ее вызове, сообщение Windows WM_GETTEXT.


объявление функции GetWindowText
function GetWindowText(hWnd:HWND;lpString:PChar,nMaxCount:word)
         :integer;


MessageBeep - функция
MessageBeep - функция API Windows

Определение

Подает звуковой сигнал

Описание

Функция MessageBeep воспроизводит звуковой сигнал. Звуки, соответствующие различным типам  сигналов, хранятся в реестре в разделе [sounds] и устанавливаются пользователем с помощью программы Панель управления щелчком на пиктограмме Звук.

Целый без знака параметр uType функции MessageBeep определяет воспроизводимый звук. Для него предопределены следующие константы:

Значение	Звук
MB_ICONASTERISK	Звездочка
MB_ICONEXCLAMATION	Восклицание
MB_ICONHAND	Критическая ошибка
MB_ICONQUESTION	Вопрос
MB_OK	Стандартный звук

При успешном завершении функция возвращает ненулевое значение (true). Если функция вернула нулевое значение, то получить информацию об ошибке можно с помощью вызова GetLastError.

После инициализации воспроизведения звука функция MessageBeep возвращает управление в точку вызова и воспроизведение звука производится асинхронно.

Если функция MessageBeep не нашла указанный тип звука, она пытается воспроизвести стандартный звук. Если и он не установлен или если компьютер не снабжен звуковой картой, то звук воспроизводится через динамик компьютера.


определение функции MessageBeep
BOOL MessageBeep(

  UINT uType       // тип звука

  );


MessageDlg - функция

Прототип     Примеры

Назначение

Отображает диалоговое окно сообщений в центре экрана.

Модуль Dialogs

Вызов MessageDlg отображает диалоговое окно и ожидает ответа пользователя. Сообщение в окне задается параметром функции Msg.

Вид отображаемого окна задается параметром AType. Возможные значения этого параметра:

Значение	Описание
mtWarning	Окно замечаний, содержащее желтый восклицательный знак.
mtError	Окно ошибок, содержащее красный стоп-сигнал.
mtInformation	Информационное окно, содержащее голубой символ "i".
mtConfirmation	Окно подтверждения, содержащее зеленый вопросительный знак.
mtCustom	Заказное окно без рисунка. Заголовок соответствует имени выполняемого файла приложения.

Параметр AButtons определяет, какие кнопки будут присутствовать в окне. Тип TMsgDlgBtns параметра AButtons является множеством, которое включает различные кнопки. Возможные значения видов кнопок:

Значение	Описание
mbYes	Кнопка с надписью 'Yes'
mbNo	Кнопка с надписью 'No'
mbOK	Кнопка с надписью 'OK'
mbCancel	Кнопка с надписью 'Cancel'
mbHelp	Кнопка с надписью 'Help'
mbAbort	Кнопка с надписью 'Abort'
mbRetry	Кнопка с надписью 'Retry'
mbIgnore	Кнопка с надписью 'Ignore'
mbAll	Кнопка с надписью 'All'

Список необходимых кнопок заключается в квадратные скобки [ ], поскольку параметр AButtons является множеством. Если внутри скобок список отсутствует, в окне не будет ни одной кнопки и пользователю придется закрывать окно системными кнопками Windows.

Кроме множества значений, соответствующих отдельным кнопкам, в Delphi определены три константы, соответствующие часто используемым сочетаниям кнопок:

Значение	Описание
mbYesNoCancel	Включает в окно кнопки Yes, No и Cancel
mbOkCancel	Включает в окно кнопки OK и Cancel
mbAbortRetryIgnore	Включает в окно кнопки Abort, Retry и Ignore

Эти константы являются предопределенными множествами. Поэтому при их использовании их не надо заключать в квадратные скобки [ ].

Параметр HelpCtx определяет экран контекстной справки, соответствующий данному диалоговому окну. Этот экран справки будет появляться при нажатии пользователем клавиши F1. Если вы справку не планируете, при вызове MessageDlg надо задать нулевое значение параметра HelpCtx. Подробнее о контекстной справке см. в описании свойства HelpContext.

Функция MessageDlg возвращает значение, соответствующее выбранной пользователем кнопке. Возможные возвращаемые значения:

mrNone    mrAbort    mrYes

mrOk      mrRetry    mrNo

mrCancel  mrIgnore   mrAll

Функция MessageDlg очень полезна для быстрого создания прототипа приложения и проверки диалогового взаимодействия с пользователем. Но у нее есть заметный недостаток: в заголовках и надписях на кнопках тексты английские, так что при использовании русских сообщений получается смесь русского с английским. Поэтому после создания прототипа приложения лучше заменить стандартные диалоговые окна на спроектированные самим разработчиком.

Имеется также функция MessageDlgPos, во всем аналогичная функции MessageDlg, но отображающее окно в заданном месте экрана.

При выводе простых сообщений без необходимости анализировать ответ пользователя удобно использовать другие процедуры Delphi - ShowMessage и ShowMessageFmt.


прототип функции MessageDlg

function MessageDlg(const Msg: string; AType: TMsgDlgType;

    AButtons: TMsgDlgButtons; HelpCtx: Longint): Word;


1. Заключительный диалог при окончании работы приложения.

if MessageDlg('Действительно хотите закончить приложение?',

    mtConfirmation, [mbYes, mbNo], 0) = mrYes then

  begin

    MessageDlg('Работа приложение закончена', mtInformation,

               [mbOk], 0);

    Close;

  end;

Первый вызов MessageDlg приводит к отображению окна типа mtConfirmation с вопросом о завершении приложения. Если пользователь нажимает кнопку Yes, то выводится второе окно типа mtInformation с сообщением о завершении.

1. 	Сообщение об ошибке и замечание.

on Exception do
  begin
   MessageDlg('Произошла ошибка.', mtError,

            [mbOk], 0);
   MessageDlg('Будьте внимательнее.', mtWarning,

            [mbOk], 0);
  end;

3. В каком-то диалоге, после редактирования пользователем записи ему предлагается вопрос о сохранении ее в базе данных. Если пользователь выбирает кнопку Yes, запись сохраняется методом Post; если пользователь выбирает кнопку No, результаты редактирования уничтожаются методом Cancel; если же пользователь выбирает кнопку Cancel, диалог закрывается.

case MessageDlg('Занести запись в БД?', mtCustom,
                  mbYesNoCancel, 0) of

 mrYes: DataSet1.Post;

 mrNo: DataSet1.Cancel;

 mrCancel: Close;

end;

В вызове MessageDlg использован тип mtCustom, в результате чего в заголовке окна указано имя приложения. Для задания кнопок использована константа mbYesNoCancel.


ParamCount - функция

Прототип    см.также

Возвращает число параметров командной строки

Модуль System

Функция ParamCount возвращает число параметров, переданных в программу через командную строку. Параметры в командной строке должны отделяться друг от друга пробелами или символом табуляции. Если требуется в качестве одного параметра передать в программу несколько слов, то такой параметр должен при вызове программы заключаться в двойные кавычки.

Значения переданных параметров могут быть прочитаны функцией ParamStr.


прототип функции ParamCount
function ParamCount: Integer;


ParamStr - функция

Прототип

Возвращает указанный параметр командной строки

Модуль System

Параметр Index указывает номер параметра командной строки, возвращаемой функцией ParamStr. Общее количество переданных в программу параметров командной строки определяется функцией ParamCount. Если Index превышает значение ParamCount, то возвращается пустая строка. Если задан Index = 0, то возвращается имя выполняемого файла данной программы с полным путем к нему, например: "C:\TEST\MYPROG.EXE".


прототип функции ParamStr
function ParamStr(Index: Integer): string;


Pi - функция

Примеры

Возвращает число Пи

Модуль System

Объявление

function Pi: Extended;

Описание

Функция Pi возвращает число Пи, равное 3,1415926535897932385. Используется для переводов градусов в радианы и обратно.


PlaySound - функция
PlaySound - функция API Windows

Определение   Пример

Воспроизводит звук указанного волнового файла, или звука системного события, или звука из ресурса

Параметры

Параметр pszSound представляет собой строку с нулевым символом в конце и определяет воспроизводимый звук. В зависимости от значений флага fdwSound SND_FILENAME, SND_ALIAS или SND_RESOURCE параметр pszSound может определять имя волнового файла, псевдоним системного события или идентификатор ресурса. Если ни один из этих флагов не указан, функция ищет в реестре Windows или в файле WIN.INI указанное имя звука. Если звук найден, то он воспроизводится. Если звук не найден, то параметр pszSound интерпретируется как имя файла.

Если параметр pszSound задан равным 0, то воспроизведение любого волнового файла прерывается. Для прерывания воспроизведения звука, не связанного с волновым файлом, надо указывать SND_PURGE в параметре fdwSound.

Параметр hmod используется только при параметре fdwSound равном SND_RESOURCE. В этом случае hmod является дескриптором выполняемого файла, содержащего ресурс, который должен загружаться. В противном случае значение hmod задается равным 0.

Параметр fdwSound задает флаги воспроизведения звука. Флаги могут комбинироваться друг с другом операцией or. Возможны следующие значения параметра:

SND_APPLICATION	Звук воспроизводится с использованием установок приложения.
SND_ALIAS	Параметр pszSound определяет псевдоним системного события в реестре Windows или в файле WIN.INI. Нельзя использовать совместно с SND_FILENAME и SND_RESOURCE.
SND_ALIAS_ID	Параметр szSound является предопределенным идентификатором звука.
SND_ASYNC	Звук воспроизводится асинхронно и функция PlaySound возвращается немедленно после начала воспроизведения. Чтобы прекратить асинхронное воспроизведение волнового файла, надо вызвать PlaySound с параметром pszSound, равным 0.
SND_FILENAME	Параметр pszSound является именем файла.
SND_LOOP	Воспроизведение звука постоянно повторяется, пока не вызовется PlaySound с параметром pszSound, равным 0. Одновременно надо указать флаг SND_ASYNC асинхронного воспроизведения звука.
SND_MEMORY	Файл звука события загружен в память. В этом случае параметр pszSound должен указывать на образ звука в памяти.
SND_NODEFAULT	Звук события, кроме звука по умолчанию. Если указанный звук не найден, PlaySound вернется, не воспроизводя звук по умолчанию.
SND_NOSTOP	Если заданный звук не может быть воспроизведен, поскольку ресурсы, необходимые для воспроизведения, заняты воспроизведением другого звука, функция PlaySound немедленно вернет false, не воспроизводя заданного звука. Если данный флаг не указан, функция PlaySound пытается остановит воспроизведение другого звука, чтобы устройство могло быть использовано для воспроизведения нового звука.
SND_NOWAIT	Если драйвер занят, функция сразу вернется без воспроизведения заданного звука.
SND_PURGE	Останавливается воспроизведение любых звуков, вызванных в данной задаче. Если pszSound не 0, останавливаются все экземпляры указанного звука. Если pszSound равен 0, то останавливаются все звуки, связанные с данной задачей. Отдельно надо указать дескриптор для остановки событий SND_RESOURCE.
SND_RESOURCE	Параметр pszSound является идентификатором ресурса. Параметр hmod должен указывать на источник ресурса.
SND_SYNC	Синхронное воспроизведение звука события. Функция PlaySound возвращается только после окончания воспроизведения.
Возвращаемое значение

При успешном выполнении возвращается true, в противном случае - false.

Описание

Для использования функции надо включить в оператор uses вашего приложения ссылку на mmsystem.

Звук, указанный параметром pszSound, должен помещаться в доступную память и должен подходить для установленного драйвера устройства воспроизведения волновых файлов. Функция PlaySound ищет файл звука в следующих каталогах: текущем, каталоге Windows, системном каталоге Windows, каталогах, перечисленных в переменной среды PATH, в списке каталогов, предоставляемых сетью. Более подробно последовательность поиска в каталогах рассмотрена в документации по функции OpenFile.

Если указанный звук не находится, функция PlaySound воспроизводит системный звук по умолчанию. Если функция не может найти и его, то воспроизведения не будет, а вернется значение false.


определение функции PlaySound
function PlaySound(pszSound:PChar; hmod:HINST;
                        fdwSound:Cardinal) :boolean;


пример применения функции PlaySound

Оператор

PlaySound('c:\win95\media\Звук Microsoft.wav',0,SND_ASYNC);

воспроизводит асинхронно и однократно стандартный звук Microsoft, который вы обычно можете слышать при открытии Windows.

Оператор

PlaySound('SystemStart',0,SND_ASYNC);

воспроизведет тот же самый звук, но обращение к нему производится по системному псевдониму.

Оператор

PlaySound('c:\win95\media\Звук Microsoft.wav', 0,
          SND_ASYNC or SND_LOOP);

многократно асинхронно воспроизводит стандартный звук Microsoft, начиная его снова и снова, как только он заканчивается. При таком операторе надо предусмотреть в приложении какую-нибудь кнопку, по которой воспроизведение прерывается заданием нового звука или выполнением оператора

PlaySound(0,0, SND_PURGE);

Полезно также ввести аналогичный оператор в обработчик события формы OnCloseQuery.


Point - функция

Объявление     Примеры

Создает структуру  из пары координат

Модуль

Classes

Описание

Функция Point Создает структуру TPoint из пары координат, являющихся ее параметрами. Функцию удобно использовать для задания аргументов многих функций, имеющих параметры типа TPoint.


объявление функции Point
function Point(AX, AY: Integer): TPoint;


пример применения функции Point
Задать рисование кусочно-линейной кривой удобнее оператором

Canvas.PolyLine([Point(10,10),Point(30, 10),
                Point(130,30), Point(240, 120)]);

чем с помощью кода

var P1,P2,P3,P4:TPoint;

...

P1.x:=10; P1.y:=10;

P1.x:=30; P1.y:=10;

P1.x:=130; P1.y:=30;

P1.x:=240; P1.y:=120;

Canvas.PolyLine([P1,P2,P3,P4]);


PostMessage - функция
PostMessage - функция API Windows

Объявление

Функция помещает указанное в ней сообщение окну или множеству окон в очередь сообщений потока, создавшего эти окна, и возвращается, не дожидаясь окончания обработки этого сообщения

Модуль Windows

Параметры

Параметр hWnd - дескриптор окна, которому передается сообщение. Если этот параметр равен HWND_BROADCAST, то сообщение передается всем окнам верхнего уровня в системе, включая недоступные, невидимые, перекрытые другими и всплывающие, за исключением дочерних окон. Если этот параметр NULL, то сообщение ставится в очередь сообщений (если она есть) текущего процесса.

Параметр Msg определяет передаваемое сообщение. Параметры wParam и lParam могут содержать дополнительную информацию.

Возвращаемое значение

Функция возвращает ненулевое значение при успешном завершении и нуль при аварийном завершении. В этом случае причину ошибки можно установить вызовом функции GetLastError.

Описание

Функция PostMessage ставит указанное в ней сообщение окну или множеству окон в очередь сообщений потока, создавшего эти окна, и возвращается, не дожидаясь окончания обработки этого сообщения. Этим функция PostMessage отличается от функции SendMessage, которая ждет окончания обработки сообщения и на это время блокирует приложение, которое послало сообщение. Сообщения в дальнейшем изымаются из очереди функциями GetMessage и PeekMessage.

Если вы посылаете сообщение в диапазоне ниже WM_USER асинхронными функциями PostMessage, SendNotifyMessage или SendMessageCallback, надо быть уверенным, что параметры сообщения не включают указателей. В противном случае из-за немедленного возврата функции может оказаться, что к моменту, когда поток начнет обрабатывать сообщение, приложение, которое его послало, окажется уже удаленным из памяти.


объявление функции PostMessage
function PostMessage(hWnd: HWnd;  Msg, wParam: word;
                     lParam:LongInt):boolean;


Rect - функция

Определение     Примеры

Создает структуру TRect из набора координат

Модуль Classes

Описание

Вызов функции Rect позволяет создать структуру типа TRect, описывающую прямоугольную область с координатами ALeft - левый край, ATop - верх, ARight - правый край, ABottom - низ. Функция применяется для задания значений параметрам и свойствам типа TRect, в частности, свойств BoundsRect, ClientRect и др.


определение функции Rect
function Rect(ALeft, ATop, ARight, ABottom: Integer): TRect;


пример применения функции Rect
Приведенный ниже оператор размещает окно текстового редактора Memo1 на его родительской панели Panel1, оставляя слева, внизу и справа зазор в 10 пикселей (для более приятного вида), а сверху - зазор 40 пикселей (например, для размещения заголовка окна):

Memo1.BoundsRect :=
     Rect(10,40,Panel1.ClientWidth-10,Panel1. ClientHeight-10);


RegisterWindowMessage - функция
RegisterWindowMessage - функция API Windows

Объявление

Функция определяет новое окно сообщения с гарантированной уникальностью его в системе, которое может использоваться в функциях SendMessage и PostMessage.

Параметры

lpString - указатель на строку с нулевым символом, содержащую регистрируемое сообщение.

Возвращаемое значение

Если регистрация прошла успешно, то возвращается идентификатор сообщения в диапазоне от 0xC000 до 0xFFFF. Если регистрация завершилась аварийно, то возвращается нулевое значение.

Описание

Функция используется для регистрации сообщений, предназначенных для связи между различными совместно работающими приложениями. Если два приложения регистрируют одну и ту же строку сообщения, то им возвращается одинаковый номер этого сообщения. Регистрация действительна до конца сеанса работы Windows.

Функцию RegisterWindowMessage следует использовать только в случаях, когда несколько приложений должны обрабатывать одно и то же сообщение. Для посылки собственных сообщений внутри данного класса оконных компонентов следует использовать любое целое в диапазоне от WM_USER до 0x7FFF.


объявление функции RegisterWindowMessage
UINT RegisterWindowMessage(LPCTSTR PChar);


SendMessage - функция
SendMessage - функция API Windows

Объявление

Функция посылает указанное в ней сообщение окну или множеству окон и не возвращается, пока это сообщение обрабатывается

Модуль Windows

Параметры

Параметр hWnd - дескриптор окна, которому передается сообщение. Если этот параметр равен HWND_BROADCAST, то сообщение передается всем окнам верхнего уровня в системе, включая недоступные, невидимые, перекрытые другими и всплывающие, за исключением дочерних окон.

Параметр Msg определяет передаваемое сообщение. Параметры wParam и lParam могут содержать дополнительную информацию.

Возвращаемое значение

Значение, возвращаемое функцией, зависит от вида сообщения.

Описание

Функция SendMessage посылает указанное в ней сообщение окну или всем окнам верхнего уровня в системе, включая недоступные и невидимые, кроме дочерних. Функция не возвращается, пока это сообщение обрабатывается. Таким образом, приложение, пославшее сообщение, блокируется на время его обработки. Этим функция SendMessage отличается от функции PostMessage, которая возвращается сразу после передачи сообщения.

Приложения, использующие hWnd = HWND_BROADCAST для связи между окнами разных приложений должны предварительно зарегистрировать уникальность своих сообщений функцией RegisterWindowMessage.


объявление функции SendMessage
function SendMessage(hWnd: HWnd;  Msg, wParam: word;
                     lParam:LongInt): LongInt;


ShellExecute - функция
ShellExecute - функция API Windows

Определение     Примеры

Открывает или печатает указанный файл или открывает указанную папку

Модуль ShellAPI

Описание

Функция ShellExecute позволяет выполнить любое приложение Windows. Можно также открыть файл документа, что означает выполнение связанного с ним приложения и загрузку в него этого документа. Например, обычно с документами, имеющими расширение .doc, связан Winword. В этом случае открыть файл, например, с именем 'file.doc' означает запустить Winword и передать ему в качестве параметра имя файла 'file.doc'. Кроме описанных возможностей функция ShellExecute позволяет распечатать указанный файл или открыть указанную папку. Последнее означает, что будет запущена программа 'Проводник' с открытой указанной папкой.

Параметры функции означают следующее:

Параметр	Описание
Wnd	Родительское окно, в котором отображаются сообщения запускаемого приложения.
Operation	Указывает на строку с нулевым символом в конце, которая определяет выполняемую операцию. Эта строка может содержать текст "open" (открыть) или "print" (напечатать). Для Windows 95 и NT определено еще одно значение: "explore" (исследовать) - открыть папку. Если параметр Operation равен nil, то по умолчанию выполняется операция "open".
FileName	Указывает на строку с нулевым символом в конце, которая определяет имя открываемого файла.
Parameters	Указывает на строку с нулевым символом в конце, которая определяет передаваемые в приложение параметры, если FileName определяет выполняемый файл. Если FileName указывает на строку, определяющую открываемый документ, то этот параметр задается равным nil.
Directory	Указывает на строку с нулевым символом в конце, которая определяет каталог по умолчанию.
ShowCmd	Определяет, режим открытия указанного файла. Этот параметр может иметь значения:
		SW_HIDE	Окно делается невидимым и фокус передается другому окну.
		SW_MINIMIZE	Свертывает (минимизирует) указанное окно и активизирует следующее в Z-последовательности окно верхнего уровня в списке системы.
		SW_MAXIMIZE	Развертывает (максимизирует) указанное окно.
		SW_RESTORE	Активизирует и отображает окно. Если это окно свернуто или развернуто, то оно восстанавливается до своих первоначальных размеров и отображается в первоначальной позиции (почти то же самое, что SW_SHOWNORMAL).
		SW_SHOW	Активизирует и отображает окно в его текущей позиции и с текущими размерами.
		SW_SHOWDEFAULT	Только для Windows 95 и NT. Устанавливает состояние в соответствии с флагом SW_ в структуре STARTUPINFO, передаваемой в функцию CreateProcess программой, запускающей приложение. Приложение должно вызывать ShowWindow с этим флагом, чтобы задать начальное состояние своего главного окна.
		SW_SHOWMAXIMIZED	Активизирует и отображает окно в развернутом виде (максимизированном).
		SW_SHOWMINIMIZED	Активизирует и отображает окно в свернутом виде (в виде пиктограммы).
		SW_SHOWMINNOACTIVE	Отображает окно в свернутом виде (в виде пиктограммы). Активным остается то окно, которое было активным до этого.
		SW_SHOWNA	Отображает окно в его текущей позиции и с текущими размерами. Активным остается то окно, которое было активным до этого.
		SW_SHOWNOACTIVATE	Отображает окно в его последней позиции и с последними размерами. Активным остается то окно, которое было активным до этого.
		SW_SHOWNORMAL	Активизирует и отображает окно. Если это окно свернуто или развернуто, то оно восстанавливается до своих первоначальных размеров и отображается в первоначальной позиции (почти то же самое, что SW_RESTORE).

Функция возвращает дескриптор открытого приложения или дескриптор сервера DDE приложения. Если возвращаемое значение меньше или равно 32, это указывает на ошибку. Значения ошибок означают следующее (в Windows 95 и NT для этих ошибок имеются именованные константы - см. справку Delphi 3):

Значение	Пояснение
0	Системе не хватает памяти, выполняемый файл испорчен или произошло ошибочное перераспределение памяти.
2	Файл не найден.
3	Путь не найден.
5	Была попытка динамически связаться с задачей, была ошибка многопроцессорного выполнения или ошибка защиты сети.
6	Библиотека требует отдельных сегментов данных для каждой задачи.
8	Недостаточно памяти для запуска приложения.
10	Ошибочная версия Windows.
11	Ошибочный выполняемый файл. Или это не приложение Windows, или ошибка в .exe файле.
12	Приложение спроектировано для другой операционной системы.
13	Приложение спроектировано для MS-DOS 4.0.
14	Неизвестный тип выполняемого файла.
15	Попытка запустить приложение, работающее только на более ранних версиях Windows.
16	Попытка запустить второй экземпляр приложения, содержащего сегменты данных, не помеченные "только для чтения".
19	Попытка запустить архивированный файл. Файл должен быть разархивирован, прежде чем его можно будет загрузить.
20	Ошибочный файл одной из DLL, требуемой для приложения.
21	Приложение требует 32-битного расширения Windows.
31	Нет приложения, связанного с файлом указанного типа, или нет файла, связанного с указанной операцией.

Параметры Operation, FileName, Parameters и Directory являются строками с нулевым символом в конце, т.е. строками типа PChar. Для Delphi 3 это не существенно, т.к. в ней по умолчанию используются строки с нулевым символом в конце. Поэтому в Delphi 3 вместо этих параметров можно использовать просто литеральные константы или строковые переменные. Но в Delphi 1 это приводит в ряде случаев к необходимости преобразования строк.


опрделение функции ShellExecute
function ShellExecute(Wnd: HWnd;
          Operation, FileName, Parameters, Directory: PChar;
          ShowCmd: Integer): THandle;


пример применения функции ShellExecute
1. Пусть вы хотите открыть файл документа с именем 'file.doc', т.е. запустить Winword (обычно именно он связан с файлами .doc), загрузив в него указанный файл. Тогда в Delphi 3 вы можете написать:

ShellExecute(Handle,nil,'file.doc',nil,nil,SW_RESTORE);

Однако, в Delphi 1 это должно выглядеть так:

var APchar:array[0..254] of char;

...

StrPCopy(APchar, 'file.doc');

ShellExecute(Handle,nil,APchar,nil,nil,SW_RESTORE);

или так:

ShellExecute(Handle,nil, StrPCopy(APchar, 'file.doc'),
               nil,nil,SW_RESTORE);

2. Печать документа осуществляется аналогично рассмотренному выше, только надо задать соответствующее значение параметра Operation (дальнейшие примеры приводятся для Delphi 3):

ShellExecute(Handle, 'print','file.doc',nil,nil,SW_RESTORE);

Выполнение этого оператора будет протекать следующим образом. Запустится Winword, связанный с файлами .doc, в него загрузится файл 'file.doc', затем из Winword запустится печать с атрибутами по умолчанию, после чего файл 'file.doc' выгрузится из Winword.

3. Ниже дан пример открытия приложения 'Калькулятор':

ShellExecute(Handle,'open','Calc',nil,nil,SW_RESTORE);

4. Следующий пример открывает папку c:\Program Files\Borland:

ShellExecute(Handle,'explore', 'c:\Program Files\Borland',
               nil,nil,SW_RESTORE);


ShortCut - функция

Прототип   Примеры

Назначение

Создает структуру, используемую для задания комбинации "горячих" клавиш разделу меню

Модуль Menus

Функция ShortCut создает во время выполнения структуру TShortCut, используемую для задания свойства ShortCut раздела меню, определяющего соответствующую этому разделу комбинацию "горячих" клавиш. Параметр Key определяет виртуальный код клавиши, а параметр Shift задает комбинацию вспомогательных клавиш типа Shift, Ctrl и Alt.

Функция ShortCut выполняется быстрее, чем функция TextToShortCut, которая создает аналогичную структуру из строки текста. Но зато функцию TextToShortCut удобнее использовать в диалоге, когда комбинацию "горячих" клавиш задает пользователь с помощью окна редактирования.


прототип функции ShortCut
type TShortCut = Low(Word) .. High(Word);

type TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft,
                           ssRight, ssMiddle, ssDouble);

function ShortCut(Key: Word; Shift: TShiftState): TShortCut;


Оператор

MOpen.ShortCut := ShortCut(Word('O'), [ssCtrl]);

задает разделу меню с именем MOpen "горячие" клавиши Ctrl-O. Оператор

MOpen.ShortCut := ShortCut(Word('O'), [ssCtrl,ssAlt]);

задает тому же разделу комбинацию Ctrl-Alt-O.


ShortCutToText - функция

Прототип   Примеры

Назначение

Преобразует структуру, содержащую комбинацию "горячих" клавиш раздела меню, в строку текста

Модуль Menus

Функция ShortCutToText позволяет получить описание в виде текста структуры ShortCut типа TShortCut, используемой для задания свойства ShortCut раздела меню, определяющего соответствующую этому разделу комбинацию "горячих" клавиш.

Функцию ShortCutToText удобно использовать для вывода пользователю используемой комбинации "горячих" клавиш, если ему предоставляется возможность изменять ее.


прототип функции ShortCutToText
type TShortCut = Low(Word) .. High(Word);

function ShortCutToText(ShortCut: TShortCut): string;


пример применения функции ShortCutToTextPR

Приведенные ниже процедуры обеспечивают задание пользователем комбинации "горячих" клавиш для раздела меню, названного в программе Open. Первая процедура с помощью ShortCutToText задает начальное значение текста в окне редактирования, равное исходной комбинации клавиш. А вторая - с помощью функции TextToShortCut изменяет комбинацию на заданную пользователем. Пользователь может задать, например, комбинацию Ctrl-O или как "^O", или как "Ctrl+O".

procedure TForm1.Button1Click(Sender: TObject);

begin

  Edit1.Text := ShortCutToText (MOpen.ShortCut);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

  MOpen.ShortCut := TextToShortCut(Edit1.Text);

end;


TextToShortCut - функция

Прототип   Примеры

Назначение

Создает из строки текста структуру, используемую для задания комбинации "горячих" клавиш разделу меню

Модуль Menus

Функция TextToShortCut создает во время выполнения структуру TShortCut, используемую для задания свойства ShortCut раздела меню, определяющего соответствующую этому разделу комбинацию "горячих" клавиш. Параметр Text определяет текст исходной строки.

Функцию TextToShortCut удобно использовать для ввода пользователем желательной ему комбинации "горячих" клавиш.

Функция TextToShortCut выполняется медленнее, чем функция ShortCut, которая создает аналогичную структуру. Поэтому, где возможно, лучше использовать ShortCut.


прототип функции TextToShortCut
type TShortCut = Low(Word) .. High(Word);

function TextToShortCut(Text: string): TShortCut;


Приведенные ниже процедуры обеспечивают задание пользователем комбинации "горячих" клавиш для раздела меню, названного в программе Open. Первая процедура с помощью ShortCutToText задает начальное значение текста в окне редактирования, равное исходной комбинации клавиш. А вторая - с помощью функции TextToShortCut изменяет комбинацию на заданную пользователем. Пользователь может задать, например, комбинацию Ctrl-O или как "^O", или как "Ctrl+O".

procedure TForm1.Button1Click(Sender: TObject);

begin

  Edit1.Text := ShortCutToText (MOpen.ShortCut);

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

  MOpen.ShortCut := TextToShortCut(Edit1.Text);

end;


VarArrayCreate - функция

Объявление    Пример

Создает многомерный массив variant

Модуль

System

Описание

Функция VarArrayCreate создает массив variant с пределами, заданными параметром Bounds и типом элементов, заданным параметром VarType. Параметр Bounds должен содержать четное число значений, каждая пара которых задает пределы изменения индексов соответствующего измерения. Параметр VarType задает тип элементов, который должен быть одним из типов TVarData и не может включать varArray, varByRef или varString. Создание массива variant строк осуществляется с помощью varOleStr. Если тип элементов varVariant, то эти элементы сами являются variant и  могут включать в себя массивы variant.


объявление функции VarArrayCreate
function VarArrayCreate(const Bounds: array of Integer;
                        VarType: Integer): Variant;


пример применения функции VarArrayCreate
var V:variant;

...

V := VarArrayCreate([0,9,0,3], varInteger);

Эти операторы создают двумерный массив variant, в котором первое измерение содержит 10 элементов (от 0 до 9), а второе - 4 (от 0 до 3).


VarArrayDimCount - функция

Объявление    Пример

Возвращает число измерений массива variant

Модуль

System

Описание

Функция VarArrayDimCount возвращает число измерений массива variant, указанного параметра A. Возвращается нуль, если A - не массив variant.


объявление функции VarArrayDimCount
function VarArrayDimCount(const A: Variant): Integer;


пример применения функции VarArrayDimCount
Если массив V создан операторами

var V:variant;
    i:word;

...

V := VarArrayCreate([0,9,0,3], varInteger);

то оператор

i:=VarArrayDimCount(V);

присвоит переменной i значение 2, так как V - двумерный массив.


VarArrayHighBound - функция

Объявление

Возвращает верхнюю границу индексов заданного измерения массива variant

Модуль

System

Описание

Функция VarArrayHighBound возвращает верхнюю границу индексов заданного измерения массива variant. Параметр A - массив variant, параметр Dim - измерение. Dim = 1 - самое левое измерение.

Если A -  не массив, или если заданного измерения Dim не существует, генерируется исключение EVariantError.


объявление функции VarArrayHighBound
function VarArrayHighBound(const A: Variant;
                           Dim: Integer): Integer;


пример применения функции VarArrayHighBound
Если массив V создан операторами

var V:variant;
    i:word;

...

V := VarArrayCreate([0,9,0,3], varInteger);

то оператор

i:= VarArrayHighBound(V,1);

присвоит переменной i значение 9 - максимального значения индекса первого измерения, оператор

i:= VarArrayHighBound(V,2);

присвоит переменной i значение 2 - максимального значения индекса второго измерения, а оператор

i:= VarArrayHighBound(V,3);

вызовет генерацию исключения EVariantError, так как V - двумерный массив.


VarArrayLowBound - функция

Объявление

Возвращает нижнюю границу индексов заданного измерения массива variant

Описание

Функция VarArrayLowBound возвращает нижнюю границу индексов заданного измерения массива variant. Параметр A - массив variant, параметр Dim - измерение. Dim = 1 - самое левое измерение.

Если A -  не массив, или если заданного измерения Dim не существует, генерируется исключение EVariantError.


объявление функции VarArrayLowBound
function VarArrayLowBound(const A: Variant;
                           Dim: Integer): Integer;


пример применения функции VarArrayLowBound
Если массив V создан операторами

var V:variant;
    i:word;

...

V := VarArrayCreate([0,9,1,3], varInteger);

то оператор

i:= VarArrayLowBound(V,1);

присвоит переменной i значение 0 - минимального значения индекса первого измерения, оператор

i:= VarArrayLowBound(V,2);

присвоит переменной i значение 1 - минимального значения индекса второго измерения, а оператор

i:= VarArrayLowBound(V,3);

вызовет генерацию исключения EVariantError, так как V - двумерный массив.


VarType - функция

Прототип

Возвращает код типа значения переменной variant

Модуль System

Функция VarType позволяет узнать действительный тип значения переменной variant. Функция возвращает значение типа TVarData, содержащее код типа. Запись TVarData определена в модуле System. Имеется также предопределенная константа varTypeMask, сложение которой по операции and с переменной типа TVarData возвращает истинный тип переменной. Например, выражение

VarType(V) and varTypeMask = varDouble

вернет true, если в переменной V в данный момент хранится значение типа double или массив значений типа double.

Возможные значения типов, возвращаемых функцией VarType, следующие:

varEmpty	$0000	переменная в состоянии Unassigned
varNull	$0001	значение переменной равно null
VarSmallint	$0002	тип Smallint
varInteger	$0003	тип Integer
varSingle	$0004	тип Single
varDouble	$0005	тип Double
varCurrency	$0006	тип Currency
varDate	$0007	тип TDateTime (дата и время)
varOLEStr	$0008	ссылка на динамически размещенную строку UNICODE
varDispatch	$0009	ссылка на автоматический объект (указатель на интерфейс IDispatch)
varError	$000A	код ошибки операционной системы
varBoolean	$000B	тип WordBool
varUnknown	$000D	ссылка на неизвестный объект COM (указатель на интерфейс IUnknown)
varByte	$0011	тип Byte
varString	$0100	ссылка на динамически размещенную строку в стиле Pascal (тип AnsiString).
varTypeMask	$0FFF	битовая маска для извлечения кода типа
varArray	$2000	бит, устанавливаемый при ссылке на массив variant
varByRef	$4000	бит, устанавливаемый при ссылке на тип variant

Двенадцать младших битов, определенные маской varTypeMask, соответствуют типу данных. Бит varArray установлен, если в переменной хранится массив данного типа. Бит varByRef установлен, если переменная является ссылкой на данный тип.


прототип функции VarType

function VarType(const V: Variant): Integer;


WinExec - функция
WinExec - функция API Windows

Определение     Примеры

Запускает указанное приложение

Описание

Функция WinExec позволяет выполнить указанное приложение. Параметр CmdLine является указателем на строку с нулевым символом в конце, содержащую имя выполняемого файла и, если необходимо, параметры командной строки.

Если имя указано без пути, то Windows ищет выполняемый файл в следующей последовательности:

1.	Каталог, из которого загружено приложение.

2.	Текущий каталог.

3.	Системный каталог Windows, возвращаемый функцией GetSystemDirectory.

4.	Каталог Windows, возвращаемый функцией GetWindowsDirectory.

5.	Список каталогов из переменной окружения PATH.

Параметр CmdShow определяет форму представления окна запускаемого приложения Windows. Возможные значения этого параметра см. в разделе ShellExecute. Для приложений не Windows, для файлов PIF и т.д. состояние окна определяет само приложение.

При успешном выполнении запуска приложения функция WinExec возвращает значение, большее 31. При неудаче могут возвращаться следующие значения (именованные константы используются только Win32, а для Delphi 1 можно использовать только номера, причем их больше, чем приведено в таблице - см. раздел ShellExecute):

Значение	Номер	Описание
0	0	Не хватает памяти или ресурсов системы.
ERROR_BAD_FORMAT	11	Ошибочный файл .exe (например, не для Win32 .EXE).
ERROR_FILE_NOT_FOUND	2	Указанный файл не найден.
ERROR_PATH_NOT_FOUND	3	Указанный каталог не найден.

Достоинством функции WinExec является ее совместимость с ранними версиями Windows. Собственно для этого она и сохраняется в WIN32, хотя для Win32 рекомендуется пользоваться функцией CreateProcess (об этой функции см. встроенную в Delphi справку).

При работе с Win32 функция WinExec завершает работу, если вызванное приложение вызывает функцию GetMessage или заканчивается выделенный лимит времени. Таким образом, ожидание можно прервать, предусмотрев в процессе, запущенном с помощью WinExec, в нужный момент вызов функции GetMessage.


определение функции WinExec
function WinExec(CmdLine: PChar; CmdShow: integеr)
                 : integer;


пример применения функции WinExec
Оператор

WinExec('file.exe',SW_RESTORE);

запускает программу file.exe. Оператор

WinExec('nc',SW_RESTORE);

запускает Norton Commander. Оператор

WinExec(}'COMMAND.COM',SW_RESTORE);

приводит к запуску MS-DOS.

Приведенные примеры относятся к Delphi 3. Если используется Delphi 1, то необходимо учитывать, что в ней по умолчанию строки трактуются в стиле Pascal и не имеют нулевого символа в конце. Поэтому надо использовать функции преобразования типов строк. Например, запуск на выполнение файла file.exe в Delphi 1 может выглядеть так:

var APchar:array[0..254] of char;

...

StrPCopy(APchar, 'file.exe');

WinExec(APchar, SW_RESTORE);

или так:

WinExec(StrPCopy(APchar,'file.exe'),SW_RESTORE);


TIniFile - класс

Иерархия   Свойства  Методы   Примеры   см.также

Тип объекта, отображающего файл .INI

Модуль inifiles

Описание

Файлы .INI - это текстовые файлы, предназначенные в 16-разрядных Windows 3.x для хранения информации о настройках различных приложений. Информация логически группируется в разделы, каждый из которых начинается оператором заголовка, заключенным в квадратные скобки. Например, [Desktop]. В строках, следующих за заголовком содержится информация, относящаяся к данному разделу, в форме:

<ключ>=<значение>

<keyname>=<value>

В Windows 95 и NT использование файлов .INI не поощряется и вместо типа TIniFile, инкапсулирующего свойства этих файлов, используются типы TRegistry,  TRegIniFile и TRegistryIniFile, инкапсулирующие свойства системного реестра registry.

Когда в приложении создается объект типа TIniFile, ему передается как FileName имя файла, с которым он связан. Свойства и методы TIniFile позволяют читать из файла .INI, записывать в него информацию, удалять целые разделы.


Основные свойства TIniFile

Все свойства   TIniFile

Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, - FileName. Значение этого свойства можно задать и перед обращением к диалогу. Тогда оно появится в диалоге как значение по умолчанию в окне Имя файла

Типы искомых файлов, появляющиеся в диалоге в выпадающем списке Тип файла, задаются свойством Filter. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров, который вызывается нажатием кнопки с многоточием около имени этого свойства в Инспекторе Объектов. При этом открывается окно редактора. В его левой панели Filter Name вы записываете тот текст, который увидит пользователь в выпадающем списке Тип файла диалога. А в правой панели окна редактора записываются разделенные точками с запятой шаблоны фильтра.

После выхода из окна редактирования фильтров заданные вами шаблоны появятся в свойстве Filter в виде строки. Например:

текстовые (*.txt, *.doc)|*.txt; *.doc|все файлы|*.*

В этой строке тексты и шаблоны разделяются вертикальными линиями. В аналогичном виде, если требуется, можно задавать свойство Filter программно во время выполнения приложения.

Единственное отличие OpenPictureDialog и SavePictureDialog от OpenDialog и SaveDialog - заданное значение по умолчанию свойства Filter. В этих компонентах заданы следующие фильтры:

All (*.jpg;*.jpeg;*.bmp;*.ico; *.emf;*.wmf)	*.jpg;*.jpeg;*.bmp; *.ico;*.emf;*.wmf
JPEG Image File (*.jpg)	*.jpg
JPEG Image File (*.jpeg)	*.jpeg
Bitmaps (*.bmp)	*.bmp
Icons (*.ico)	*.ico
Enhanced Metafiles (*.emf)	*.emf
Metafiles (*.wmf)	*.wmf

В этих фильтрах перечислены все типы графических файлов, с которыми можно работать. Так что вам остается удалить, если хотите, фильтры тех файлов, с которыми вы не хотите работать, добавить, может быть, фильтр "Все файл (*.*)" и перевести на русский язык названия типов.


Все свойства TIniFile

Основные свойства   TIniFile

Свойство	Описание
FileName	Возвращает в виде строки файл, выбранный пользователем.


Основные методы TIniFile

Полный список   TIniFile

Метод	Описание
Create	Конструктор объекта, задающий имя файла .INI в свойство FileName.
DeleteKey	Удаляет значение ключа Ident в разделе Section.
EraseSection	Удаляет раздел Section со всеми его ключами.
ReadBool	Возвращает булево значение ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadDate	Возвращает значение даты типа TDateTime ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadDateTime	Возвращает значение даты и времени типа TDateTime ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadFloat	Возвращает действительное значение ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadInteger	Возвращает целое значение ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadSection	Читает в Strings типа TStrings имена всех ключей раздела Section.
ReadSections	Читает в Strings типа TStrings имена всех разделов файла.
ReadSection Values	Читает в Strings типа TStrings значения всех ключей раздела Section.
ReadString	Возвращает строку значения ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadTime	Возвращает значение времени типа TDateTime ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
SectionExists	Возвращает true, если в файле существует раздел Section.
ValueExists	Возвращает true, если в файле существует ключ Ident в разделе Section.
WriteBool	Записывает булево значение Value в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteDate	Записывает значение даты Value типа TDateTime в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteDateTime	Записывает значение даты и времени Value типа TDateTime в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteFloat	Записывает действительное значение Value в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteInteger	Записывает целое значение Value в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteString	Записывает значение Value в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteTime	Записывает значение времени Value типа TDateTime в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
UpdateFile	Очищает буфер и записывает файл на диск. Действует только на Windows 95 и 98, т.к. Windows NT не использует буфер.


Все методы TIniFile

Основные методы   TIniFile

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Конструктор объекта, задающий имя файла .INI в свойство FileName.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
DeleteKey	Удаляет значение ключа Ident в разделе Section.
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
EraseSection	Удаляет раздел Section со всеми его ключами.
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
ReadBool	Возвращает булево значение ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadDate	Возвращает значение даты типа TDateTime ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadDateTime	Возвращает значение даты и времени типа TDateTime ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadFloat	Возвращает действительное значение ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadInteger	Возвращает целое значение ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadSection	Читает в Strings типа TStrings имена всех ключей раздела Section.
ReadSections	Читает в Strings типа TStrings имена всех разделов файла.
ReadSection Values	Читает в Strings типа TStrings значения всех ключей раздела Section.
ReadString	Возвращает строку значения ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
ReadTime	Возвращает значение времени типа TDateTime ключа Ident раздела Section. Default - значение по умолчанию, возвращаемое, если не нашлось раздела, ключа или значения.
SafeCall Exception	Обрабатывает исключения OLE и Com
SectionExists	Возвращает true, если в файле существует раздел Section.
UpdateFile	Очищает буфер и записывает файл на диск. Действует только на Windows 95 и 98, т.к. Windows NT не использует буфер.
ValueExists	Возвращает true, если в файле существует ключ Ident в разделе Section.
WriteBool	Записывает булево значение Value в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteDate	Записывает значение даты Value типа TDateTime в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteDateTime	Записывает значение даты и времени Value типа TDateTime в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteFloat	Записывает действительное значение Value в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteInteger	Записывает целое значение Value в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteString	Записывает значение Value в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.
WriteTime	Записывает значение времени Value типа TDateTime в строку ключа Ident раздела Section. Если нужной строки или раздела нет, они создаются.


TRegistry - класс

Иерархия   Свойства   Методы   Примеры   см.также

Тип объекта, позволяющего работать с реестром Windows 95/98/NT

Модуль registry

Описание

Класс TRegistry инкапсулирует доступ к системному реестру Windows 95/NT. Реестр, используемый в Windows 95/NT вместо файлов .INI в Windows 3.x, хранит информацию о конфигурации в виде иерархического дерева, каждый узел которого называется ключом. Ключ может содержать субключи и значения параметров.

Все ключи в приложении создаются как субключи предопределенного корневого ключа (по умолчанию HKEY_CURRENT_USER).

Объект типа TRegistry имеет доступ только к одному текущему ключу, задаваемому свойством CurrentKey. Методы TRegistry позволяют открывать, закрывать, сохранять, перемещать, копировать и удалять ключи. Можно также узнавать, имеют ли ключи параметры, читать параметры и записывать параметры в ключ.


Основные свойства TRegistry

Все свойства TRegistry

Свойство	Тип	Описание
CurrentKey	HKEY	Текущий открытый ключ. Все операции с Tregistry влияют только на открытый ключ реестра. Если вы хотите открыть новый ключ, делайте это методами OpenKey или OpenKeyReadOnly. Свойство только для чтения.
CurrentPath	string	Путь по реестру от корня до текущего ключа включительно. Свойство только для чтения
LazyWrite	boolean	Определяет способ записи ключей в реестр при выполнении CloseKey. Если LazyWrite = true (по умолчанию), то процедура CloseKey может вернуться до завершения записи. В противном случае процедура ожидает завершения записи. Это снижает производительность.
RootKey	HKEY	Определяет корневой ключ. По умолчанию – HKEY_CURRENT_USER. Если это значение требуется изменить (например, для процедур LoadKey или RegistryConnect, надо задать в качестве RootKey допустимое целое значение.


Все свойства TRegistry

Основные свойства TRegistry

Свойство	Описание
Access	Определяет уровень доступа к открытым ключам
CurrentKey	Текущий открытый ключ. Все операции с Tregistry влияют только на открытый ключ реестра. Если вы хотите открыть новый ключ, делайте это методами OpenKey или OpenKeyReadOnly. Свойство только для чтения.
CurrentPath	Путь по реестру от корня до текущего ключа включительно. Свойство только для чтения
LazyWrite	Определяет способ записи ключей в реестр при выполнении CloseKey. Если LazyWrite = true (по умолчанию), то процедура CloseKey может вернуться до завершения записи. В противном случае процедура ожидает завершения записи. Это снижает производительность.
RootKey	Определяет корневой ключ. По умолчанию – HKEY_CURRENT_USER. Если это значение требуется изменить (например, для процедур LoadKey или RegistryConnect, надо задать в качестве RootKey допустимое целое значение.


Основные методы TRegistry

Полный список TRegistry

Метод	Описание
CloseKey	Записывает в реестр текущий ключ и закрывает его. Способ записи определяется свойством LazyWrite Не следует держать ключ открытым дольше, чем это необходимо. Многие методы вызывают CloseKey автоматически после чтения или записи в реестр.
Create	Конструктор объекта типа TRegistry. Устанавливает корневой ключ (RootKey) равным HKEY_CURRENT_USER и значение LazyWrite в true.
CreateKey	Добавляет в реестр новый ключ Key
DeleteKey	Удаляет из реестра ключ Key и его параметры. В Windows 95 удаляются и все его субключи. В Windows NT субключи должны удаляться явным образом соответствующими вызовами DeleteKey.
DeleteValue	Удаляет параметр Name текущего ключа. В случае успешного удаления возвращает true.
GetDataInfo	Дает информацию об указанном параметре текущего ключа
GetDataSize	Возвращает размер в байтах значения параметра ValueName текущего ключа. Если параметр являются строкой, то возвращенное значение учитывает нулевой завершающий символ. Если выполнение функции завершается ошибкой, возвращается -1.
GetDataType	Возвращает характеристику типа параметра ValueName текущего ключа. Информация возвращается как значение перечислимого типа TRegDataType.
GetKeyInfo	Возвращает информацию о текущем ключе
GetKeyNames	Возвращает список Strings имен всех субключей текущего ключа
GetValueNames	Возвращает список Strings имен всех параметров текущего ключа
HasSubKeys	Возвращает true, если текущий ключ имеет хотя бы один субключ
KeyExists	Определяет, имеется ли в реестре ключ Key.
LoadKey	Создает ключ и загружает в него данные из указанного файла.
MoveKey	Копирует (при Delete=false) или перемещает (при Delete=true) ключ OldName, давая ему новое имя NewName. Копируются или перемещаются также все субключи и параметры ключа. В Windows NT копирование может быть рекурсивным.
OpenKey	Открывает ключ Key, делая его текущим для объекта. Если Key равен null, то текущим делается корневой ключ, указанный свойством RootKey. Параметр CanCreate указывает, должен ли создаваться ключ Key, если его нет в реестре. Ключ открывается или создается с доступом KEY_ALL_ACCESS. Создаваемый ключ сохраняется в реестре при последующих запусках системы.
OpenKeyReadOnly	Открывает ключ Key только для чтения, делая его текущим для объекта. Если Key равен null, то текущим делается корневой ключ, указанный свойством RootKey. Параметр CanCreate указывает, должен ли создаваться ключ Key, если его нет в реестре. Ключ открывается или создается с доступом KEY_ALL_ACCESS. Создаваемый ключ сохраняется в реестре при последующих запусках системы.
ReadBinaryData	Читает двоичные данные параметра Name текущего ключа в буфер Buffer размера BufSize. Подобные данные обычно являются записями. Это может быть и графика, хотя Microsoft возражает против хранения графики в реестре. При ошибке чтения генерируется исключение.
ReadBool	Возвращает булево значение параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadCurrency	Возвращает значение типа Currency параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadDate	Возвращает значение даты типа TDateTime параметра Name текущего ключа, записанных ранее процедурой WriteDate. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadDateTime	Возвращает значение даты и времени типа TDateTime параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadFloat	Возвращает действительное значение параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadInteger	Возвращает целое значение параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadString	Возвращает строку значения параметра Name текущего ключа. Возвращается строка, ранее записанная методами WriteString или WriteExpandString. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadTime	Возвращает значение времени типа TDateTime параметра Name текущего ключа, записанных ранее процедурой WriteTime. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
RegistryConnect	Устанавливает связь с реестром другого компьютера.
RenameValue	Изменяет имя параметра текущего ключа с OldName на NewName. Параметр OldName должен существовать, а параметра OldName не должно быть до выполнения этого метода. В противном случае параметр останется неизмененным.
ReplaceKey	Заменяет сохраненную в одном файле информацию о ключе, его субключах и параметрах аналогичной информацией из другого файла.
RestoreKey	Открывает ключ и заменяет его содержимое информацией, хранящейся в файле.
SaveKey	Открывает ключ и сохраняет параметры его и всех его субключей в файле.
UnLoadKey	Удаляет из реестра информацию о субключах и параметрах ключа Key. При успешном завершении возвращает true. Перед вызовом метода надо установить RootKey в HKEY_USERS, или в HKEY_LOCAL_MACHINE (см. описание реестра), или вызвать RegistryConnect.
ValueExists	Возвращает true, если существует параметр Name текущего ключа. Метод должен вызываться до применения других методов, работающих только с существующими параметрами.
WriteBinaryData	Записывает двоичные данные из буфера Buffer размера BufSize в параметр Name текущего ключа. Подобные данные обычно являются записями. Длинные данные (более 2048 байтов) должны храниться в отдельных файлах, а в реестр заноситься только имя файла. Это касается прежде всего графики, т.к. Microsoft возражает против хранения графики в реестре. Если параметр Name не существует, он создается. При ошибке записи генерируется исключение и записи не происходит.
WriteBool	Записывает булево значение Value в параметр Name текущего ключа. Если параметр Name не существует, он создается. При ошибке чтения генерируется исключение и записи не происходит.
WriteCurrency	Записывает значение типа Currency в параметр Name текущего ключа. Если параметр Name не существует, он создается. При ошибке чтения генерируется исключение и записи не происходит.
WriteDate	Записывает значение даты Value типа TDateTime в параметр Name текущего ключа. Если нужного параметра нет, он создается. При ошибке записи генерируется исключение.
WriteDateTime	Записывает значение даты и времени Value типа TDateTime в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteExpand String	Записывает значение строки, содержащей нерасширенную ссылку на переменную окружения (например, “%PATH%”) в параметр Name. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteFloat	Записывает действительное значение Value в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteInteger	Записывает целое значение Value в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteString	Записывает строку Value в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteTime	Записывает значение времени Value типа TDateTime в параметр Name. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.


Все методы TRegistry

Основные методы TRegistry

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
CloseKey	Записывает в реестр текущий ключ и закрывает его. Способ записи определяется свойством LazyWrite Не следует держать ключ открытым дольше, чем это необходимо. Многие методы вызывают CloseKey автоматически после чтения или записи в реестр.
Create	Конструктор объекта типа TRegistry. Устанавливает корневой ключ (RootKey) равным HKEY_CURRENT_USER и значение LazyWrite в true.
CreateKey	Добавляет в реестр новый ключ Key.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
DeleteKey	Удаляет из реестра ключ Key и его параметры. В Windows 95 удаляются и все его субключи. В Windows NT субключи должны удаляться явным образом соответствующими вызовами DeleteKey.
DeleteValue	Удаляет параметр Name текущего ключа. В случае успешного удаления возвращает true.
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetDataInfo	Дает информацию об указанном параметре текущего ключа
GetDataSize	Возвращает размер в байтах значения параметра ValueName текущего ключа. Если параметр являются строкой, то возвращенное значение учитывает нулевой завершающий символ. Если выполнение функции завершается ошибкой, возвращается -1.
GetDataType	Возвращает характеристику типа параметра ValueName текущего ключа. Информация возвращается как значение перечислимого типа TRegDataType.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetKeyInfo	Возвращает информацию о текущем ключе
GetKeyNames	Возвращает список Strings имен всех субключей текущего ключа
GetValueNames	Возвращает список Strings имен всех параметров текущего ключа
HasSubKeys	Возвращает true, если текущий ключ имеет хотя бы один субключ
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
KeyExists	Определяет, имеется ли в реестре ключ Key.
LoadKey	Создает ключ и загружает в него данные из указанного файла.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
OpenKey	Открывает ключ Key, делая его текущим для объекта. Если Key равен null, то текущим делается корневой ключ, указанный свойством RootKey. Параметр CanCreate указывает, должен ли создаваться ключ Key, если его нет в реестре. Ключ открывается или создается с доступом KEY_ALL_ACCESS. Создаваемый ключ сохраняется в реестре при последующих запусках системы.
OpenKeyReadOnly	Открывает ключ Key только для чтения, делая его текущим для объекта. Если Key равен null, то текущим делается корневой ключ, указанный свойством RootKey. Параметр CanCreate указывает, должен ли создаваться ключ Key, если его нет в реестре. Ключ открывается или создается с доступом KEY_ALL_ACCESS. Создаваемый ключ сохраняется в реестре при последующих запусках системы.
ReadBinaryData	Читает двоичные данные параметра Name текущего ключа в буфер Buffer размера BufSize. Подобные данные обычно являются записями. Это может быть и графика, хотя Microsoft возражает против хранения графики в реестре. При ошибке чтения генерируется исключение.
ReadBool	Возвращает булево значение параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadCurrency	Возвращает значение типа Currency параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadDate	Возвращает значение даты типа TDateTime параметра Name текущего ключа, записанных ранее процедурой WriteDate. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadDateTime	Возвращает значение даты и времени типа TDateTime параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadFloat	Возвращает действительное значение параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadInteger	Возвращает целое значение параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadString	Возвращает строку значения параметра Name текущего ключа. Возвращается строка, ранее записанная методами WriteString или WriteExpandString. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadTime	Возвращает значение времени типа TDateTime параметра Name текущего ключа, записанных ранее процедурой WriteTime. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
RegistryConnect	Устанавливает связь с реестром другого компьютера.
RenameValue	Изменяет имя параметра текущего ключа с OldName на NewName. Параметр OldName должен существовать, а параметра OldName не должно быть до выполнения этого метода. В противном случае параметр останется неизмененным.
ReplaceKey	Заменяет сохраненную в одном файле информацию о ключе, его субключах и параметрах аналогичной информацией из другого файла.
RestoreKey	Открывает ключ и заменяет его содержимое информацией, хранящейся в файле.
SafeCall Exception	Обрабатывает исключения OLE и Com
UnLoadKey	Удаляет из реестра информацию о субключах и параметрах ключа Key. При успешном завершении возвращает true. Перед вызовом метода надо установить RootKey в HKEY_USERS, или в HKEY_LOCAL_MACHINE (см. описание реестра), или вызвать RegistryConnect.
ValueExists	Возвращает true, если существует параметр Name текущего ключа. Метод должен вызываться до применения других методов, работающих только с существующими параметрами.
WriteBool	Записывает булево значение Value в параметр Name текущего ключа. Если параметр Name не существует, он создается. При ошибке чтения генерируется исключение и записи не происходит.
WriteCurrency	Записывает значение типа Currency в параметр Name текущего ключа. Если параметр Name не существует, он создается. При ошибке чтения генерируется исключение и записи не происходит.
WriteDate	Записывает значение даты Value типа TDateTime в параметр Name текущего ключа. Если нужного параметра нет, он создается. При ошибке записи генерируется исключение.
WriteDateTime	Записывает значение даты и времени Value типа TDateTime в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteExpandString	Записывает значение строки, содержащей нерасширенную ссылку на переменную окружения (например, “%PATH%”) в параметр Name. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteFloat	Записывает действительное значение Value в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteInteger	Записывает целое значение Value в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteString	Записывает строку Value в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteTime	Записывает значение времени Value типа TDateTime в параметр Name. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.


TRegistryIniFile - класс

Иерархия   Свойства    Методы   Примеры см.также

Тип объекта, позволяющего работать с реестром Windows 95/98/NT так, как с файлом .INI

Модуль registry

Описание

Класс TRegistryIniFile введен в Delphi прежде всего, чтобы обеспечить наиболее простой переход от 16 - разрядных приложений для Windows 3.x к приложениям Windows 95/NT. В приложениях для Windows 3.x регистрация приложения и сохранение его настроек осуществлялось с помощью файлов .INI. Для работы с этими файлами использовались объекты типа TIniFile. В Windows 95/NT для тех же целей используется системный реестр - registry.

TRegistryIniFile наследует свойства и методы класса TCustomIniFile, которому наследует и TIniFile. Поэтому перейти в приложениях, работающих с файлами .INI, к работе с реестром очень просто: достаточно заменить объект типа TIniFile объектом типа TRegistryIniFile. При этом логика работы и все методы, использованные в приложении, сохраняются прежними.

В конструктор объекта типа TRegistryIniFile передается имя создаваемого ключа. Он создается как субключ системного ключа Hkey_Current_User. В последующих операторах чтения и записи на этот ключ следует ссылаться в параметре Section просто пустой строкой ''. Если же в операторе записи указать другое значение Section, то тем самым будет создан субключ того ключа, для которого создавался объект. Если в параметре Section перечислить несколько имен, разделяя их символом "\", то будет создана цепочка вложенных друг в друга ключей.

Имеется еще один класс - TRegIniFile, который обеспечивает другой способ доступа к реестру. Но поскольку TRegIniFile наследует классу TRegistry, а не TCustomIniFile, то переход от работы с файлами .INI к работе с реестром при использовании TRegIniFile несколько менее формальный и простой. Впрочем, он открывает более широкие возможности использования реестра. Но полностью использовать все возможности реестра можно только с помощью объекта типа TRegistry.


Основные свойства TRegistryIniFile

Все свойства TRegistryIniFile

Свойство	Тип	Описание
FileName	string	Имя ключа системного реестра, который открывается или создается и является корневым для объекта TRegistryIniFile. Свойство только для чтения.
RegIniFile	TRegIniFile	Это свойство используется только внутри объекта для создания интерфейса между методами TRegistryIniFile и реестром. Свойство только для чтения.


Все свойства TRegistryIniFile

Основные свойства TRegistryIniFile

Свойство	Тип	Описание
FileName	string	Имя ключа системного реестра, который открывается или создается и является корневым для объекта TRegistryIniFile. Свойство только для чтения.
RegIniFile	TRegIniFile	Это свойство используется только внутри объекта для создания интерфейса между методами TRegistryIniFile и реестром. Свойство только для чтения.


Основные методы TRegistryIniFile

Полный список   TRegistryIniFile

Метод	Описание
Create	Конструктор объекта, задающий имя открываемого или создаваемого ключа реестра в свойстве FileName. Этот ключ является субключом системного ключа Hkey_Current_User.
DeleteKey	Удаляет значение параметра Ident ключа Section.
EraseSection	Удаляет ключ Section со всеми его субключами.
ReadBool	Возвращает булево значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadDate	Возвращает значение даты типа TDateTime параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadDateTime	Возвращает значение даты и времени типа TDateTime параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadFloat	Возвращает действительное значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadInteger	Возвращает целое значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadSection	Читает в Strings типа TStrings имена всех параметров ключа Section.
ReadSections	Читает в Strings типа TStrings имена всех ключей.
ReadSection Values	Читает в Strings типа TStrings значения всех параметров ключа Section.
ReadString	Возвращает строку значения параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadTime	Возвращает значение времени типа TDateTime параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
SectionExists	Возвращает true, если в реестре существует ключ Section.
ValueExists	Возвращает true, если в реестре существует параметр Ident ключа Section.
WriteBool	Записывает булево значение Value в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteDate	Записывает значение даты Value типа TDateTime в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteDateTime	Записывает значение даты и времени Value типа TDateTime в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteFloat	Записывает действительное значение Value в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteInteger	Записывает целое значение Value в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteString	Записывает значение Value в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteTime	Записывает значение времени Value типа TDateTime в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.


Все методы TRegistryIniFile

Основные методы   TRegistryIniFile

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Конструктор объекта, задающий имя открываемого или создаваемого ключа реестра в свойстве FileName. Этот ключ является субключом системного ключа Hkey_Current_User.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
DeleteKey	Удаляет значение параметра Ident ключа Section.
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
EraseSection	Удаляет ключ Section со всеми его субключами.
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
ReadBool	Возвращает булево значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadDate	Возвращает значение даты типа TDateTime параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadDateTime	Возвращает значение даты и времени типа TDateTime параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadFloat	Возвращает действительное значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadInteger	Возвращает целое значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadSection	Читает в Strings типа TStrings имена всех параметров ключа Section.
ReadSections	Читает в Strings типа TStrings имена всех ключей.
ReadSection Values	Читает в Strings типа TStrings значения всех параметров ключа Section.
ReadString	Возвращает строку значения параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
ReadTime	Возвращает значение времени типа TDateTime параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось ключа, параметра или значения.
SafeCall Exception	Обрабатывает исключения OLE и Com
SectionExists	Возвращает true, если в реестре существует ключ Section.
ValueExists	Возвращает true, если в реестре существует параметр Ident ключа Section.
WriteBool	Записывает булево значение Value в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteDate	Записывает значение даты Value типа TDateTime в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteDateTime	Записывает значение даты и времени Value типа TDateTime в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteFloat	Записывает действительное значение Value в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteInteger	Записывает целое значение Value в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteString	Записывает значение Value в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.
WriteTime	Записывает значение времени Value типа TDateTime в строку параметра Ident ключа Section. Если нужной строки или раздела нет, они создаются.


TRegIniFile - тип
TRegIniFile - класс

Иерархия   Свойства   Методы   Примеры см.также

Тип объекта, позволяющего работать с реестром Windows 95/98/NT так, как с файлом .INI

Модуль registry

Описание

Тип TRegIniFile введен в Delphi прежде всего, чтобы обеспечить наиболее простой переход от 16 - разрядных приложений для Windows 3.x к приложениям Windows 95/NT. В приложениях для Windows 3.x регистрация приложения и сохранение его настроек осуществлялось с помощью файлов .INI. Для работы с этими файлами использовались объекты типа TIniFile. В Windows 95/NT для тех же целей используется системный реестр - registry. Перейти в приложениях, работающих с файлами .INI, к работе с реестром очень просто: достаточно заменить объект типа TIniFile объектом типа TRegIniFile. При этом вся логика работы и все методы, использованные в приложении, сохраняются прежними.

TRegIniFile наследует свойства и методы класса TRegistry, который может использоваться самостоятельно, но добавляет свойства и методы, характерные для объекта TIniFile.

Свойство FileName, которое в классе TIniFile обозначало имя файла, в классе TRegIniFile соответствует субключу корневого ключа реестра (по умолчанию - HKEY_CURRENT_USER). Разделу файла INI соответствует ключ реестра, а значению ключа в файле INI - параметр ключа реестра.

Имеется еще один класс - TRegistryIniFile, который обеспечивает другой способ доступа к реестру. Но поскольку TRegistryIniFile наследует классу TCustomIniFile, от которого наследует и TIniFile, то TRegistryIniFile еще ближе к TIniFile и дает еще более простой способ перехода от файлов INI к реестру.


Основные свойства TRegIniFile

Все свойства TRegIniFile

Свойство	Тип	Описание
FileName	string	Имя ключа системного реестра, который открывается или создается и является корневым для объекта TRegIniFile. Свойство только для чтения.
CurrentKey	HKEY	Текущий открытый ключ. Все операции с TRegIniFile влияют только на открытый ключ реестра. Если вы хотите открыть новый ключ, делайте это методами OpenKey или OpenKeyReadOnly. Свойство только для чтения.
CurrentPath	string	Путь по реестру от корня до текущего ключа включительно. Свойство только для чтения
LazyWrite	boolean	Определяет способ записи ключей в реестр при выполнении CloseKey. Если LazyWrite = true (по умолчанию), то процедура CloseKey может вернуться до завершения записи. В противном случае процедура ожидает завершения записи. Это снижает производительность.
RootKey	HKEY	Определяет корневой ключ. По умолчанию - HKEY_CURRENT_USER. Если это значение требуется изменить (например, для процедур LoadKey или RegistryConnect), надо задать в качестве RootKey допустимое целое значение.


Все свойства TRegIniFile

Основные свойства TRegIniFile

Свойство	Описание
Access	Определяет уровень доступа к открытым ключам
CurrentKey	Текущий открытый ключ. Все операции с TRegIniFile влияют только на открытый ключ реестра. Если вы хотите открыть новый ключ, делайте это методами OpenKey или OpenKeyReadOnly. Свойство только для чтения.
CurrentPath	Путь по реестру от корня до текущего ключа включительно. Свойство только для чтения
FileName	Имя ключа системного реестра, который открывается или создается и является корневым для объекта TRegIniFile. Свойство только для чтения.
LazyWrite	Определяет способ записи ключей в реестр при выполнении CloseKey. Если LazyWrite = true (по умолчанию), то процедура CloseKey может вернуться до завершения записи. В противном случае процедура ожидает завершения записи. Это снижает производительность.
RootKey	Определяет корневой ключ. По умолчанию - HKEY_CURRENT_USER. Если это значение требуется изменить (например, для процедур LoadKey или RegistryConnect), надо задать в качестве RootKey допустимое целое значение.


Основные методы TRegIniFile

Полный список   TRegIniFile

Метод	Описание
CloseKey	Записывает в реестр текущий ключ и закрывает его. Способ записи определяется свойством LazyWrite Не следует держать ключ открытым дольше, чем это необходимо. Многие методы вызывают CloseKey автоматически после чтения или записи в реестр.
Create	Конструктор объекта, задающий имя открываемого или создаваемого ключа реестра в свойстве FileName.
CreateKey	Добавляет в реестр новый ключ Key.
DeleteKey	Удаляет параметр с именем Ident ключа Section. В Windows 95 удаляется и сам ключ со всеми его субключами. В Windows NT субключи должны удаляться явным образом соответствующими вызовами DeleteKey.
DeleteValue	Удаляет параметр Name текущего ключа. В случае успешного удаления возвращает true.
EraseSection	Удаляет ключ Section со всеми его параметрами.
GetDataInfo	Дает информацию об указанном параметре текущего ключа
GetDataSize	Возвращает размер в байтах значения параметра ValueName текущего ключа. Если параметр являются строкой, то возвращенное значение учитывает нулевой завершающий символ. Если выполнение функции завершается ошибкой, возвращается -1.
GetDataType	Возвращает характеристику типа параметра ValueName текущего ключа. Информация возвращается как значение перечислимого типа TRegDataType.
GetKeyInfo	Возвращает информацию о текущем ключе
GetKeyNames	Возвращает список Strings имен всех субключей текущего ключа
GetValueNames	Возвращает список Strings имен всех параметров текущего ключа
HasSubKeys	Возвращает true, если текущий ключ имеет хотя бы один субключ
KeyExists	Определяет, имеется ли в реестре ключ Key.
LoadKey	Создает ключ и загружает в него данные из указанного файла.
MoveKey	Копирует (при Delete=false) или перемещает (при Delete=true) ключ OldName, давая ему новое имя NewName. Копируются или перемещаются также все субключи и параметры ключа. В Windows NT копирование может быть рекурсивным.
OpenKey	Открывает ключ Key, делая его текущим для объекта. Если Key равен null, то текущим делается корневой ключ, указанный свойством RootKey. Параметр CanCreate указывает, должен ли создаваться ключ Key, если его нет в реестре. Ключ открывается или создается с доступом KEY_ALL_ACCESS. Создаваемый ключ сохраняется в реестре при последующих запусках системы..
ReadBinaryData	Читает двоичные данные параметра Name текущего ключа в буфер Buffer размера BufSize. Подобные данные обычно являются записями. Это может быть и графика, хотя Microsoft возражает против хранения графики в реестре. При ошибке чтения генерируется исключение.
ReadBool	Возвращает булево значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось параметра, ключа или значения.
ReadCurrency	Возвращает значение типа Currency параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadDate	Возвращает значение даты типа TDateTime параметра Name текущего ключа, записанных ранее процедурой WriteDate. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadDateTime	Возвращает значение даты и времени типа TDateTime параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadFloat	Возвращает действительное значение параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadInteger	Возвращает целое значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось параметра, ключа или значения.
ReadSection	Читает в Strings типа TStrings имена всех параметров ключа Section.
ReadSections	Читает в Strings типа TStrings имена всех субключей текущего ключа.
ReadSection Values	Читает в Strings типа TStrings значения всех параметров ключа Section.
ReadString	Возвращает строку значения параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось параметров, ключа или значения.
ReadTime	Возвращает значение времени типа TDateTime параметра Name текущего ключа, записанных ранее процедурой WriteTime. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
RegistryConnect	Устанавливает связь с реестром другого компьютера.
RenameValue	Изменяет имя параметра текущего ключа с OldName на NewName. Параметр OldName должен существовать, а параметра OldName не должно быть до выполнения этого метода. В противном случае параметр останется неизмененным.
ReplaceKey	Заменяет сохраненную в одном файле информацию о ключе, его субключах и параметрах аналогичной информацией из другого файла.
RestoreKey	Открывает ключ и заменяет его содержимое информацией, хранящейся в файле.
SaveKey	Открывает ключ и сохраняет параметры его и всех его субключей в файле.
UnLoadKey	Удаляет из реестра информацию о субключах и параметрах ключа Key. При успешном завершении возвращает true. Перед вызовом метода надо установить RootKey в HKEY_USERS, или в HKEY_LOCAL_MACHINE (см. описание реестра, или вызвать RegistryConnect.
ValueExists	Возвращает true, если существует параметр Name текущего ключа. Метод должен вызываться до применения других методов, работающих только с существующими параметрами.
WriteBinaryData	Записывает двоичные данные из буфера Buffer размера BufSize в параметр Name текущего ключа. Подобные данные обычно являются записями. Длинные данные (более 2048 байтов) должны храниться в отдельных файлах, а в реестр заноситься только имя файла. Это касается прежде всего графики, т.к. Microsoft возражает против хранения графики в реестре. При ошибке записи генерируется исключение и записи не происходит.
WriteBool	Записывает булево значение Value в параметр Ident ключа Section. Если нужного параметра или ключа нет, они создаются.
WriteCurrency	Записывает значение типа Currency в параметр Name текущего ключа. При ошибке чтения генерируется исключение и записи не происходит.
WriteDate	Записывает значение даты Value типа TDateTime в параметр Name текущего ключа. Если нужного параметра или ключа нет, они создаются. При ошибке записи генерируется исключение.
WriteDateTime	Записывает значение даты и времени Value типа TDateTime в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteExpandString	Записывает значение строки, содержащей нерасширенную ссылку на переменную окружения (например, “%PATH%”) в параметр Name. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteFloat	Записывает действительное значение Value в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteInteger	Записывает целое значение Value в параметр Ident ключа Section. Если нужного параметра или ключа нет, они создаются.
WriteString	Записывает строку значения Value в параметр Ident ключа Section. Если нужного параметра или ключа нет, они создаются.
WriteTime	Записывает значение времени Value типа TDateTime в параметр Name. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.


Параметр, определяющий ключ, может задаваться как абсолютный ключ (тогда он должен начинаться с символа "\" и являться субключом корневого ключа), или как субключ текущего ключа.


Все методы TRegIniFile

Основные методы   TRegIniFile

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
CloseKey	Записывает в реестр текущий ключ и закрывает его. Способ записи определяется свойством LazyWrite Не следует держать ключ открытым дольше, чем это необходимо. Многие методы вызывают CloseKey автоматически после чтения или записи в реестр.
Create	Конструктор объекта, задающий имя открываемого или создаваемого ключа реестра в свойстве FileName.
CreateKey	Добавляет в реестр новый ключ Key.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
DeleteKey	Удаляет параметр с именем Ident ключа Section. В Windows 95 удаляется и сам ключ со всеми его субключами. В Windows NT субключи должны удаляться явным образом соответствующими вызовами DeleteKey.
DeleteValue	Удаляет параметр Name текущего ключа. В случае успешного удаления возвращает true.
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
EraseSection	Удаляет ключ Section со всеми его параметрами.
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetDataInfo	Дает информацию об указанном параметре текущего ключа
GetDataSize	Возвращает размер в байтах значения параметра ValueName текущего ключа. Если параметр являются строкой, то возвращенное значение учитывает нулевой завершающий символ. Если выполнение функции завершается ошибкой, возвращается -1.
GetDataType	Возвращает характеристику типа параметра ValueName текущего ключа. Информация возвращается как значение перечислимого типа TRegDataType.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetKeyInfo	Возвращает информацию о текущем ключе
GetKeyNames	Возвращает список Strings имен всех субключей текущего ключа
GetValueNames	Возвращает список Strings имен всех параметров текущего ключа
HasSubKeys	Возвращает true, если текущий ключ имеет хотя бы один субключ
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
KeyExists	Определяет, имеется ли в реестре ключ Key.
LoadKey	Создает ключ и загружает в него данные из указанного файла.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MoveKey	Копирует (при Delete=false) или перемещает (при Delete=true) ключ OldName, давая ему новое имя NewName. Копируются или перемещаются также все субключи и параметры ключа. В Windows NT копирование может быть рекурсивным.
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
OpenKey	Открывает ключ Key, делая его текущим для объекта. Если Key равен null, то текущим делается корневой ключ, указанный свойством RootKey. Параметр CanCreate указывает, должен ли создаваться ключ Key, если его нет в реестре. Ключ открывается или создается с доступом KEY_ALL_ACCESS. Создаваемый ключ сохраняется в реестре при последующих запусках системы..
ReadBinaryData	Читает двоичные данные параметра Name текущего ключа в буфер Buffer размера BufSize. Подобные данные обычно являются записями. Это может быть и графика, хотя Microsoft возражает против хранения графики в реестре. При ошибке чтения генерируется исключение.
ReadBool	Возвращает булево значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось параметра, ключа или значения.
ReadCurrency	Возвращает значение типа Currency параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadDate	Возвращает значение даты типа TDateTime параметра Name текущего ключа, записанных ранее процедурой WriteDate. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadDateTime	Возвращает значение даты и времени типа TDateTime параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadFloat	Возвращает действительное значение параметра Name текущего ключа. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
ReadInteger	Возвращает целое значение параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось параметра, ключа или значения.
ReadSection	Читает в Strings типа TStrings имена всех параметров ключа Section.
ReadSections	Читает в Strings типа TStrings имена всех субключей текущего ключа.
ReadSectionValues	Читает в Strings типа TStrings значения всех параметров ключа Section.
ReadString	Возвращает строку значения параметра Ident ключа Section. Default - значение по умолчанию, возвращаемое, если не нашлось параметров, ключа или значения.
ReadTime	Возвращает значение времени типа TDateTime параметра Name текущего ключа, записанных ранее процедурой WriteTime. При ошибке чтения генерируется исключение и возвращенное значение является ошибочным.
RegistryConnect	Устанавливает связь с реестром другого компьютера.
RenameValue	Изменяет имя параметра текущего ключа с OldName на NewName. Параметр OldName должен существовать, а параметра OldName не должно быть до выполнения этого метода. В противном случае параметр останется неизмененным.
ReplaceKey	Заменяет сохраненную в одном файле информацию о ключе, его субключах и параметрах аналогичной информацией из другого файла.
RestoreKey	Открывает ключ и заменяет его содержимое информацией, хранящейся в файле.
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveKey	Открывает ключ и сохраняет параметры его и всех его субключей в файле.
UnLoadKey	Удаляет из реестра информацию о субключах и параметрах ключа Key. При успешном завершении возвращает true. Перед вызовом метода надо установить RootKey в HKEY_USERS, или в HKEY_LOCAL_MACHINE (см. описание реестра, или вызвать RegistryConnect.
ValueExists	Возвращает true, если существует параметр Name текущего ключа. Метод должен вызываться до применения других методов, работающих только с существующими параметрами.
WriteBinaryData	Записывает двоичные данные из буфера Buffer размера BufSize в параметр Name текущего ключа. Подобные данные обычно являются записями. Длинные данные (более 2048 байтов) должны храниться в отдельных файлах, а в реестр заноситься только имя файла. Это касается прежде всего графики, т.к. Microsoft возражает против хранения графики в реестре. При ошибке записи генерируется исключение и записи не происходит.
WriteBool	Записывает булево значение Value в параметр Ident ключа Section. Если нужного параметра или ключа нет, они создаются.
WriteCurrency	Записывает значение типа Currency в параметр Name текущего ключа. При ошибке чтения генерируется исключение и записи не происходит.
WriteDate	Записывает значение даты Value типа TDateTime в параметр Name текущего ключа. Если нужного параметра или ключа нет, они создаются. При ошибке записи генерируется исключение.
WriteDateTime	Записывает значение даты и времени Value типа TDateTime в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteExpandString	Записывает значение строки, содержащей нерасширенную ссылку на переменную окружения (например, “%PATH%”) в параметр Name. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteFloat	Записывает действительное значение Value в параметр Name текущего ключа. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.
WriteInteger	Записывает целое значение Value в параметр Ident ключа Section. Если нужного параметра или ключа нет, они создаются.
WriteString	Записывает строку значения Value в параметр Ident ключа Section. Если нужного параметра или ключа нет, они создаются.
WriteTime	Записывает значение времени Value типа TDateTime в параметр Name. Если параметра Name нет, он создается. При ошибке записи генерируется исключение.


TRegDataType - тип

см.также

Определение

type TRegDataType=(rdUnknown, rdString, rdExpandString, rdInteger, rdBinary);

Описание

Тип TRegDataType характеризует тип параметров, хранящихся в ключе реестра. Этот тип используется в методах GetDataInfo и GetDataType типов TRegistry и TRegIniFile.

Объявленные в типе TRegDataType значения имеют следующий смысл:

rdUnknown	Неопределенный тип параметра.
rdString	Строка с нулевым символом в конце. Это может быть строка Unicode или ANSI в зависимости от того, какие строки использует приложение.
rdExpandString	Строка с нулевым символом в конце, содержащая неразвернутую ссылку на строку окружения (например, "%PATH%"). Это может быть строка Unicode или ANSI в зависимости от того, какие строки использует приложение.
rdInteger	Целое 32-разрядное число.
rdBinary	Двоичные данные любого вида.


TStringList - класс

Иерархия   Свойства    Методы

Список строк с расширенными возможностями манипулирования ими

Модуль classes

Описание

Класс TStringList наследует классу TStrings, реализуя многие его абстрактные свойства и методы и вводя некоторые новые возможности:

•	сортировку строк в списке

•	запрещение хранения дубликатов строк

•	реакцию на изменения содержания списка


Основные свойства TStringList

Все свойства TStringList

Свойство	Тип	Описание
Capacity	Integer	Указывает число строк, которые может содержать список, позволяет заранее выделить память для добавления нескольких строк.
Count	Integer	Число строк в списке. Свойство только для чтения.
Objects [Index: Integer]	TObject	Возвращает объект, связанный с указанной строкой свойства Strings.
Duplicates	TDuplicates= (dupIgnore, dupAccept, dupError)	Указывает, могут ли добавляться в сортированный список дубликаты строк. Значение dupIgnore - игнорирование добавление дубликата, dupAccept - разрешение добавления дубликата, dupError - генерация исключения EListError при попытке добавления дубликата строки. Значения dupAccept и dupError никак не реагируют на уже имеющиеся в списке дубликаты. На несортированный список свойство Duplicates не оказывает никакого влияния.
Sorted	Boolean	Указывает, должны ли строки в списке автоматически сортироваться по алфавиту.
Strings [Index: Integer]	String	Текст строки с указанным индексом. Индекс первой строки - 0.
Кроме того TStringList наследует от TStrings такие свойства, как CommaText, Names, StringsAdapter, Text, Values.


Все свойства TStringList

Основные свойства TStringList

Свойство	Описание
Capacity	Указывает число строк, которые может содержать список, позволяет заранее выделить память для добавления нескольких строк.
CommaText	Возвращает текст, в котором отдельные строки объединены в одну строку формата SDF (system data format). Отдельные исходные строки  разделяются в итоговой строке запятыми и каждая строка, если в ней имеются символы пробелов, заключается в двойные кавычки. Если в исходных строках использовались символы двойных кавычек, они дублируются (получается два следующих друг за другом символа).
Count	Число строк в списке. Свойство только для чтения.
Duplicates	Указывает, могут ли добавляться в сортированный список дубликаты строк. Значение dupIgnore - игнорирование добавление дубликата, dupAccept - разрешение добавления дубликата, dupError - генерация исключения EListError при попытке добавления дубликата строки. Значения dupAccept и dupError никак не реагируют на уже имеющиеся в списке дубликаты. На несортированный список свойство Duplicates не оказывает никакого влияния.
Names	Индексированный массив, содержащий имена Name строк формата Name=Value (например, в файлах .ini).
Objects	Возвращает объект, связанный с указанной строкой свойства Strings.
Sorted	Указывает, должны ли строки в списке автоматически сортироваться по алфавиту.
Strings	Текст строки с указанным индексом. Индекс первой строки - 0.
Strings Adapter	Представляет интерфейс IStrings, позволяющий объекту TStringList связываться с помощью OLE
Text	Представдяет собой текст объекта TStringList в виде одной строки, содержащей символы новой строки и возврата каретки
Values	Индексированный массив, содержащий значения Value строк формата Name=Value (например, в файлах .ini).


Основные методы TStringList

Полный список TStringList

Метод	Описание
Find (const S:           string;      var Index:           Integer):             Boolean;	Определяет, имеется ли заданная строка S в сортированном списке, и, если имеется, то возвращает в параметр Index индекс этой строки. Для не сортированных списков следует использовать метод IndexOf.
Sort	Сортирует строки списка, свойство Sorted которого установлено в false, в возрастающей алфавитной последовательности. Если Sorted = true, то список сортируется автоматически.


Все методы TStringList

Основные методы TStringList

Метод	Описание
Add	Добавляет строку в конец списка. Возвращает индекс добавленной строки. В окнах редактирования добавляемая строка может оказаться разбитой на несколько, так что в этих случаях возвращаемый индекс ни о чем не говорит.
AddObject	Добавляет в список строку и связанный с ней объект. Возвращает индекс добавленной строки и объекта.
AddStrings	Добавляет в список группу строк другого объекта Strings типа TStrings.
After Construction	Вызывается автоматически после создания объекта
Append	Добавляет строку в конец списка. Метод аналогичен Add, но не возвращает индекс строки.
Assign
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginUpdate	Вызывается автоматически перед любым изменением списка
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Очищает список.
Create	Создает объект списка
CustomSort	Устанавливает указанную функцию как функцию сравненияя при упорядочивании списка специальным образом
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет из списка указанную строку.
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
EndUpdate	Вызывается автоматически после любого изменения списка
Equals	Сравнивает данный список с заданным списком Strings. Возвращает true при идентичности списков.
Exchange	Переставляет местами указанные строки списка.
FieldAddress	Возвращает указатель на опубликованное поле объекта
Find	Определяет, имеется ли заданная строка S в сортированном списке, и, если имеется, то возвращает в параметр Index индекс этой строки. Для не сортированных списков следует использовать метод IndexOf.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
GetText	Возвращает буфер, под который выделяет память, и заполняет его значением свойства Text.
IndexOf	Возвращает индекс указанной строки S. Если такой строки нет в списке, возвращается -1.
IndexOfName	Применяется для списков, имеющих структуру "Имя = Значение". Такую структуру имеют, например, файлы .ini. Возвращается индекс строки, в которой имя равно заданному значению Name. Если такой строки нет в списке, возвращается -1.
IndexOfObject	Возвращает индекс первой строки, связанной с заданным объектом. Если такой строки нет в списке, возвращается -1.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
Insert	Вставляет указанную строку S в заданную позицию Index. Если Index=0, строка вставляется на первую позицию.
InsertObject	Вставляет указанную строку S в заданную позицию Index и связывает с ней объект AObject. Если Index=0, строка вставляется на первую позицию.
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
LoadFromFile	Заполняет список строками текста из указанного файла FileName.
LoadFromStream	Заполняет список строками текста из указанного потока Stream.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
Move	Изменяет позицию строки с индексом CurIndex, давая ей индекс NewIndex.
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveToFile	Сохраняет строки списка в файле с указанным именем.
SaveToStream	Сохраняет значение свойства Text в указанном потоке.
SetText	Задает значение свойства Text.
Sort	Сортирует строки списка, свойство Sorted которого установлено в false, в возрастающей алфавитной последовательности. Если Sorted = true, то список сортируется автоматически.


TObject

TPersistent

TStrings


TStrings - класс

Иерархия   Свойства   Методы

Абстрактный класс объектов, представляющих собой списки строк и используемых во многих компонентах Delphi в качестве различных свойств

Модуль classes

Описание

Класс TStrings содержит методы и свойства, позволяющие манипулировать со списками строк:

•	Добавлять и удалять строки в указанных позициях

•	Перестраивать и упорядочивать последовательность строк

•	Получать доступ к конкретным строкам

•	Читать и записывать списки строк в файлы и потоки

•	Связывать с каждой строкой некоторый объект


 TObject

  TPersistent


Основные свойства TStrings

Все свойства TStrings

Свойство	Тип	Описание
Capacity	Integer	Указывает число строк, которые может содержать список. В классе TStrings чтение Capacity возвращает значение Count, а запись значения Capacity ничего не изменяет в списке. Но в некоторых классах, производных от TStrings,  свойство Capacity позволяет заранее выделить память для добавления нескольких строк.
CommaText	String	Возвращает текст, в котором отдельные строки объединены в одну строку формата SDF (system data format). Отдельные исходные строки  разделяются в итоговой строке запятыми и каждая строка, если в ней имеются символы пробелов, заключается в двойные кавычки. Если в исходных строках использовались символы двойных кавычек, они дублируются (получается два следующих друг за другом символа).
Count	Integer	Число строк в списке. Свойство только для чтения.
Names [Index:   Integer]	String	Применяется для списков, имеющих структуру "Имя = Значение". Такую структуру имеют, например, файлы .ini. Свойство Names возвращает Имя, использованное в строке с указанным индексом. Если строка не имеет форму "Имя = Значение", возвращается пустая строка. Свойство только для чтения.
Objects [Index: Integer]	TObject	Возвращает объект, связанный с указанной строкой свойства Strings. В классе TStrings свойство Objects не используется, но может использоваться в некоторых классах, производных от TStrings.
Strings [Index:    Integer]	String	Текст строки с указанным индексом. Индекс первой строки - 0.
Text	String	Представляет весь список как одну строку, внутри которой используются разделители типа символов возврата каретки и перевода строки.
Values [const Name:string]	String	Применяется для списков, имеющих структуру "Имя = Значение". Такую структуру имеют, например, файлы .ini. Свойство Values возвращает Значение, в строке с указанным именем Name. Если заданное имя Name не найдено, возвращается пустая строка.


Все свойства TStrings

Основные свойства TStrings

Свойство	Описание
Capacity	Указывает число строк, которые может содержать список. В классе TStrings чтение Capacity возвращает значение Count, а запись значения Capacity ничего не изменяет в списке. Но в некоторых классах, производных от TStrings,  свойство Capacity позволяет заранее выделить память для добавления нескольких строк.
CommaText	Возвращает текст, в котором отдельные строки объединены в одну строку формата SDF (system data format). Отдельные исходные строки  разделяются в итоговой строке запятыми и каждая строка, если в ней имеются символы пробелов, заключается в двойные кавычки. Если в исходных строках использовались символы двойных кавычек, они дублируются (получается два следующих друг за другом символа).
Count	Число строк в списке. Свойство только для чтения.
Names	Применяется для списков, имеющих структуру "Имя = Значение". Такую структуру имеют, например, файлы .ini. Свойство Names возвращает Имя, использованное в строке с указанным индексом. Если строка не имеет форму "Имя = Значение", возвращается пустая строка. Свойство только для чтения.
Objects	Возвращает объект, связанный с указанной строкой свойства Strings. В классе TStrings свойство Objects не используется, но может использоваться в некоторых классах, производных от TStrings.
Sorted	Определяет, является ли список сортированным
Strings	Текст строки с указанным индексом. Индекс первой строки - 0.
Strings Adapter	Представляет интерфейс IStrings, позволяющий объекту TStringList связываться с помощью OLE
Text	Представляет весь список как одну строку, внутри которой используются разделители типа символов возврата каретки и перевода строки.
Values	Применяется для списков, имеющих структуру "Имя = Значение". Такую структуру имеют, например, файлы .ini. Свойство Values возвращает Значение, в строке с указанным именем Name. Если заданное имя Name не найдено, возвращается пустая строка.


Основные методы TStrings

Полный список TStrings

Метод	Описание
Add(const    S:string):Integer	Добавляет строку в конец списка. Возвращает индекс добавленной строки. В окнах редактирования добавляемая строка может оказаться разбитой на несколько, так что в этих случаях возвращаемый индекс ни о чем не говорит.
AddObject(   const S: string;   AObject:TObject):             Integer	Добавляет в список строку и связанный с ней объект. Возвращает индекс добавленной строки и объекта.
AddStrings( Strings:TStrings)	Добавляет в список группу строк другого объекта Strings типа TStrings.
Append (const         S:  string)	Добавляет строку в конец списка. Метод аналогичен Add, но не возвращает индекс строки.
Clear	Очищает список.
Delete (Index:             Integer)	Удаляет из списка указанную строку.
Equals(Strings:   TStrings): Boolean	Сравнивает данный список с заданным списком Strings. Возвращает true при идентичности списков.
Exchange (Index1, Index2: Integer)	Переставляет местами указанные строки списка.
GetText: PChar;	Возвращает буфер, под который выделяет память, и заполняет его значением свойства Text.
IndexOf (const S: string): Integer	Возвращает индекс указанной строки S. Если такой строки нет в списке, возвращается -1.
IndexOfName(const Name: string): Integer	Применяется для списков, имеющих структуру "Имя = Значение". Такую структуру имеют, например, файлы .ini. Возвращается индекс строки, в которой имя равно заданному значению Name. Если такой строки нет в списке, возвращается -1.
IndexOfObject( AObject: TObject):             Integer	Возвращает индекс первой строки, связанной с заданным объектом. Если такой строки нет в списке, возвращается -1.
Insert (    Index: Integer;    const S: string);	Вставляет указанную строку S в заданную позицию Index. Если Index=0, строка вставляется на первую позицию.
InsertObject(    Index: Integer;    const S: string;    AObject: TObject)	Вставляет указанную строку S в заданную позицию Index и связывает с ней объект AObject. Если Index=0, строка вставляется на первую позицию.
LoadFromFile( const     FileName: string)	Заполняет список строками текста из указанного файла FileName.
LoadFromStream(     Stream: TStream)	Заполняет список строками текста из указанного потока Stream.
Move (CurIndex,   NewIndex: Integer)	Изменяет позицию строки с индексом CurIndex, давая ей индекс NewIndex.
SaveToFile(const    FileName: string)	Сохраняет строки списка в файле с указанным именем.
SaveToStream(    Stream: TStream)	Сохраняет значение свойства Text в указанном потоке.
SetText(Text: PChar)	Задает значение свойства Text.


Все методы TStrings

Основные методы TStrings

Метод	Описание
Add	Добавляет строку в конец списка. Возвращает индекс добавленной строки. В окнах редактирования добавляемая строка может оказаться разбитой на несколько, так что в этих случаях возвращаемый индекс ни о чем не говорит.
AddObject	Добавляет в список строку и связанный с ней объект. Возвращает индекс добавленной строки и объекта.
AddStrings	Добавляет в список группу строк другого объекта Strings типа TStrings.
After Construction	Вызывается автоматически после создания объекта
Append	Добавляет строку в конец списка. Метод аналогичен Add, но не возвращает индекс строки.
Assign
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginUpdate	Вызывается автоматически перед любым изменением списка
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Очищает список.
Create	Создает экземпляр объекта
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет из списка указанную строку.
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
EndUpdate	Вызывается автоматически после любого изменения списка
Equals	Сравнивает данный список с заданным списком Strings. Возвращает true при идентичности списков.
Exchange	Переставляет местами указанные строки списка.
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
GetText	Возвращает буфер, под который выделяет память, и заполняет его значением свойства Text.
IndexOf	Возвращает индекс указанной строки S. Если такой строки нет в списке, возвращается -1.
IndexOfName	Применяется для списков, имеющих структуру "Имя = Значение". Такую структуру имеют, например, файлы .ini. Возвращается индекс строки, в которой имя равно заданному значению Name. Если такой строки нет в списке, возвращается -1.
IndexOfObject	Возвращает индекс первой строки, связанной с заданным объектом. Если такой строки нет в списке, возвращается -1.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
Insert	Вставляет указанную строку S в заданную позицию Index. Если Index=0, строка вставляется на первую позицию.
InsertObject	Вставляет указанную строку S в заданную позицию Index и связывает с ней объект AObject. Если Index=0, строка вставляется на первую позицию.
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
LoadFromFile	Заполняет список строками текста из указанного файла FileName.
LoadFromStream	Заполняет список строками текста из указанного потока Stream.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
Move	Изменяет позицию строки с индексом CurIndex, давая ей индекс NewIndex.
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveToFile	Сохраняет строки списка в файле с указанным именем.
SaveToStream	Сохраняет значение свойства Text в указанном потоке.
SetText	Задает значение свойства Text.


TCustomEdit - класс
TCustomEdit - базовый класс окон редактирования

Иерархия

Абстрактный базовый класс окон редактирования

Модуль stdctrls

Описание

Класс TCustomEdit является базовым абстрактным классом для окон редактирования TEdit и TMemo. В нем инкапсулированы основные методы и свойства, используемые при редактировании текстов. Они обеспечивают:

•	Такие функции редактирования текста, как выделение фрагмента, преобразования выделенного текста, чувствительность к регистру.

•	Возможность откликаться на изменения в тексте.

•	Управление доступом к тексту, например, доступ "только для чтения" или символы пароля, делающие невидимыми действительно вводимые символы.

Создавать экземпляры объектов типа TCustomEdit невозможно. Этот класс используется только для создания производных классов, наследующих особенности обработки текстов.

Основные свойства класса TCustomEdit:

Свойство	Описание
AutoSelect	Определяет, выделяется ли весь текст при получении элементом фокуса.
AutoSize	Определяет, будет ли высота элемента автоматически адаптироваться к размеру символов текста.


TBitmap - класс

Иерархия   Свойства   Методы   События

Инкапсулирует битовую матрицу Windows (HBITMAP), включая палитру (HPALETTE)

Модуль graphics

Описание

Класс TBitmap инкапсулирует битовую матрицу Windows, включая палитру. Обеспечивает быстрое и простое для пользователя выполнение операций создания, копирования, манипулирования и сохранения битовой матрицы.


Основные свойства TBitmap

Все свойства TBitmap

Свойство	Тип	Описание
Canvas	Tcanvas	Определяет пространство для изображения битовой матрицы. Свойство только для чтения.
Empty	Boolean	Указывает, содержит ли объект битовую матрицу. Свойство только для чтения.
Handle	Hbitmap	Обеспечивает доступ к обработке битовых матриц в GDI Windows. Используется при вызовах функций API Windows.
HandleType	TbitmapHandleType = (bmDIB, bmDDB)	Указывает, является ли битовая матрица DDB (Device Dependent Bitmap - аппаратно зависимой), или DIB (Device Independent Bitmap - аппаратно независимой). Может изменяться пользователем.
Height	Integer	Указывает высоту изображения в пикселях. Может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.
IgnorePalette	Boolean	Определяет, использует ли матрица палитру. При установке в true ухудшает качество, но ускоряет рисование.
MaskHandle	Hbitmap	Обеспечивает доступ к обработке битовых матриц в GDI Windows. Используется при вызовах функций API Windows. Свойство только для чтения.
Monochrome	Boolean	Определяет, является ли битовая матрица монохромной (значение true)
Palette	Hpalette	Управляет цветами битовой матрицы. Если изображение не нуждается или не имеет палитры, то Palette = 0.
PixelFormat	TPixelFormat = (pfDevice, pf1bit, pf4bit, pf8bit, pf15bit, pf16bit, pf24bit, pf32bit, pfCustom)	Определяет битовый формат отображения изображения. Используется для задания формата видео драйверам, не способным прочитать собственный формат битовой матрицы.
ScanLine	Pointer	Обеспечивает доступ к отдельным строкам пикселей для их низкоуровневой обработки для матриц DIBs  (Device Independent Bitmap - аппаратно независимых). Свойство только для чтения.
Transparent Color	Tcolor	Определяет, какой из цветов будет прозрачным при рисовании битовой матрицы. Читаемое значение зависит от значения TransparentMode.
Transparent Mode	TtransparentMode = (tmAuto, tmFixed)	Определяет, будет ли свойство TransparentColor сохраняться вместе с битовой матрицей.
Width	Integer	Указывает ширину изображения в пикселях. Может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.


Все свойства TBitmap

Основные свойства TBitmap

Свойство	Описание
Canvas	Определяет пространство для изображения битовой матрицы. Свойство только для чтения.
Empty	Указывает, содержит ли объект битовую матрицу. Свойство только для чтения.
Handle	Обеспечивает доступ к обработке битовых матриц в GDI Windows. Используется при вызовах функций API Windows.
HandleType	Указывает, является ли битовая матрица DDB (Device Dependent Bitmap - аппаратно зависимой), или DIB (Device Independent Bitmap - аппаратно независимой). Может изменяться пользователем.
Height	Указывает высоту изображения в пикселях. Может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.
IgnorePalette	Определяет, использует ли матрица палитру. При установке в true ухудшает качество, но ускоряет рисование.
MaskHandle	Обеспечивает доступ к обработке битовых матриц в GDI Windows. Используется при вызовах функций API Windows. Свойство только для чтения.
Modified	Показывает, было ли изображение изменено
Monochrome	Определяет, является ли битовая матрица монохромной (значение true)
Palette	Управляет цветами битовой матрицы. Если изображение не нуждается или не имеет палитры, то Palette = 0.
PaletteModified	Определяет, была ли модифицирована палитра
PixelFormat	Определяет битовый формат отображения изображения. Используется для задания формата видео драйверам, не способным прочитать собственный формат битовой матрицы.
ScanLine	Обеспечивает доступ к отдельным строкам пикселей для их низкоуровневой обработки для матриц DIBs  (Device Independent Bitmap - аппаратно независимых). Свойство только для чтения.
Transparent	Определяет, являетсяя ли цвет фона прозрачным
Transparent Color	Определяет, какой из цветов будет прозрачным при рисовании битовой матрицы. Читаемое значение зависит от значения TransparentMode.
TransparentMode	Определяет, будет ли свойство TransparentColor сохраняться вместе с битовой матрицей.
Width	Указывает ширину изображения в пикселях. Может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.


Основные методы TBitmap

Полный список TBitmap

Метод	Описание
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
Dormant	Создает изображение битовой матрицы в памяти, чтобы освободить дескриптор матрицы и сэкономить ресурсы
FreeImage	Освобождает память, занятую кэшированием изображения, экономит ресурсы, но может вести к потере глубины цвета. См. описание и пример в разделе Dormant.
LoadFromClipboard Format	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
LoadFromResourceID	Загружает битовую карту из ресурса по указанному идентификатору.
LoadFromResource Name	Загружает битовую карту из ресурса по указанному имени.
LoadFromStream	Читает графическое изображение из указанного потока.
Mask	Преобразует изображение в монохромную маску.
ReleaseHandle	Возвращает дескриптор типа HBitmap и очищает объект TBitmap от этого дескриптора.
ReleaseMaskHandle	Возвращает дескриптор маски типа HBitmap и очищает объект TBitmap от этого дескриптора.
ReleasePalette	Возвращает дескриптор палитры типа HPalette и разрывает связь палитры с объектом TBitmap.
SaveToClipboard Format	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToStream	Записывает изображение в поток.
SaveToFile	Сохраняет изображение в файле.


Все методы TBitmap

Основные методы TBitmap

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает экземпляр объекта
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dormant	Создает изображение битовой матрицы в памяти, чтобы освободить дескриптор матрицы и сэкономить ресурсы
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeImage	Освобождает память, занятую кэшированием изображения, экономит ресурсы, но может вести к потере глубины цвета. См. описание и пример в разделе Dormant.
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
LoadFrom ClipboardFormat	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
LoadFrom ResourceID	Загружает битовую карту из ресурса по указанному идентификатору.
LoadFrom ResourceName	Загружает битовую карту из ресурса по указанному имени.
LoadFromStream	Читает графическое изображение из указанного потока.
Mask	Преобразует изображение в монохромную маску.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
ReleaseHandle	Возвращает дескриптор типа HBitmap и очищает объект TBitmap от этого дескриптора.
Release MaskHandle	Возвращает дескриптор маски типа HBitmap и очищает объект TBitmap от этого дескриптора.
ReleasePalette	Возвращает дескриптор палитры типа HPalette и разрывает связь палитры с объектом TBitmap.
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveTo ClipboardFormat	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
SaveToStream	Записывает изображение в поток.


Основные события TBitmap

Полный список TBitmap

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


Все события TBitmap

Основные события TBitmap

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


Tobject

Tpersistent

TGraphic


TCanvas - класс

Иерархия   Свойства   Методы События

Обеспечивает пространство (холст, канву) для создания, хранения и модификации графических объектов

Модуль graphics

Описание

Класс TCanvas является основой графической подсистемы Delphi. Канва обеспечивает:

•	Загрузку и хранение графических изображений

•	Создание новых и изменение хранимых изображений с помощью пера, кисти, шрифта

•	Рисование и закраску различных фигур, линий, текстов

•	Комбинирование различных изображений

Класс TCanvas имеет два дочерних класса - TControlCanvas и TMetafileCanvas, которые помогают в прорисовке управляющих элементов и в создании для объекта метафайла.


Основные свойства TCanvas

Все свойства TCanvas

Свойство	Описание
Brush	Определяет цвет и стиль заполнения замкнутых фигур и фона.
Canvas Orientation	Определяет обычную (слева направо) и восточную (справа налево) ориентацию канвы и ее координат. Свойство только для чтения.
ClipRect	Определяет доступную область рисования на канве и область, подлежащую перерисовке при событии OnPaint. Свойство только для чтения.
CopyMode	Определяет режим копирования графического изображения на канву.
Font	Определяет атрибуты шрифта, которым выводится текст
Handle	Дескриптор канвы
LockCount	Определяет, сколько раз блокирована канва в многопоточных приложениях. Свойство только для чтения.
Pen	Определяет свойства пера, рисующего линии и фигуры.
PenPos	Определяет текущую позицию пера.
Pixels	Определяет цвета пикселей.
TextFlags	Определяет способ вывода текста на канву.


Все свойства TCanvas

Основные свойства TCanvas

Свойство	Описание
Brush	Определяет цвет и стиль заполнения замкнутых фигур и фона.
Canvas Orientation	Определяет обычную (слева направо) и восточную (справа налево) ориентацию канвы и ее координат. Свойство только для чтения.
ClipRect	Определяет доступную область рисования на канве и область, подлежащую перерисовке при событии OnPaint. Свойство только для чтения.
CopyMode	Определяет режим копирования графического изображения на канву.
Font	Определяет атрибуты шрифта, которым выводится текст
Handle	Дескриптор канвы
LockCount	Определяет, сколько раз блокирована канва в многопоточных приложениях. Свойство только для чтения.
Pen	Определяет свойства пера, рисующего линии и фигуры.
PenPos	Определяет текущую позицию пера.
Pixels	Определяет цвета пикселей.
TextFlags	Определяет способ вывода текста на канву.


Основные методы TCanvas

Полный список TCanvas

Метод	Описание
Arc	Рисует дугу окружности или эллипса
BrushCopy	Копирует часть изображения битовой матрицы на данную канву, заменяя указанный цвет в изображении на значение, установленное для кисти канвы
Chord	Рисует замкнутую фигуру, ограниченную дугой окружности или эллипса и хордой
CopyRect	Копирует часть изображения с другой канвы на данную
Draw	Рисует графическое изображение в указанную позицию канвы
Draw FocusRect	Рисует изображение прямоугольника в виде, используемом для отображения рамки фокуса, операцией XOR
Ellipse	Рисует окружность или эллипс
FillRect	Заполняет указанный прямоугольник канвы, используя текущее значение кисти Brush
FloodFill	Закрашивает текущей кистью замкнутую область канвы, определенную цветом
FrameRect	Рисует на канве текущей кистью прямоугольную рамку
LineTo	Рисует на канве прямую линию, начинающуюся с текущей позиции пера и кончающуюся указанной точкой
Lock	Блокирует канву, не разрешая другим нитям многопоточного приложения рисовать на ней
MoveTo	Изменяет текущую позицию пера на заданную, ничего не рисуя
Pie	Рисует сектор окружности или эллипса
Polygon	Рисует замкнутую фигуру с кусочно-линейной границей
Polyline	Рисует кусочно-линейную кривую
Rectangle	Рисует прямоугольник
RoundRect	Рисует прямоугольник со скругленными углами
StretchDraw	Рисует графическое изображение в указанную прямоугольную область канвы, подгоняя размер изображения под заданную область
TextExtent	Возвращает длину и высоту в пикселях текста, который предполагается написать на канве текущим шрифтом
TextHeight	Возвращает высоту в пикселях текста, который предполагается написать на канве текущим шрифтом
TextOut	Пишет указанную строку текста на канве, начиная с указанной позиции
TextRect	Пишет указанную строку текста на канве, начиная с указанной позиции и усекая текст, выходящий за пределы указанной прямоугольной области
TextWidth	Возвращает длину в пикселях текста, который предполагается написать на канве текущим шрифтом
TryLock	Блокирует канву, если она не была блокирована, не разрешая другим нитям многопоточного приложения рисовать на ней
Unlock	Уменьшает на единицу значение свойства LockCount, способствуя тем самым разблокированию канвы, когда LockCount станет равным 0


Все методы TCanvas

Основные методы TCanvas

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Arc	Рисует дугу окружности или эллипса
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BrushCopy	Копирует часть изображения битовой матрицы на данную канву, заменяя указанный цвет в изображении на значение, установленное для кисти канвы
Chord	Рисует замкнутую фигуру, ограниченную дугой окружности или эллипса и хордой
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
CopyRect	Копирует часть изображения с другой канвы на данную
Create	Создает экземпляр объекта
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Draw	Рисует графическое изображение в указанную позицию канвы
DrawFocusRect	Рисует изображение прямоугольника в виде, используемом для отображения рамки фокуса, операцией XOR
Ellipse	Рисует окружность или эллипс
FieldAddress	Возвращает указатель на опубликованное поле объекта
FillRect	Заполняет указанный прямоугольник канвы, используя текущее значение кисти Brush
FloodFill	Закрашивает текущей кистью замкнутую область канвы, определенную цветом
FrameRect	Рисует на канве текущей кистью прямоугольную рамку
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
LineTo	Рисует на канве прямую линию, начинающуюся с текущей позиции пера и кончающуюся указанной точкой
Lock	Блокирует канву, не разрешая другим нитям многопоточного приложения рисовать на ней
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MoveTo	Изменяет текущую позицию пера на заданную, ничего не рисуя
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Pie	Рисует сектор окружности или эллипса
PolyBezier	Рисует на канве текущим пером кусочную кривую третьего порядка, сглаживающую заданное множество точек, точно отображая первую и последнюю точку. Число точек должно быть кратно 3
PolyBezierTo	Рисует на канве текущим пером кусочную кривую третьего порядка, сглаживающую заданное множество точек, точно отображая последнюю точку. Число точек должно быть на единицу меньше числа, кратного 3
Polygon	Рисует замкнутую фигуру с кусочно-линейной границей
Polyline	Рисует кусочно-линейную кривую
Rectangle	Рисует прямоугольник
Refresh	Обновляет изображение
RoundRect	Рисует прямоугольник со скругленными углами
SafeCall Exception	Обрабатывает исключения OLE и Com
StretchDraw	Рисует графическое изображение в указанную прямоугольную область канвы, подгоняя размер изображения под заданную область
TextExtent	Возвращает длину и высоту в пикселях текста, который предполагается написать на канве текущим шрифтом
TextHeight	Возвращает высоту в пикселях текста, который предполагается написать на канве текущим шрифтом
TextOut	Пишет указанную строку текста на канве, начиная с указанной позиции
TextRect	Пишет указанную строку текста на канве, начиная с указанной позиции и усекая текст, выходящий за пределы указанной прямоугольной области
TextWidth	Возвращает длину в пикселях текста, который предполагается написать на канве текущим шрифтом
TryLock	Блокирует канву, если она не была блокирована, не разрешая другим нитям многопоточного приложения рисовать на ней
Unlock	Уменьшает на единицу значение свойства LockCount, способствуя тем самым разблокированию канвы, когда LockCount станет равным 0


Основные события TCanvas

Полный список TCanvas

Событие	Описание
OnChange	Событие после изменения изображения
OnChanging	Событие перед изменением изображения


Все события TCanvas

Основные события TCanvas

Событие	Описание
OnChange	Событие после изменения изображения
OnChanging	Событие перед изменением изображения


Tobject

TPersistent


TGraphic - класс

Иерархия   Свойства Методы   События

Абстрактный базовый класс для графических объектов типа битовых матриц, пиктограмм, метафайлов и типов, определенных пользователем

Модуль graphics

Описание

Класс TGraphic обеспечивает производные от него классы методами хранения, манипулирования и визуализации графических объектов, методами работы с объектами типа TPicture и с буфером обмена Clipboard. Свойства класса TGraphic дают информацию о состоянии и размерах изображения.

Когда тип графики, с которой ведется работа, известен: битовая матрица, пиктограмма или метафайл, можно использовать объекты производных от TGraphic классов TBitmap, TIcon или TMetafile соответственно. Если формат графики неизвестен, то можно использовать класс TPicture, способный работать с графическими объектами любых типов, производных от TGraphic.


Основные свойства TGraphic

Все свойства TGraphic

Свойство	Тип	Описание
Height	Integer	Указывает высоту изображения в пикселях. Для битовых матриц может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.
Modified	Boolean	Указывает, был ли изменен графический объект. Может принимать значение true (изменен) только для битовых матриц. Для пиктограмм и метафайлов всегда равен false, даже если изменения были.
Transparent	TColor	Указывает, является ли изображение прозрачным. Используется только для битовых матриц.
Width	Integer	Указывает ширину изображения в пикселях. Для битовых матриц может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.


Все свойства TGraphic

Основные свойства TGraphic

Свойство	Описание
Empty	Указывает, содержит ли объект изображение. Свойство только для чтения.
Height	Указывает высоту изображения в пикселях. Для битовых матриц может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.
Modified	Указывает, был ли изменен графический объект. Может принимать значение true (изменен) только для битовых матриц. Для пиктограмм и метафайлов всегда равен false, даже если изменения были.
Palette	Управляет цветами графического изображения. Если изображение не нуждается или не имеет палитры, то Palette = 0.
Palette Modified	Указывает, была ли изменена палитра графического объекта. Используется в обработчиках событий OnChange.
Transparent	Указывает, является ли изображение прозрачным. Используется только для битовых матриц.
Width	Указывает ширину изображения в пикселях. Для битовых матриц может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.


Основные методы TGraphic

Полный список TGraphic

Метод	Описание
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
LoadFromClipboard Format	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
LoadFromStream	Читает графическое изображение из указанного потока.
SaveToClipboard Format	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
SaveToStream	Записывает изображение в поток.


Все методы TGraphic

Основные методы TGraphic

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает экземпляр объекта
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
LoadFrom ClipboardFormat	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
LoadFromStream	Читает графическое изображение из указанного потока.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveTo ClipboardFormat	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
SaveToStream	Записывает изображение в поток.


Основные события TGraphic

Полный список TGraphic

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


Все события TGraphic

Основные события TGraphic

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


TObject

TPersistent


TIcon - класс

Иерархия   Свойства   Методы События

Инкапсулирует пиктограмму Windows

Модуль graphics

Описание

Класс TIcon инкапсулирует пиктограмму Windows. Свойства класса TIcon имеют такие объекты, как TForm и TPicture.

Пиктограмма соответствует формату файлов .ICO Windows. Рисовать пиктограммы на канве можно методом канвы Draw, но метод StretchDraw к ним не применим, поскольку пиктограммы не могут изменять своих размеров.


Основные свойства TIcon

Все свойства   TIcon

Свойство	Тип	Описание
Empty	Boolean	Указывает, содержит ли объект битовую матрицу. Свойство только для чтения.
Handle	HBitmap	Обеспечивает доступ к обработке битовых матриц в GDI Windows. Используется при вызовах функций API Windows.
Height	Integer	Указывает высоту изображения в пикселях. Может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.
Transparent	TColor	Указывает, является ли изображение прозрачным. Используется только для битовых матриц.
Width	Integer	Указывает ширину изображения в пикселях. Может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.


Все свойства TIcon

Основные свойства TIcon

Свойство	Описание
Empty	Указывает, содержит ли объект битовую матрицу. Свойство только для чтения.
Handle	Обеспечивает доступ к обработке битовых матриц в GDI Windows. Используется при вызовах функций API Windows.
Height	Указывает высоту изображения в пикселях. Может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.
Modified	Указывает, было ли изменено изображение
Palette	Управляет цветами графического изображения. Если изображение не нуждается или не имеет палитры, то Palette = 0.
PaletteModified	Указывает, была ли изменена палитра графического объекта. Используется в обработчиках событий OnChange.
Transparent	Указывает, является ли изображение прозрачным. Используется только для битовых матриц.
Width	Указывает ширину изображения в пикселях. Может изменяться пользователем, что вызывает создание копии матрицы с указанным размером.


Основные методы TIcon

Полный список TIcon

Метод	Описание
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
LoadFromClipboard Format	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
LoadFromStream	Читает графическое изображение из указанного потока.
ReleaseHandle	Возвращает дескриптор типа HIcon и устанавливает дескриптор объекта TIcon в nil.
SaveToClipboard Format	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
SaveToStream	Записывает изображение в поток.


Все методы TIcon

Основные методы   TIcon

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает экземпляр объекта
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
LoadFromClipboardFormat	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
LoadFromStream	Читает графическое изображение из указанного потока.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
ReleaseHandle	Возвращает дескриптор типа HIcon и устанавливает дескриптор объекта TIcon в nil.
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveToClipboardFormat	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
SaveToStream	Записывает изображение в поток.


Основные события TIcon

Полный список TIcon

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


Все события TIcon

Основные события TIcon

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


TObject

TPersistent

TGraphics


TMetafile - класс

Иерархия   Свойства Методы   События

Инкапсулирует метафайл Win32 Enhanced

Модуль graphics

Описание

Класс TMetafile позволяет хранить изображения, соответствующие графическим метафайлам .emf Windows. Свойства TMetafile описывают размер и характеристики метафайла. Рисовать метафайлы на канве можно методами канвы Draw и StretchDraw. Свойство Enhanced определяет, как метафайл хранится на диске: true соответствует формату .emf (Win32 Enhanced Metafile), а false - .wmf (Windows 3.1 Metafile).


Основные свойства TMetafile

Все свойства TMetafile

Свойство	Тип	Описание
CreatedBy	string	Указывает имя автора или приложения, создавшего метафайл. Свойство только для чтения. Чтобы задать CreatedBy нового метафайла, надо вызвать метод CreateWithComment объекта TMetafileCanvas.
Description	string	Определяет не обязательный текст описания метафайла. Свойство только для чтения. Чтобы задать Description нового метафайла, надо вызвать метод CreateWithComment объекта TMetafileCanvas.
Empty	Boolean	Указывает, содержит ли объект метафайл. Свойство только для чтения.
Enhanced	Boolean	Значение true соответствует формату хранения на диске .emf, а false -.wmf. В памяти метафайл всегда хранится в формате .emf. Формат .wmf ведет к частичной потере информации и оставлен только для обратной совместимости с Delphi 1.
Handle	HMetafile	Дескриптор, используемый для доступа к GDI Windows и вызова функций API Windows.
Height	Integer	Указывает высоту изображения в пикселях. Может изменяться пользователем.
Inch	Word	Используется для метафайлов WMF и указывает число единиц на дюйм, необходимое для масштабирования. Метафайлы EMF хранят эту информацию внутри себя.
MMHeight	Integer	Содержит высоту изображения в единицах 0.01 мм. MMHeight дает более точное значение высоты, чем свойство Height, значение которого измеряется в пикселях.
MMWidth	Integer	Содержит ширину изображения в единицах 0.01 мм. MMWidth дает более точное значение ширины, чем свойство Width, значение которого измеряется в пикселях.
Modified	Boolean	Указывает, был ли изменен графический объект.
Palette	HPalette	Управляет цветами графического изображения. Если изображение не нуждается или не имеет палитры, то Palette = 0.
Palette Modified	Boolean	Указывает, была ли изменена палитра графического объекта. Используется в обработчиках событий OnChange.
Transparent	TColor	Указывает, является ли изображение прозрачным.
Width	Integer	Указывает ширину изображения в пикселях. Может изменяться пользователем.


Все свойства TMetafile

Основные свойства TMetafile

Свойство	Описание
CreatedBy	Указывает имя автора или приложения, создавшего метафайл. Свойство только для чтения. Чтобы задать CreatedBy нового метафайла, надо вызвать метод CreateWithComment объекта TMetafileCanvas.
Description	Определяет не обязательный текст описания метафайла. Свойство только для чтения. Чтобы задать Description нового метафайла, надо вызвать метод CreateWithComment объекта TMetafileCanvas.
Empty	Указывает, содержит ли объект метафайл. Свойство только для чтения.
Enhanced	Значение true соответствует формату хранения на диске .emf, а false -.wmf. В памяти метафайл всегда хранится в формате .emf. Формат .wmf ведет к частичной потере информации и оставлен только для обратной совместимости с Delphi 1.
Handle	Дескриптор, используемый для доступа к GDI Windows и вызова функций API Windows.
Height	Указывает высоту изображения в пикселях. Может изменяться пользователем.
Inch	Используется для метафайлов WMF и указывает число единиц на дюйм, необходимое для масштабирования. Метафайлы EMF хранят эту информацию внутри себя.
MMHeight	Содержит высоту изображения в единицах 0.01 мм. MMHeight дает более точное значение высоты, чем свойство Height, значение которого измеряется в пикселях.
MMWidth	Содержит ширину изображения в единицах 0.01 мм. MMWidth дает более точное значение ширины, чем свойство Width, значение которого измеряется в пикселях.
Modified	Указывает, был ли изменен графический объект.
Palette	Управляет цветами графического изображения. Если изображение не нуждается или не имеет палитры, то Palette = 0.
PaletteModified	Указывает, была ли изменена палитра графического объекта. Используется в обработчиках событий OnChange.
Transparent	Указывает, является ли изображение прозрачным.
Width	Указывает ширину изображения в пикселях. Может изменяться пользователем.


Основные методы TMetafile

Полный список TMetafile

Метод	Описание
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
LoadFromClipboard Format	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
LoadFromStream	Читает графическое изображение из указанного потока.
ReleaseHandle	Возвращает дескриптор типа HENHMETAFILE и устанавливает дескриптор объекта в nil.
SaveToClipboard Format	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
SaveToStream	Записывает изображение в поток.


Все методы TMetafile

Основные методы TMetafile

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Очищает изображение
Create	Создает экземпляр объекта
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
LoadFrom ClipboardFormat	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
LoadFromStream	Читает графическое изображение из указанного потока.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
ReleaseHandle	Возвращает дескриптор типа HENHMETAFILE и устанавливает дескриптор объекта в nil.
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveTo ClipboardFormat	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
SaveToStream	Записывает изображение в поток.


Основные события TMetafile

Полный список TMetafile

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


Все события TMetafile

Основные события TMetafile

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


TColor - тип

Определяет цвет объекта

Модуль Graphics

Определение

type TColor = -(COLOR_ENDCOLORS + 1)..$02FFFFFF;

Описание

Тип TColor используется для описания цвета объекта. Применяется в свойствах Color многих компонентов, в подсвойствах объекта типа TFont, при прорисовке изображений, в таблицах и т.д.

В модуле Graphics определено множество констант типа TColor. Одни из них непосредственно определяют цвета (например clBlue - синий), другие определяют цвета элементов окон, которые могут меняться в зависимости от выбранной пользователем палитры цветов Windows (например, clBtnFace - цвет поверхности кнопок). Полный перечень этих констант с пояснениями см. в разделе Color.

Вместо использования этих констант можно задавать TColor как 4-байтовое шестнадцатеричное число, три младших разряда которого представляют собой интенсивности синего, зеленого и красного цвета соответственно. Например, значение $00FF0000 соответствует чистому синему цвету, $0000FF00 - чистому зеленому, $000000FF - чистому красному. $00000000 - черный цвет, $00FFFFFF - белый.

Если старший байт равен нулю ($00), то берется ближайший к заданному цвет из системной палитры. Если старший байт равен единице ($01), то берется ближайший к заданному цвет из текущей палитры. Если старший байт равен двум ($02), то берется ближайший к заданному цвет из логической палитры контекста данного устройства.


TFontName - тип

Тип, описывающий вид (имя) шрифта объекта типа TFont

Модуль Graphics

Определение

type TFontName = string(LF_FACESIZE - 1);

Описание

Тип TFontName используется в свойстве Name шрифта - объекта типа TFont. Максимальное число символов в строке - 32, so font names longer than 32. Более длинные имена усекаются.

Если указывается имя шрифта, содержащего несколько наборов символов, то надо устанавливать правильное значение свойства CharSet объекта типа TFont.


TMsgDlgType - тип
TMsgDlgType тип

Определяет вид отображаемого окна сообщения.

Модуль Dialogs

Определение

type TMsgDlgType = (mtWarning, mtError, mtInformation,
                      mtConfirmation, mtCustom);

Описание

Перечислимый тип TMsgDlgType определяет вид окна сообщений, отображаемого при вызовах функций MessageDlg и MessageDlgPos. Возможные значения переменной этого типа означают следующее:

Значение	Описание
mtWarning	Окно замечаний, содержащее желтый восклицательный знак.
mtError	Окно ошибок, содержащее красный стоп-сигнал.
mtInformation	Информационное окно, содержащее голубой символ "i".
MTConfir mation	Окно подтверждения, содержащее зеленый вопросительный знак.
mtCustom	Заказное окно без рисунка. Заголовок соответствует имени выполняемого файла приложения.


TPoint - тип

Определяет координаты точки на экране в пикселях

Модуль Windows

Определение

type TPoint = record

  X: Longint;

  Y: Longint;

end;

Описание

Тип TPoint используется для многих свойств и обычно определяет экранные координаты левого верхнего угла прямоугольной области. X определяет горизонтальную координату, а Y - вертикальную.


TRect - тип

Определяет координаты прямоугольной области

Модуль Windows

Определение

type

TPoint = record

  X: Longint;

  Y: Longint;

end;

TRect = record

  case Integer of

    0: (Left, Top, Right, Bottom: Integer);

    1: (TopLeft, BottomRight: TPoint);

end;

Описание

Координаты задаются и как четыре целых числа, определяющие координаты в пикселях левой, верхней, правой и нижней сторон прямоугольника, и как две точки типа TPoint, представляющие собой координаты левого верхнего и правого нижнего углов.

Началом координат обычно считается левый верхний угол экрана или окна.


TVarRec - тип

Используется внутри процедур и функций, в которые передается параметр типа array of const

Модуль System

Объявление

const

vtInteger    = 0;

vtBoolean    = 1;

vtChar       = 2;

vtExtended   = 3;

vtString     = 4;

vtPointer    = 5;

vtPChar      = 6;

vtObject     = 7;

vtClass      = 8;

vtWideChar   = 9;

vtPWideChar  = 10;

vtAnsiString = 11;

vtCurrency   = 12;

vtVariant    = 13;

vtInterface  = 14;

vtWideString = 15;

vtInt64      = 16;

type

PVarRec = ^TVarRec;

TVarRec = record

case Byte of

vtInteger:    (VInteger: Integer; VType: Byte);

vtBoolean:    (VBoolean: Boolean);

vtChar:       (VChar: Char);

vtExtended:   (VExtended: PExtended);

vtString:     (VString: PShortString);

vtPointer:    (VPointer: Pointer);

vtPChar:      (VPChar: PChar);

vtObject:     (VObject: TObject);

vtClass:      (VClass: TClass);

vtWideChar:   (VWideChar: WideChar);

vtPWideChar:  (VPWideChar: PWideChar);

vtAnsiString: (VAnsiString: Pointer);

vtCurrency:   (VCurrency: PCurrency);

vtVariant:    (VVariant: PVariant);

vtInterface:  (VInterface: Pointer);

vtWideString: (VWideString: Pointer);

vtInt64:      (VInt64: PInt64);

end;

Описание

Тип TVarRec используется внутри процедур и функций, в которые передается параметр типа array of const. В этом случае массив представляет собой массив данных различных типов. При передаче  в процедуру или функцию каждый из элементов такого массива переводится в структуру TVarRec и снабжается полем VType, которое позволяет определить тип каждого элемента передаваемого открытого массива.


TMessage - тип

Является типом параметра, характеризующего сообщения Windows и передаваемого в метод WndProc

Модуль Messages

Объявление

type

  TMessage = record

    Msg: Cardinal;

    case Integer of

      0: (

        WParam: Longint;

        LParam: Longint;

        Result: Longint);

      1: (

        WParamLo: Word;

        WParamHi: Word;

        LParamLo: Word;

        LParamHi: Word;

        ResultLo: Word;

        ResultHi: Word);

  end;

Описание

Тип TMessage представляет в WndProc и других процедурах параметры сообщений Windows.


TButtonSet - тип

Тип множества кнопок медиа-плейера

Модуль mplayer

Определение

type

 TMPBtnType=(btPlay,btPause,btStop,btNext,btPrev,btStep,btBack,
             btRecord, btEject);

 TButtonSet = set of TMPBtnType;

Описание

Тип TButtonSet используется в методах медиа-плейера, определяя множество кнопок, которым присваивается то или иное свойство.


TMPBtnType - тип

Тип множества обозначений кнопок медиа-плейера

Модуль mplayer

Определение

type

 TMPBtnType=(btPlay,btPause,btStop,btNext,btPrev,btStep,btBack,
             btRecord, btEject);

Описание

Тип TMPBtnType определяет множество обозначений кнопок медиа-плейера. Широко используется в методах и событиях медиа-плейера, в частности, в определении типа TButtonSet.


TPicture - класс

Иерархия   Свойства Методы   События

Описывает объект, являющийся контейнером графических объектов типа битовых матриц, пиктограмм, метафайлов и определенных пользователем типов графических объектов

Модуль Graphics

Описание

Объект типа TPicture является контейнером любого графического объекта TGraphic, тип которого указывается свойством Graphic. Объект TPicture имеет полиморфные методы файлового чтения и записи LoadFromFile и SaveToFile, автоматически подстраивающиеся под тип объекта.

В зависимости от типа хранимого объекта - битовой матрицы, пиктограммы, метафайла, определены соответствующие свойства Bitmap, Icon или Metafile, указывающие на графический объект. При ошибочном обращении к этим свойствам (если объект в действительности имеет другой тип) прежнее содержимое объекта стирается и открывается новый пустой объект указанного типа. Вместо этих свойств можно получать доступ к графическому объекту непосредственно через свойство Graphic. Таким образом, например, обращения Image1.Picture.Graphic и Image1.Picture.Bitmap эквивалентны, если графический объект - битовая матрица.

Обмен объекта TPicture с буфером обмена Clipboard может осуществляться методом Assign объекта TClipboard.


Основные свойства TPicture

Все свойства TPicture

Свойство	Тип	Описание
Bitmap	TBitmap	Указывает на хранящийся объект как на битовую матрицу (формат файла .bmp).
Graphic	TGraphic	Указывает на хранящийся объект как на битовую матрицу, пиктограмму, метафайл или определенный пользователем тип.
Height	Integer	Указывает собственную, не измененную высоту изображения в пикселях. Свойство только для чтения.
Icon	TIcon	Указывает на хранящийся объект как на пиктограмму (формат файла .ICO).
Metafile	TMetafile	Указывает на хранящийся объект как на метафайл (формат файла .EMF).
Width	Integer	Указывает собственную, не измененную ширину изображения в пикселях. Свойство только для чтения.


Все свойства TPicture

Основные свойства TPicture

Свойство	Тип	Описание
Bitmap	TBitmap	Указывает на хранящийся объект как на битовую матрицу (формат файла .bmp).
Graphic	TGraphic	Указывает на хранящийся объект как на битовую матрицу, пиктограмму, метафайл или определенный пользователем тип.
Height	Integer	Указывает собственную, не измененную высоту изображения в пикселях. Свойство только для чтения.
Icon	TIcon	Указывает на хранящийся объект как на пиктограмму (формат файла .ICO).
Metafile	TMetafile	Указывает на хранящийся объект как на метафайл (формат файла .EMF).
Width	Integer	Указывает собственную, не измененную ширину изображения в пикселях. Свойство только для чтения.


Основные методы TPicture

Полный список TPicture

Метод	Описание
LoadFromClipboard Format	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
RegisterClipboardFormat	Регистрирует новый формат Clipboard графического объекта для использования в методе LoadFromClipboardFormat.
RegisterFileFormat	Регистрирует новый файловый формат графического объекта для использования в методе LoadFromFile.
RegisterFileFormatRes	Регистрирует новый файловый формат графического объекта из ресурсов для использования в методе LoadFromFile.
SaveToClipboardFormat	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
SupportsClipboardFormat	Определяет, поддерживается ли указанный формат Clipboard графического объекта.
UnregisterGraphicClass	Удаляет все ссылки на ранее зарегистрированный формат Clipboard или файла.


Все методы TPicture

Основные методы TPicture

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует изображение из другого графического объекта, в частности, из буфера обмена Clipboard.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает экземпляр объекта
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
LoadFrom ClipboardFormat	Читает изображение из буфера обмена Clipboard в заданном формате.
LoadFromFile	Читает изображение из файла.
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Register ClipboardFormat	Регистрирует новый формат Clipboard графического объекта для использования в методе LoadFromClipboardFormat.
Register FileFormat	Регистрирует новый файловый формат графического объекта для использования в методе LoadFromFile.
RegisterFile FormatRes	Регистрирует новый файловый формат графического объекта из ресурсов для использования в методе LoadFromFile.
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveTo ClipboardFormat	Сохраняет изображение в буфере обмена Clipboard в заданном формате.
SaveToFile	Сохраняет изображение в файле.
Supports ClipboardFormat	Определяет, поддерживается ли указанный формат Clipboard графического объекта.
Unregister GraphicClass	Удаляет все ссылки на ранее зарегистрированный формат Clipboard или файла.


Основные события TPicture

Полный список TPicture

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


Все события TMetafile
Все события TPicture

Основные события TPicture

Событие	Описание
OnChange	Событие при изменении графического объекта
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


TBrush - класс

Иерархия   Свойства   Методы   События   Примеры

Определяет свойства кисти: цвет и стиль заполнения фона окна

Модуль Graphics

Описание

Тип TBrush инкапсулирует структуру HBRUSH Winodws и используется для заполнения форм заданным цветом и стилем. TBrush используется во многих объектах, в частности, в свойстве кисть - Brush.


TObject

TPersistent

TGraphicsObject


Основные свойства TBrush

Полный список    TBrush

Свойство	Описание
Bitmap	Указатель на внешнюю матрицу побитового отображения, используемую как шаблон заполнения.
Color	Цвет кисти. По умолчанию - clWhite.
Handle	Дескриптор кисти окна, определяющий доступ к дескриптору объекта GDI Windows.
Style	Определяет стиль заполнения окна.


TBrush - Все свойства класса TBrush
Все свойства TBrush

Основные свойства   TBrush

Свойство	Описание
Bitmap	Указатель на внешнюю матрицу побитового отображения, используемую как шаблон заполнения.
Color	Цвет кисти. По умолчанию - clWhite.
Handle	Дескриптор кисти окна, определяющий доступ к дескриптору объекта GDI Windows.
OwnerCritical Section	Указывает на TRTLCriticalSection, который создается канвой при рисовании объекта с блокировкой доступа параллельных потоков
Style	Определяет стиль заполнения окна.


Основные методы TBrush

Полный список    TBrush

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TImage
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com


Все методы TBrush

Основные методы   TBrush

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TImage
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com


события TBrush
События класса TBrush

События	Описание
OnChange	Наступает после изменения графического объекта


TBits - тип
TBits - тип массива булевых величин

Иерархия   Свойства   Методы   Примеры

Массив произвольного числа булевых величин

Модуль classes

Описание

TBits используется для хранения неопределенного числа булевых значений. Количество хранимых значений ограничено только размером доступной памяти. При необходимости размер массива автоматически увеличивается.

Если число хранимых значений не превышает 32, то те же возможности можно получить, применяя побитовые операции И ИЛИ (and и or) к переменной типа integer.


Основные свойства TBits

Полный список    Tbits

Bits	массив булевых значений
Size	размер массива


TBits - тип
Все свойства TBits

Основные свойства   Tbits

Bits	Массив булевых значений
Size	Размер массива


Основные методы TBits

Полный список    TBits

Destroy	разрушает экземпляр объекта типа Tbits
OpenBit	возвращает индекс первого элемента, имеющего значение false


Все методы TBits

Основные методы   Tbits

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TImage
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com


TFont - класс

Иерархия   Свойства   Методы   События

Определяет характеристики шрифта

Модуль graphics

Описание

Объект типа TFont определяет множество характеристик, описывающих шрифт, используемый при отображении текстов: высоту шрифта, его имя, атрибуты (полужирный, курсив) и т.д. Используется в свойстве Font.


TObject

TPersistent

TGraphicsObject


Основные свойства TFont

Полный список    TFont

Свойство	Описание
Charset	Определяет набор символов шрифта.
Color	Определяет цвет текста.
FontAdapter	Интерфейс для передачи информации о шрифте в элементы ActiveX.
Handle	Дескриптор шрифта, используемый как параметр функций API Windows, требующих обработки шрифтов. Применяется только в специальных случаях.
Height	Характеризует высоту шрифта в пикселях.
Name	Вид (имя) шрифта.
Pitch	Определяет способ установки ширины символов.
PixelsPer Inch	Число пикселей принтера или экрана на дюйм. Используется при копировании шрифта с канвы формы на принтер, чтобы обеспечить соответствие размеров шрифта на экране и принтере. Влияет только на печать. Изменяться пользователем не должно.
Size	Размер шрифта в кеглях (пунктах).
Style	Стиль шрифта: полужирный, курсив, подчеркнутый, перечеркнутый.


Все свойства TFont

Основные свойства   TFont

Свойство	Описание
Charset	Определяет набор символов шрифта.
Color	Определяет цвет текста.
FontAdapter	Интерфейс для передачи информации о шрифте в элементы ActiveX.
Handle	Дескриптор шрифта, используемый как параметр функций API Windows, требующих обработки шрифтов. Применяется только в специальных случаях.
Height	Характеризует высоту шрифта в пикселях.
Name	Вид (имя) шрифта.
Pitch	Определяет способ установки ширины символов.
Pixels PerInch	Число пикселей принтера или экрана на дюйм. Используется при копировании шрифта с канвы формы на принтер, чтобы обеспечить соответствие размеров шрифта на экране и принтере. Влияет только на печать. Изменяться пользователем не должно.
Size	Размер шрифта в кеглях (пунктах).
Style	Стиль шрифта: полужирный, курсив, подчеркнутый, перечеркнутый.


Основные методы TFont

Полный список    TFont

Метод	Описание
Create	Создает и инициализирует экземпляр TImage
Destroy	Уничтожает экземпляр TImage


Все методы TFont

Основные методы   TFont

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TImage
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Method Address	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com


События класса TFont
Все события TFont

Событие	Описание
OnChange	Наступает сразу после изменения отображаемого шрифта


TPen - класс

Иерархия   Свойства   Методы    События

Определяет свойства пера, используемые при рисовании линий и фигур на канве

Модуль Graphics

Описание

Тип TPen инкапсулирует атрибуты пера Winodws при рисовании на канве - объекте типа TCanvas.


TObject

TPersistent

TGraphicsObject


Основные свойства TPen

Полный список    TPen

Свойство	Тип	Описание
Color	TColor	Цвет пера. По умолчанию - clBlack.
Handle	HBrush	Дескриптор кисти окна. Используется для доступа к функциям API Windows.
Mode	TPenMode	Определяет режим рисования линий.
Style	TBrush Style	Определяет стиль рисования линий.
Width	Integer	Определяет толщину линии в пикселях. Влияет на Style.


Все свойства TPen

Основные свойства   TPen

Свойство	Тип	Описание
Color	TColor	Цвет пера. По умолчанию - clBlack.
Handle	HBrush	Дескриптор кисти окна. Используется для доступа к функциям API Windows.
Mode	TPenMode	Определяет режим рисования линий.
Style	TBrush Style	Определяет стиль рисования линий.
Width	Integer	Определяет толщину линии в пикселях. Влияет на Style.


Основные методы TPen

Полный список    TPen

Destroy	разрушает экземпляр объекта типа Tbits
OpenBit	возвращает индекс первого элемента, имеющего значение false


Все методы TPen

Основные методы   TPen

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип класса - непосредственного родителя данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TImage
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Method Address	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com


Все события TPen

событие	Описание
OnChange	Наступает сразу после изменения


TBaseArray - класс
TBaseArray базовый класс специализированных массивов

Иерархия

Базовый класс всех массивов, используемых в компонентах куба решений

Модуль mxarrays

Описание

TBaseArray является базовым классом для классов специализированных массивов любых указанных типов данных. Подобно объектам типов TList и TStringList объекты типа TBaseArray представляют собой упорядоченные списки элементов, размеры которых могут динамически изменяться. Однако элементы TBaseArray могут иметь произвольный тип, размер которого задается в конструкторе, тогда как тип элементов TStringList ограничен строками, а тип элементов TList - указателями.

Предопределенные в Delphi потомки класса TBaseArray являются массивами таких данных, как short integers.

Класс TBaseArray можно использовать для создания новых классов массивов любых объектов. При этом автоматически проверяется допустимость операций с этими массивами. При недопустимых операциях генерируется исключение EArrayError.


TMenuItem - класс

Иерархия   Свойства   Методы   События

Описывает свойства элементов меню

Модуль menus

Описание

Объекты TMenuItem характеризуют разделы меню. Создаются эти объекты Конструктором Меню, который вызывается двойным щелчком на компоненте меню. Каждой команде меню соответствует свой объект TMenuItem.


TObject

TPersistent

TComponent


Основные свойства TMenuItem

Полный список TMenuItem

Свойство	Тип	Описание
Action	TBasic Action	Указывает действие, связанное с данным разделом меню.
Bitmap	TBitmap	Указывает изображение, появляющееся в заголовке раздела меню. Если установлено свойство ImageIndex и в родительском меню свойство Images не равно nil, изображение определяется этими свойствами, а не Bitmap.
Break	TMenuBreak	Определяет, не надо ли начинать новый столбец разделов меню.
Caption	string	Определяет надпись раздела меню.
Checked	Boolean	Указывает, будет ли изображаться в разделе меню маркер флажок, показывающий, что данный раздел выбран.
Command	Word	Определяет идентификатор Command ID Windows, связанный с данным разделом меню. Используется в приложениях, напрямую обрабатывающих сообщения Windows WM_COMMAND. Свойство только для чтения.
Count	Integer	Указывает число подразделов данного раздела меню, раскрываемых как выпадающий список. Учитываются только подразделы, относящиеся непосредственно к данному разделу, хотя сами они могут в свою очередь тоже иметь подразделы. Свойство только для чтения.
Default	Boolean	Определяет, является ли данный раздел разделом по умолчанию своего подменю, т.е. разделом, выполняемым при двойном щелчке пользователя на родительском разделе. Подменю может содержать только один раздел по умолчанию, выделяемый жирным шрифтом. В Windows NT 3.51 свойство Default работает только если установлена new shell.
Enabled	Boolean	Определяет, доступен ли раздел. Недоступный раздел изображается серой надписью и не реагирует на щелчок пользователя.
Group Index	Byte	Определяет логическую группу, к которой относится раздел. Используется при объединении меню нескольких форм.
Handle	HMENU	Дескриптор выпадающего меню Windows, связанного с данным разделом. Используется при вызовах функций API Windows. Имеет смысл только при Count > 0. Свойство только для чтения.
Help Context	Thelp Context	Идентификатор связанной с разделом темы справки.
Hint	String	Текст, отображаемый в ярлычке подсказки или в строке состояния.
Image Index	Integer	Индекс изображения раздела в списке изображений родительского меню Images.
Items	Items [Integer]:    TMenuItem	Список разделов подменю, относящегося к данному разделу. Индексы начинаются с 0 и соответствуют последовательности разделов подменю. Свойство позволяет в цикле изменять какие-то свойства подразделов, например, Enabled. Свойство только для чтения.
Menu Index	Integer	Индекс раздела, определяющий его место в свойстве Items родительского меню. Изменение MenuIndex перемещает раздел в Items. Индекс может не соответствовать видимой пользователем позиции раздела в меню, т.к. некоторые разделы могут быть невидимыми.
Parent	TmenuItem	Указывает на родительский раздел меню, в выпадающем списке которого содержится данный раздел. Если раздел находится на верхнем уровне меню, то свойство Parent указывает на свойство Items самого меню. Свойство только для чтения.
Radio Item	Boolean	Определяет, должен ли работать данный раздел в режиме радиокнопки совместно с другими разделами, имеющими то же значение свойства GroupIndex. В Windows NT 3.51 свойство Default работает только если установлена “new shell”. См. подробнее в описании GroupIndex.
ShortCut	TShortCut	Определяет комбинацию "горячих" клавиш, обеспечивающих быстрый доступ к разделу меню.
Visible	Boolean	Определяет видимость раздела меню. Отличие от свойства доступности Enabled в том, что недоступный раздел видим, а при Visible = false раздел невидим, соседние разделы смыкаются, занимая пустующее место.


Все свойства TMenuItem

Основные свойства   TMenuItem

Свойство	Описание
Action	Указывает действие, связанное с данным разделом меню.
AutoHotkeys	Определяет, изменяются ли автоматически "горячие" клавиши, если в меню оказываются дубли этих клавиш
AutoLine Reduction	Определяет, удаляются ли автоматически разделители в начале и конце меню и один из двух следующих подряд  разделителей
Bitmap	Указывает изображение, появляющееся в заголовке раздела меню. Если установлено свойство ImageIndex и в родительском меню свойство Images не равно nil, изображение определяется этими свойствами, а не Bitmap.
Break	Определяет, не надо ли начинать новый столбец разделов меню.
Caption	Определяет надпись раздела меню.
Checked	Указывает, будет ли изображаться в разделе меню маркер флажок, показывающий, что данный раздел выбран.
Command	Определяет идентификатор Command ID Windows, связанный с данным разделом меню. Используется в приложениях, напрямую обрабатывающих сообщения Windows WM_COMMAND. Свойство только для чтения.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM Component
ComponentCount	Число компонентов в массиве Components
ComponentIndex	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Components	Массив компонентов, которыми владеет данный компонент. Позволяет сослаться на любой компонент с помощью его ComponentIndex
ComponentState	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
ComponentStyle	Определяет флаги стиля компонента. Используется при создании новых компонентов
Count	Указывает число подразделов данного раздела меню, раскрываемых как выпадающий список. Учитываются только подразделы, относящиеся непосредственно к данному разделу, хотя сами они могут в свою очередь тоже иметь подразделы. Свойство только для чтения.
Default	Определяет, является ли данный раздел разделом по умолчанию своего подменю, т.е. разделом, выполняемым при двойном щелчке пользователя на родительском разделе. Подменю может содержать только один раздел по умолчанию, выделяемый жирным шрифтом. В Windows NT 3.51 свойство Default работает только если установлена new shell.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Enabled	Определяет, доступен ли раздел. Недоступный раздел изображается серой надписью и не реагирует на щелчок пользователя.
GroupIndex	Определяет логическую группу, к которой относится раздел. Используется при объединении меню нескольких форм.
Handle	Дескриптор выпадающего меню Windows, связанного с данным разделом. Используется при вызовах функций API Windows. Имеет смысл только при Count > 0. Свойство только для чтения.
HelpContext	Идентификатор связанной с разделом темы справки.
Hint	Текст, отображаемый в ярлычке подсказки или в строке состояния.
ImageIndex	Индекс изображения раздела в списке изображений родительского меню Images.
Items	Список разделов подменю, относящегося к данному разделу. Индексы начинаются с 0 и соответствуют последовательности разделов подменю. Свойство позволяет в цикле изменять какие-то свойства подразделов, например, Enabled. Свойство только для чтения.
MenuIndex	Индекс раздела, определяющий его место в свойстве Items родительского меню. Изменение MenuIndex перемещает раздел в Items. Индекс может не соответствовать видимой пользователем позиции раздела в меню, т.к. некоторые разделы могут быть невидимыми.
Name	Имя компонента, по которому производится ссылка на него из других компонентов. См. пример использования в разделе Components
Owner	Определяет владельца данного компонента
Parent	Указывает на родительский раздел меню, в выпадающем списке которого содержится данный раздел. Если раздел находится на верхнем уровне меню, то свойство Parent указывает на свойство Items самого меню. Свойство только для чтения.
RadioItem	Определяет, должен ли работать данный раздел в режиме радиокнопки совместно с другими разделами, имеющими то же значение свойства GroupIndex. В Windows NT 3.51 свойство Default работает только если установлена “new shell”. См. подробнее в описании GroupIndex.
ShortCut	Определяет комбинацию "горячих" клавиш, обеспечивающих быстрый доступ к разделу меню.
SubMenuImages	Компонент типа ImageList, содержащий список изображений, используемых в подменю
Tag	Это свойство не используется в Delphi. Разработчик может использовать его по своему усмотрению. См. Пример использования в разделе Components
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость раздела меню. Отличие от свойства доступности Enabled в том, что недоступный раздел видим, а при Visible = false раздел невидим, соседние разделы смыкаются, занимая пустующее место.


Основные методы TMenuItem

Полный список   TMenuItem

Метод	Описание
Add	Добавляет новый элемент в свойство Items данного раздела, содержащее список подразделов его выпадающего меню.
Delete	Удаляет подраздел, указанный своим индексом, из массива свойства Items данного раздела меню. Индексы начинаются с 0.
GetParent Menu	Возвращает меню типа TMenu, частью которого является данный раздел.
IndexOf	Возвращает индекс раздела меню, в подменю которого расположен данный раздел. Индекс соответствует позиции в массиве Items. Если данный раздел расположен не в подменю, возвращается -1.
Insert	Вставляет указанный подраздел в выпадающее меню данного раздела и задает индекс свойства Items вставляемого раздела.
Remove	Удаляет указанный подраздел из массива свойства Items данного раздела меню.


Все методы TMenuItem

Основные методы   TMenuItem

Метод	Описание
Add	Добавляет новый элемент в свойство Items данного раздела, содержащее список подразделов его выпадающего меню.
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует данные одного объекта в другой
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Очищает содержимое объекта
Click	Генерирует событие OnClick
Create	Создает экземпляр объекта
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет подраздел, указанный своим индексом, из массива свойства Items данного раздела меню. Индексы начинаются с 0.
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Find	Ищет в меню раздел с указанной надписью Caption
FindComponent	Ищет в списке Components компонент с заданным именем.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetImageList	Возвращает компонент ImageList, в котором хранится используемое в разделе изображени
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает то имя объекта, которое можно видеть в Инспекторе Объектов
GetParent Component	Возвращает родителя компонента
GetParentMenu	Возвращает меню типа TMenu, частью которого является данный раздел.
HasParent	Указывает, имеет ли компонент родителя
IndexOf	Возвращает индекс раздела меню, в подменю которого расположен данный раздел. Индекс соответствует позиции в массиве Items. Если данный раздел расположен не в подменю, возвращается -1.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert	Вставляет указанный подраздел в выпадающее меню данного раздела и задает индекс свойства Items вставляемого раздела.
InsertComponent	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
InsertNew LineAfter	Вставляет разделитель после указанного раздела
Insert NewLineBefore	Вставляет разделитель перед указанным разделом
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsLine	Указывает, является ли данный раздел разделителем
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewBottomLine	Вставляет разделитель в конце меню. Используется, если во время выполнения в меню добавляются разделы.
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
NewTopLine	Вставляет разделитель в начале меню. Используется, если во время выполнения в меню добавляются разделы.
Remove	Удаляет указанный подраздел из массива свойства Items данного раздела меню.
RemoveComponent	Удаляет указанный компонент из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RethinkHotkeys	Автоматически обеспечивает наличие в каждом разделе меню клавиш быстрого доступа и гарантирует отсутствие их дублирования
RethinkLines	Удаляет разделители в начаде и конце меню, а также один из следующих подряд разделителей
SafeCall Exception	Обрабатывает исключения OLE и Com
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается


Все события TMenuItem

Событие	Описание
OnAdvanced DrawItem	Наступает, когда необходимо перерисовать нестандартное изображение раздела меню (если свойство OwnerDraw = true). Отличается от OnDrawItem параметрами.
OnClick	Происходит при щелчке левой кнопки мыши на разделе меню
OnDrawItem	Наступает, когда необходимо перерисовать нестандартное изображение раздела меню (если свойство OwnerDraw = true)
OnMeasureItem	Происходит перед прорисовкой нестандартного (если свойство OwnerDraw = true) изображения раздела, чтобы определить его размер


Литература по TImage
книга [2]:

раздел 4.3 - описание компонента, основные свойства, методы, события

книга [3]:

раздел 6.1.1 - описание компонента, основные свойства, примеры

раздел 6.1.3 - рисование на канве компонента

раздел 6.1.4 - пример построения простого графического редактора

раздел 6.1.5 - режимы рисования

раздел 6.1.6 - развернутый пример построения графического редактора

раздел П.1   - код графического редактора на основе TImage

раздел 6.2.2 - создание мультипликации на основе TImage


TImage - компонент

Иерархия   Свойства   Методы   События   литература

Отображает графическое изображение и обеспечивает работу с ним

Модуль extctrls

Описание

Компонент TImage отображает на форме графическое изображение. Свойство Picture типа TPicture содержит отображаемый графический объект типа битовой матрицы, пиктограммы, метафайла или определенного пользователем типа. Свойство Canvas позволяет создавать и редактировать изображения.

Чтобы создать на форме или модуле данных изображение, которым управляют другие элементы, надо использовать не TImage, а TImageList.


Основные свойства TImage

Все свойства    TImage

Свойство	Описание
AutoSize	Указывает, изменяется ли автоматически размер компонента, подстраиваясь под размер изображения. По умолчанию false - не подстраивается.
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения. Доступно только, если в свойстве Picture хранится битовая матрица.
Center	Указывает, должно ли изображение центрироваться в поле компонента, если его размеры меньше размеров поля. При значении false изображение располагается в верхнем левом углу поля. Свойство не действует, если AutoSize установлено в true или если Stretch установлено в true и Picture содержит не пиктограмму.
Incremental Display	Указывает, должно ли изображение частично рисоваться во время медленных операций с большими изображениями. Вместо такого рисования часто можно использовать индикацию процесса обработкой событий OnProgress.
Picture	Определяет отображаемый графический объект типа TPicture. Может загружаться программно или во время проектирования с помощью Picture Editor.
Stretch	Указывает, должны ли изменяться размеры изображения, подгоняясь под размеры компонента. Учтите, что изменение размеров изображения приведет к его искажению, если соотношение сторон графического объекта и компонента TImage не одинаково.
Transparent	Указывает, должен ли быть цвет фона изображения прозрачным, чтобы сквозь него было видно нижележащее изображение


TImage - компонент
Все свойства TImage

Основные свойства   TImage

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoSize	Указывает, изменяется ли автоматически размер компонента, подстраиваясь под размер изображения. По умолчанию false - не подстраивается.
BiDiMode	Определяет отличное от европейского направление записи текста
BoundsRect	Определяет прямоугольник, описывающий компонент
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения
Center	Указывает, должно ли изображение центрироваться в поле компонента, если его размеры меньше размеров поля. При значении false изображение располагается в верхнем левом углу поля. Свойство не действует, если AutoSize установлено в true или если Stretch установлено в true и Picture содержит не пиктограмму.
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Height	Высота компонента или формы в пикселях
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
Incremental Display	Указывает, должно ли изображение частично рисоваться во время медленных операций с большими изображениями. Вместо такого рисования часто можно использовать индикацию процесса обработкой событий OnProgress.
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
Picture	Определяет отображаемый графический объект типа TPicture. Может загружаться программно или во время проектирования с помощью Picture Editor.
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Stretch	Указывает, должны ли изменяться размеры изображения, подгоняясь под размеры компонента. Учтите, что изменение размеров изображения приведет к его искажению, если соотношение сторон графического объекта и компонента TImage не одинаково.
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
Transparent	Указывает, должен ли быть цвет фона изображения прозрачным, чтобы сквозь него было видно нижележащее изображение
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TImage

Полный список    TImage

Никаких специальных методов в классе TImage не вводится, хотя переопределяются некоторые методы предшественников.


Все методы TImage

Основные методы   TImage

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Create	Создает и инициализирует экземпляр TImage
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения COM и OLE
ScreenTo Client	Преобразует экранные координаты указанной точки в координаты клиентской области компонента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Устанавливает текст компонента, заданный в указанном буфере.
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TImage
Специальные события TImage

Полный список    TImage

Событие	Описание
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса


Все события TImage

Специальные   TImage

Событие	Описание
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Соответствует двойному щелчку мыши на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает в момент встраивания компонента
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnProgress	События происходят при медленных процессах изменения графического изображения и позволяют построить индикатор хода процесса
OnStartDock	Наступает, когда пользователь начал процесс перетаскивания и встраивания компонента
OnStartDrag	Наступает, когда пользователь начал процесс перетаскивания компонента


TMediaPlayer - компонент

Иерархия   Методы   Свойства   События

Универсальный проигрыватель аудио и видео файлов - медиа-плейер, инкапсулирующий интерфейс управления носителями (MCI) Windows

Модуль mplayer

Описание

Компонент TMediaPlayer инкапсулирует интерфейс управления носителями (Media Control Interface - MCI) Windows 95 и Windows NT. Является универсальным проигрывателем аудио и видео файлов - медиа-плейером. Имеет ряд кнопок, управляющих такими устройствами мультимедиа, как CD-ROM и др. Медиа-плейер имеет ряд кнопок, управляемых мышью. Общий вид компонента представлен на рисунке.

Назначение кнопок (перечисляются слева направо):

Кнопка	Значение	Действие
Play	btPlay	Воспроизведение
Pause	btPause	Пауза воспроизведения или записи. Если медиа-плейер в момент щелчка уже в состоянии паузы, то воспроизведение или запись продолжаются
Stop	btStop	Останов воспроизведения или записи
Next	btNext	Переход на следующий трек или на конец
Prev	btPrev	Переход на предыдущий трек или на начало
Step	btStep	Перемещение вперед на заданное число кадров
Back	btBack	Перемещение назад на заданное число кадров
Record	btRecord	Начало записи
Eject	btEject	Освобождение объекта, загруженного в устройство

Медиа-плейер может управляться как кнопками, так и непосредственно соответствующими этим кнопкам методами (Play, Pause, Stop, Next, Previous, Step, Back, StartRecording, Eject). В этом случае сам компонент TMediaPlayer может быть сделан невидимым.

Тип устройства мультимедиа (dtWaveAudio или dtVideodisc) определяется свойством DeviceType. Если устройство хранит объект воспроизведения в файле, то имя файла задается свойством FileName. Если свойство DeviceType задано равным dtAutoSelect, то медиа-плейер пытается определить тип устройства исходя их расширения имени файла FileName.

Если свойство AutoOpen установлено в true, то медиа-плейер пытается открыть устройство, указанное свойством DeviceType, автоматически во время своего создания в процессе выполнения приложения.


Основные свойства TMediaPlayer

TMediaPlayer

Свойство	Описание
AutoEnable	Автоматическое задание доступных и не доступных кнопок в зависимости от режима Mode.
AutoOpen	Определяет автоматический запуск медиа-плейера в момент начала выполнения приложения.
AutoRewind	Автоматическая перемотка. Если AutoRewind установлено в true и текущая позиция соответствует концу, то перед выполнением Play или StartRecording производится перемещение текущей позиции в начало перед воспроизведением или записью.  При AutoRewind установленном в false, перемотка должна осуществляться пользователем кнопкой Prev или программно методом Previous. Если заданы значения StartPos или EndPos, или если устройство использует треки, свойство AutoRewind не работает.
Capabilities	Определяет возможности открытого устройства. Свойство только для чтения.
ColoredButtons	Определяет, какие кнопки окрашены. По умолчанию окрашены все кнопки. Кнопки, не перечисленные в множестве типа TButtonSet, заданном свойством ColoredButtons, появляются в черно-белом варианте.
DeviceID	Определяет идентификатор открытого мультимедиа устройства. Если никакое устройство не открыто, то DeviceID = 0. Свойство только для чтения.
DeviceType	Определяет тип открываемого устройства.
Display	Определяет окно, используемое для вывода.
DisplayRect	Определяет область отображения в окне, указанном свойством Display.
EnabledButtons	Определяет доступные кнопки. См. описание свойства AutoEnable.
EndPos	Определяет конечную позицию, на которой останавливается воспроизведение или запись. Задается с использованием формата времени TimeFormat. Установка в некоторый момент EndPos влияет только на последующие воспроизведение или запись.
Error	Указывает код ошибки MCI, возвращенный различными методами TMediaPlayer. Описание ошибки хранится в ErrorMessage. При наличии ошибки значение Error не нулевое. Если ошибка происходит в момент открытия устройства, генерируется исключение EMCIDeviceError. Свойство только для чтения.
ErrorMessage	Описывает ошибку, код которой содержится в Error. Свойство только для чтения.
FileName	Определяет имя файла, открываемого методом Open или сохраняемого методом Save.
Frames	Определяет число кадров, на которое происходит перемещение методами Step и Back. По умолчанию равняется 0,1 от длины, определяемой свойством Length.
Length	Длина воспроизводимого объекта. Использует формат времени TimeFormat. Свойство только для чтения.
Mode	Указывает состояние открытого устройства. Свойство только для чтения.
Notify	Определяет, будет ли генерироваться событие OnNotify при завершении выполнения следующего метода. После события надо опять устанавливать в true.
NotifyValue	Сообщение о результатах выполнения последнего метода. Свойство только для чтения.
Position	Указывает текущую позицию в загруженном объекте в соответствии с форматом TimeFormat. По умолчанию позиция в начале объекта или в начале первого трека.
Shareable	Определяет, могут (true), или не могут (false) другие приложения одновременно использовать устройство мультимедиа. Значение по умолчанию - false.
Start	Определяет начальную позицию при выполнении метода Open - в начале объекта или в начале первого трека. Использует формат TimeFormat. Свойство только для чтения.
StartPos	Указывает начальную позицию для последующего воспроизведения (Play) и записи (StartRecording) в формате TimeFormat. Не влияет на текущую позицию Position до очередного вызова Play или StartRecording.
TimeFormat	Определяет формат времени, используемый для указания позиций.
TrackLength	Определяет длину указанного трека в формате TimeFormat. Свойство только для чтения.
TrackPosition	Определяет начальную позицию указанного трека в формате TimeFormat. Свойство только для чтения.
Tracks	Определяет число доступных треков. Для устройства без треков не определено. Свойство только для чтения.
VisibleButtons	Указывает, какие кнопки медиа-плейера видимы. По умолчанию видимы все кнопки. Кнопки, не перечисленные в множестве VisibleButtons типа TButtonSet, невидимы.
Wait	Определяет, будет ли управление возвращаться медиа-плейеру только после выполнения очередного метода.


Основные методы TMediaPlayer

TMediaPlayer

Метод	Описание
Back	Переводит позицию назад на число кадров, заданное свойством Frames - аналог кнопки Back.
Close	Закрывает мультимедиа устройство.
Eject	Освобождает загруженный объект - аналог кнопки Eject.
Next	Переводит позицию на начало следующего трека.
Open	Открывает мультимедиа устройство. См. описание свойства AutoOpen.
Pause	Переключает устройство во включенное и выключенное состояния - аналог кнопки Pause.
Play	Начинает воспроизведение - аналог кнопки Play.
Previous	Устанавливает текущую позицию на начало предыдущего трека.
Rewind	Устанавливает текущую позицию на начало, указанное свойством Start.
Save	Сохраняет объект в файле, определенном свойством FileName. Для устройств, в которых сохранение в файле не предусмотрено, метод не работает.
StartRecording	Начинает запись с текущей позиции Position или с указанной в StartPos.
Step	Переводит позицию вперед на число кадров, заданное свойством Frames - аналог кнопки Back.
Stop	Прерывает воспроизведение или запись.


Основные события TMediaPlayer

Событие	Описание
OnClick	Наступает при щелчке пользователя на кнопке медиа-плейера.
OnNotify	Наступает после завершения очередного метода, если свойство Notify было установлено в true. После этого события свойство Notify следует установить в true, если хотеть, чтобы произошло следующее событие OnNotify.


TPaintBox - компонент

Иерархия   Методы   Свойства   События

Простой управляющий элемент, позволяющий рисовать на его канве

Модуль extctrls

Описание

Компонент TPaintBox позволяет рисовать на своей канве Canvas. Обладает существенно меньшими возможностями, чем компонент TImage, который дает возможность не только рисовать, но и хранить изображения битовых матриц, пиктограмм, метафайлов. Впрочем, свойства и методы канвы позволяют и в TPaintBox получать изображения подобных объектов. Еще одно отличие TPaintBox от TImage заключается в том, что TImage сам заботится о перерисовке испорченных участков изображения, а в TPaintBox для перерисовке надо использовать обработчик события OnPaint.


Основное свойство TPaintBox

Свойство	Описание
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения
Остальные свойства наследуются от TControl.


Специальный метод TPaintBox

Введен только защищенный метод Paint, генерирующий событие OnPaint, аналогичное сообщению Windows WM_PAINT.


Специальное событие TPaintBox

Событие	Описание
OnPaint	Событие при получении сообщения Windows о необходимости перерисовать испорченное изображение


TOpenDialog, TSaveDialog, TOpenPictureDialog и TSavePictureDialog - компоненты
Диалоги работы с файлами - компоненты TOpenDialog, TSaveDialog, TOpenPictureDialog, TSavePictureDialog

Иерархия   Свойства   Методы   События   Пример

Компоненты вызова стандартных диалогов Windows открытия и сохрангения файлов

Модуль Dialogs

Описание

TOpenDialog (TSaveDialog) и TOpenPictureDialog (TSavePictureDialog) отображают модальные диалоговые окна Windows для открытия (сохранения) файлов. Компоненты TOpenDialog и TSaveDialog работают с файлами любого типа, а компоненты TOpenPictureDialog и TSavePictureDialog - с файлами изображений.

Отрытие соответствующего диалога осуществляется методом Execute. Если в диалоге пользователь нажмет кнопку Открыть (Сохранить), диалог закрывается, метод Execute возвращает true и выбранный файл отображается в свойстве компонента-диалога FileName. Если же пользователь отказался от диалога (нажал кнопку Отмена или клавишу Esc), то метод Execute возвращает false.

Значение свойства FileName можно задать и перед обращением к диалогу. Тогда оно появится в диалоге как значение по умолчанию в окне Имя файла. Таким образом, например, выполнение команды Сохранить как ..., по которой в файле с выбранным пользователем именем надо сохранить текст окна редактирования Memo1, может иметь вид:

// Задание имени по умолчанию SaveDialog1.FileName:=FName;

if SaveDialog1.Execute

then begin

 FName:=OpenDialog1.FileName;

 Memo1.Lines.SaveToFile(FName);

end;

В этом коде предполагается, что имя файла хранится в строковой переменной FName. Перед вызовом диалога это имя передается в него как имя файла по умолчанию, а после выбора пользователем файла его выбор запоминается в той же переменной FName и текст сохраняется в этом файле методом SaveToFile.


Основные свойства диалогов работы с файлами

Полный список   диалоги работы с файлами

Свойство	Описание
DefaultExt	Определяет заданное по умолчанию расширение файла
FileName	Имя выбранного файла
Files	Список выбранных файлов, если пользователю разрешен множественный выбор (включена опция ofAllowMultiSelect)
Filter	Определяет маски файла (фильтры), доступные в диалоге
FilterIndex	Определяет индекс фильтра по умолчанию при открытии диалога
InitialDir	Определяет каталог при открытии диалога
Options	Различные опции компонента
Title	Заголовок диалогового окна


Все свойства диалогов работы с файлами

Основные свойства   диалоги работы с файлами

Свойство	Описание
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
DefaultExt	Определяет заданное по умолчанию расширение файла.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
FileEdit Style	Определяет стиль диалога выбора файла.
FileName	Имя выбранного файла
Files	Возвращает список выбранных имен файлов.
Filter	Определяет маски файла (фильтры), доступные в диалоге.
FilterIndex	Определяет фильтр по умолчанию, при открытии диалога
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
HelpContext	Номер контекстно-зависимой встроенной справки
HistoryList	Cписок предварительно выбранных файлов.
InitialDir	Определяет каталог, при открытии диалога.
Name	Имя компонента, по которому на него ссылаются другие компоненты
Options	Различные опции компонента
Owner	Определяет владельца данного компонента
Tag	Свойство, используемое пользователем по своему усмотрению
Title	Текст в области заголовка диалога.
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TOpenDialog(TSaveDialog)
Основные методы диалогов работы с файлами

Полный список    диалоги работы с файлами

Метод	Описание
Execute	Вызывает диалог, возвращает true, если пользователь произвел выбор в диалоге


Все методы диалогов работы с файлами

Основные методы   диалоги работы с файлами

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TOpenDialog(TSaveDialog)
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Execute	Отображает диалог выбора файла, возвращает true, если пользователь произвел выбор в диалоге
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуры, содержащей все интерфейсы, реализованные в классе.
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetStaticRect	Возвращает координаты зарезервированной области диалогового окна.
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает исключения COM и OLE


Специальные события диалогов работы с файлами

Полный список    диалоги работы с файлами

Событие OnCanClose возникает при нормальном закрытии пользователем диалогового окна после выбора файла. При отказе пользователя от диалога - нажатии кнопки Отмена, клавиши Esc и т.д. событие OnCanClose не наступает. В обработке события OnCanClose вы можете произвести дополнительные проверки выбранного пользователем файла и, если по условиям вашей задачи этот выбор недопустим, вы можете известить об этом пользователя и задать значение false передаваемому в обработчик параметру CanClose. Это не позволит пользователю закрыть диалоговое окно.

Можно также написать обработчики событий OnFolderChange - изменение каталога, OnSelectionChange - изменение имени файла, OnTypeChange - изменение типа файла. В этих обработчиках вы можете предусмотреть какие-то сообщения пользователю.


Все события TOpenDialog(TSaveDialog)
Все события диалогов работы с файлами

Специальные   диалоги работы с файлами

Событие	Описание
OnCanClose	Наступает, когда пользователь пробует закрывать диалог без отмены.
OnClose	Наступает, когда диалог закрывается.
OnFolder Change	Наступает, когда каталог открыт или закрыт из диалога.
OnSelection Change	Наступает, когда имена файла, отображаемые в диалоге изменены.
OnShow	Наступает, когда диалог открывается.
OnType Change	Наступает, когда файлы типа отображаемого в диалоге изменены.


примеры использования диалогов OpenDialog и SaveDialog
Пусть ваше приложение включает окно редактирования Memo1, диалогов OpenDialog и SaveDialog, тогда обработка команды Открыть может сводиться к следующему оператору:

var FName:string;

if OpenDialog1.Execute

  then begin

   FName:=OpenDialog1.FileName;

   Memo1.Lines.LoadFromFile(FName);

  end;

Обработка команды Сохранить выполняется оператором

Memo1.Lines.SaveToFile(FName);

Обработка команды Сохранить как... выполняется операторами:

SaveDialog1.FileName:=FName;

if SaveDialog1.Execute

then begin

 FName:=OpenDialog1.FileName;

 Memo1.Lines.SaveToFile(FName);

end;


OnClose - событие диалогов
OnClose - событие TCommonDialog

см.также

События, наступающее при закрытии диалога

Класс TCommonDialog

Определение

type TNotifyEvent = procedure (Sender: TObject) of object;

property OnClose: TNotifyEvent;

Описание

В обработчике события OnClose можно записать оператры, осуществляющие какие-нибудь действия при закрывании диалога.


OnShow - событие диалогов
OnShow - событие TCommonDialog

см.также

События, наступающее при открывании диалога

Класс TCommonDialog

Определение

type TNotifyEvent = procedure (Sender: TObject) of object;

property OnShow: TNotifyEvent;

Описание

В обработчике события OnShow можно записать операторы, осуществляющие какие-нибудь действия при отображении диалогового окна, например, сделать какие-то сообщения пользователю.


FileName и Filter - свойства диалогов работы с файлами
FileName и Filter - свойства диалогов

Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, - FileName. Значение этого свойства можно задать и перед обращением к диалогу. Тогда оно появится в диалоге как значение по умолчанию в окне Имя файла

Типы искомых файлов, появляющиеся в диалоге в выпадающем списке Тип файла, задаются свойством Filter. В процессе проектирования это свойство проще всего задать с помощью редактора фильтров, который вызывается нажатием кнопки с многоточием около имени этого свойства в Инспекторе Объектов. При этом открывается окно редактора. В его левой панели Filter Name вы записываете тот текст, который увидит пользователь в выпадающем списке Тип файла диалога. А в правой панели окна редактора записываются разделенные точками с запятой шаблоны фильтра.

После выхода из окна редактирования фильтров заданные вами шаблоны появятся в свойстве Filter в виде строки. Например:

текстовые (*.txt, *.doc)|*.txt; *.doc|все файлы|*.*

В этой строке тексты и шаблоны разделяются вертикальными линиями. В аналогичном виде, если требуется, можно задавать свойство Filter программно во время выполнения приложения.

Единственное отличие OpenPictureDialog и SavePictureDialog от OpenDialog и SaveDialog - заданное значение по умолчанию свойства Filter. В этих компонентах заданы следующие фильтры:

All (*.jpg;*.jpeg;*.bmp;*.ico; *.emf;*.wmf)	*.jpg;*.jpeg;*.bmp; *.ico;*.emf;*.wmf
JPEG Image File (*.jpg)	*.jpg
JPEG Image File (*.jpeg)	*.jpeg
Bitmaps (*.bmp)	*.bmp
Icons (*.ico)	*.ico
Enhanced Metafiles (*.emf)	*.emf
Metafiles (*.wmf)	*.wmf
В этих фильтрах перечислены все типы графических файлов, с которыми можно работать. Так что вам остается удалить, если хотите, фильтры тех файлов, с которыми вы не хотите работать, добавить, может быть, фильтр "Все файл (*.*)" и перевести на русский язык названия типов.


FilterIndex - свойство диалогов работы с файлам
FilterIndex - свойство диалогов

Свойство FilterIndex определяет номер фильтра, который будет по умолчанию показан пользователю в момент открытия диалога. Например, значение FilterIndex = 1 задает по умолчанию первый фильтр.


InitialDir - свойство диалогов работы с файлам
InitialDir - свойство диалогов

Свойство InitialDir определяет начальный каталог, который будет открыт в момент начала работы пользователя с диалогом. Если значение этого свойства не задано, то открывается текущий каталог или тот, который был открыт при последнем обращении пользователя к соответствующему диалогу в процессе выполнения данного приложения.


DefaultExt - свойство диалогов работы с файлам
DefaultExt - свойство диалогов

Свойство DefaultExt определяет значение расширения файла по умолчанию. Если значение этого свойства не задано, пользователь должен указать в диалоге полное имя файла с расширением. Если же задать значение DefaultExt, то пользователь может писать в диалоге имя без расширения. В этом случае будет принято заданное расширение.

Свойство Title позволяет вам задать заголовок диалогового окна. Если это свойство не задано, окно открывается с заголовком, определенным в системе. Но вы можете задать и свой заголовок, подсказывающий пользователю ожидаемые действия. Например, "Укажите имя открываемого файла".


Options - свойство диалогов работы с файлами

Свойство Options определяет условия выбора файла. Множество опций, которые вы можете установить программно или во время проектирования, включает:

OfAllowMulti Select	Позволяет пользователю выбирать несколько файлов
OfCreatePrompt	В случае, если пользователь написал имя несуществующего файла, появляется замечание и запрос, надо ли создать файл с заданным именем
OfEnableInclude Notify	Разрешает посылать в диалог сообщения
OfEnableSizing	Разрешает пользователю изменять размер диалогового окна
OfExtension Different	Этот флаг, который можно прочитать после выполнения диалога, показывает, что расширение файла, выбранного пользователем, отличается от DefaultExt
OfFileMustExist	В случае, если пользователь написал имя несуществующего файла, появляется сообщение об ошибке
OfHideReadOnly	Удаляет из диалога индикатор Открыть только для чтения
OfNoChangeDir	После щелчка пользователя на кнопке OK восстанавливает текущий каталог, независимо от того, какой каталог был открыть при поиске файла
OfNoDereference Links	Запрещает переназначать клавиши быстрого доступа в диалоговом окне
OfNoLongNames	Отображаются только не более 8 символов имени и трех символов расширения
OfNoNetworkButton	Убирает из диалогового окна кнопку поиска в сети. Действует только если флаг ofOldStyleDialog включен
OfNoReadOnly Return	Если пользователь выбрал файл только для чтения, то генерируется сообщение об ошибке
OfNoTestFile Create	Запрещает выбор в сети защищенных файлов и не доступных дисков при сохранении файла
OfNoValidate	Не позволяет писать в именах файлов неразрешенные символы, но не мешает выбирать файлы с неразрешенными символами
OfOldStyleDialog	Создает диалог выбора файла в старом стиле
OfOverwritePrompt	В случае, если при сохранении файла пользователь написал имя существующего файла, появляется замечание, что файл с таким именем существует и запрашивается желание пользователя переписать существующий файл
OfPathMustExist	Генерирует сообщение об ошибке, если пользователь указал в имени файла несуществующий каталог
OfReadOnly	По умолчанию устанавливает индикатор Открыть только для чтения при открытии диалога
OfShareAware	Игнорирует ошибки нарушения условий коллективного доступа и разрешает, несмотря на них, производить выбор файла
OfShowHelp	Отображает в диалоговом окне кнопку Справка

По умолчанию все перечисленные опции, кроме ofHideReadOnly, выключены. Но, как видно из их описания, многие из них полезно включить перед вызовом диалогов.

Если вы разрешаете с помощью опции множественный выбор файла, то список выбранных файлов можно прочитать в свойстве Files типа TStrings.


Execute - метод компонентов-диалогов
Execute - метод диалогов

Метод Execute осуществляет вызов диалоговых окон во всех компонентах-диалогах. Если пользователь осуществил в диалоге требуемый выбор, метод возвращает true. Если же пользователь отказался от выбора (нажал Esc или кнопку Отменить), то возвращается false. Таким образом, вызов любого диалога осуществляется обычно следующим оператором:

if (имя_компонента_диалога.Execute)

 then <оператор обработки ответа пользователя>

 else <оператор, выполняемый при отказе пользователя от диалога>;


TFontDialog - компонент
Диалог выбора шрифта - компонент TFontDialog

Иерархия   Свойства   Методы   События   Пример

TFontDialog отображает диалог выбора шрифта.

Модуль Dialogs

Описание

Компонент TFontDialog вызывает стандартный диалог Windows для выбора шрифта.

Отрытие диалога осуществляется методом Execute. Если в диалоге пользователь нажмет кнопку Открыть (Сохранить), диалог закрывается, метод Execute возвращает true и выбранные атрибуты шрифта передаются в свойство Font компонента-диалога. Если же пользователь отказался от диалога (нажал кнопку Отмена или клавишу Esc), то метод Execute возвращает false.

Значение свойства Font можно задать и перед обращением к диалогу. Тогда оно определит значения атрибутов шрифта по умолчанию, которые увидит пользователь в момент открытия диалога. Таким образом, например, выполнение команды Шрифт, по которой пользователь может задать текущее значение шрифта для компонента RichEdit1, может иметь вид:

// Задание в качестве атрибутов по умолчанию

// атрибутов шрифта текущей позиции курсора в тексте

FontDialog1.Font.Assign(RichEdit1.SelAttributes);

// Открытие диалога

if(FontDialog1.Execute) then

  RichEdit1.SelAttributes.Assign(FontDialog1.Font);

Свойства MaxFontSize и MinFontSize устанавливают ограничения на максимальный и минимальный размеры шрифта. Если значения этих свойств равны 0 (по умолчанию), то никакие ограничения на размер не накладываются. Если же значения свойств заданы (обычно это целесообразно делать исходя из размеров компонента приложения, для которого выбирается шрифт), то в списке Размер диалогового окна (см. приведенный рисунок) появляются только размеры, укладывающиеся в заданный диапазон. При попытке пользователя задать недопустимый размер ему будет выдано предупреждение вида "Размер должен лежать в интервале ..." и выбор пользователя отменится. Свойства MaxFontSize и MinFontSize действуют только при включенной опции fdLimitSize.

Свойство Device определяет, из какого списка возможных шрифтов будет предложен выбор в диалоговом окне: fdScreen - из списка экрана (по умолчанию), fdPrinter - из списка принтера, fdBoth - из обоих.

Свойство Options содержит множество опций диалога. По умолчанию все эти опции, кроме fdEffects, отключены.

Если установить опцию fdApplyButton, то при нажатии пользователем кнопки Применить возникает событие OnApply, в обработчике которого вы можете написать код, который применит выбранные пользователем атрибуты, не закрывая диалогового окна. Например:

RichEdit1.SelAttributes.Assign(FontDialog1.Font);

Тогда пользователь может наблюдать изменения в окне RichEdit1, нажимая в диалоговом окне кнопку Применить и не прерывая диалога. Это очень удобно, так как позволяет пользователю правильно подобрать атрибуты шрифта.

При работе с окном редактирования Memo аналогичный оператор может иметь вид:

Memo1.Font.Assign(FontDialog1.Font);


Основные свойства TFontDialog

Полный список    TFontDialog

Свойство	Описание
Device	Определяет, из какого списка возможных шрифтов будет предложен выбор в диалоговом окне
Font	Определяет атрибуты шрифта
MaxFontSize	Устанавливает ограничение на максимальный размер шрифта
MinFontSize	Устанавливает ограничение минимальный размер шрифта
Options	Различные опции компонента


Все свойства TFontDialog

Основные свойства   TFontDialog

Свойство	Описание
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Device	Определяет, из какого списка возможных шрифтов будет предложен выбор в диалоговом окне
Font	Определяет атрибуты шрифта
Handle	Определяет маркер(дескриптор) окна диалога.
HelpContext	Номер контекстно-зависимой встроенной справки
MaxFontSize	Устанавливает ограничение на максимальный размер шрифта
MinFontSize	Устанавливает ограничение на минимальный размер шрифта
Name	Определяет имя компонента как вызвано в коде.
Options	Различные опции компонента
Owner	Определяет владельца данного компонента
Tag	Свойство, используемое пользователем по своему усмотрению
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TFontDialog

Полный список    TFontDialog

Метод	Описание
Execute	Вызывает диалог


Все методы TFontDialog

Основные методы   TFontDialog

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TFontDialog
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Execute	Отображает диалог выбора файла.
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуры, содержащей все интерфейсы, реализованные в классе.
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetStaticRect	Возвращает координаты зарезервированной области диалогового окна.
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает COM и OLE исключения


События TFontDialog

TFontDialog

Событие	Описание
OnApply	Наступает, когда пользователь нажимает кнопку Apply
OnClose	Наступает, когда диалог закрывается
OnShow	Наступает, когда диалог открывается


Примеры использования диалога TFontDialog

Пусть ваше приложение включает окно редактирования Memo1, шрифт в котором может выбирать пользователь командой меню Шрифт. Тогда обработчик команды Шрифт может иметь вид:

if FontDialog1.Execute

 then Memo1.Font.Assign(FontDialog1.Font);

Если вы установите в компоненте FontDialog1 опцию fdApplyButton, то можете написать обработчик события OnApply:

Memo1.Font.Assign(FontDialog1.Font);


MaxFontSize, MinFontSize - свойства TFontDialog

Свойства MaxFontSize и MinFontSize устанавливают ограничения на максимальный и минимальный размеры шрифта в TFontDialog. Если значения этих свойств равны 0 (по умолчанию), то никакие ограничения на размер не накладываются. Свойства MaxFontSize и MinFontSize действуют только при включенной опции fdLimitSize.


Device - свойство TFontDialog

Свойство Device определяет в TFontDialog, из какого списка возможных шрифтов будет предложен выбор в диалоговом окне: fdScreen - из списка экрана (по умолчанию), fdPrinter - из списка принтера, fdBoth - из обоих.


Options - свойство TFontDialog

Свойство Options в TFontDialog содержит множество опций:

FdAnsiOnly	Отображать только множество шрифтов символов Windows, не отображать шрифтов со специальными символами
FdApplyButton	Отображать в диалоге кнопку Применить независимо от того, предусмотрен ли обработчик события OnApply
FdEffects	Отображать в диалоге индикаторы специальных эффектов (подчеркивание и др.) и список Цвет
FdFixedPitchOnly	Отображать только шрифты с постоянной шириной символов
FdForceFontExist	Позволять пользователю выбирать шрифты только из списка, запрещать ему вводить другие имена
FdLimitSize	Разрешить использовать свойства MaxFontSize и MinFontSize, ограничивающие размеры шрифта
FdNoFaceSel	Открывать диалоговое окно без предварительно установленного имени шрифта
FdNoOEMFonts	Удалять из списка шрифтов шрифты OEM
FdScalableOnly	Отображать только масштабируемые шрифты, удалять из списка не масштабируемые (шрифты bitmap)
FdNoSimulations	Отображать только шрифты и их начертания, напрямую поддерживаемые файлами, не отображая шрифты, в которых жирный стиль и курсив синтезируется
FdNoSizeSel	Открывать диалоговое окно без предварительно установленного размера шрифта
FdNoStyleSel	Открывать диалоговое окно без предварительно установленного начертания шрифта
FdNoVectorFonts	Удалять из списка векторные шрифты (типа Roman или Script для Windows 1.0)
FdShowHelp	Отображать в диалоговом окне кнопку Справка
FdTrueTypeOnly	Предлагать в списке только шрифты TrueType
FdWysiwyg	Предлагать в списке только шрифты, доступные и для экрана, и для принтера, удаляя из него аппаратно зависимые шрифты

По умолчанию все эти опции, кроме fdEffects, отключены.


TColorDialog - компонент
Диалог выбора цвета - компонент TColorDialog

Иерархия   Свойства   Методы   События

Пример

Отображает диалог выбора цвета.

Модуль Dialogs

Описание

Компонент TColorDialog отображает диалоговое окно Windows для выбора цветов. Диалог не появляется во время выполнения, пока это не активизировано обращением к методу Execute. Когда пользователь выбирает цвет и нажимает OK, диалог закрывается, и выбранный цвет сохраняется в свойстве Color. Это основное свойство TColorDialog.


Основные свойства TColorDialog

Полный список    TColorDialog

Свойство	Описание
Color	Возвращает выбранный цвет
Custom Colors	Определяет, какие заказные цвета являются доступными в диалоговом окне
Options	Множество опций


Все свойства TColorDialog

Основные свойства   TColorDialog

Свойство	Описание
Color	Возвращает выбранный цвет.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
ComponentState	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
ComponentStyle	Определяет флаги стиля компонента. Используется при создании новых компонентов
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
CustomColors	Определяет, какие заказные цвета являются доступными в диалоговом окне
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Handle	Определяет маркер(дескриптор) окна диалога.
HelpContext	Номер контекстно-зависимой встроенной справки
Name	Имя компонента, по которому на него ссылаются другие компоненты
Options	Различные опции компонента
Owner	Определяет владельца данного компонента
Tag	Свойство, используемое пользователем по своему усмотрению
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TColorDialog
Основной метод TColorDialog

Полный список    TColorDialog

Метод	Описание
Execute	Отображает диалог выбора цвета


Все методы TColorDialog

Основные методы   TColorDialog

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TColorDialog
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Execute	Отображает диалог выбора цвета
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуры, содержащей все интерфейсы, реализованные в классе.
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает COM и OLE исключения


События TColorDialog

TColorDialog

Событие	Описание
OnClose	Наступает, когда диалог закрывается
OnShow	Наступает, когда диалог открывается


пример применения компонента TColorDialog
Пример применений компонента TColorDialog

Следующий оператор позволяет пользователю выбрать цвет фона компонента Memo1.

if ColorDialog1.Execute then Memo1.Color:=ColorDialog1.Color;


CustomColors - свойство TColorDialog
CustomColors - свойство компонента

Свойство CustomColors типа TStrings позволяет задать заказные цвета дополнительной палитры. Каждый цвет определяется строкой вида

<Имя цвета>=<шестнадцатеричное представление цвета>;

Имена цветов задаются от ColorA (первый цвет) до ColorP (шестнадцатый, последний).


Options - свойство TColorDialog

Свойство Options содержит множество следующих опций:

CdFullOpen	Отображать сразу при открытии диалогового окна панели определения заказных цветов
CdPrevent FullOpen	Запретить появление в диалоговом окне кнопки Определить цвет, так что пользователь не сможет определять новые цвета
CdShowHelp	Добавить в диалоговое окно кнопку Справка
CdSolid Color	Указать Windows использовать сплошной цвет, ближайший к выбранному (это обедняет палитру)
CdAnyColor	Разрешать пользователю выбирать любые не сплошные цвета (такие цвета могут быть не ровными)

По умолчанию все опции выключены.


TPrintDialog - компонент
Диалог печати - компонент TPrintDialog

Иерархия   Свойства   Методы   События

TPrintDialog отображает диалог Печати.

Модуль Dialogs

Описание

Компонент TPrintDialog отображает стандартное диалоговое окно Windows для посылки работ на принтер. В нем пользователь может выбрать принтер и установить его свойства, указать число копий и последовательность их печати, печатать в файл или непосредственно на принтер, выбрать печатаемые страницы или печатать только выделенный фрагмент. Компонент PrintDialog не осуществляет печать. Он только позволяет пользователю задать атрибуты печати, которые могут быть прочитаны приложением как ряд свойств. А сама печать должна осуществляться программно с помощью объекта Printer или иным путем.

Диалог модальный и не появляется во время выполнения, пока это не активизировано обращением к методу Execute.


Основные свойства TPrintDialog

Полный список

Свойство	Описание
Collate	Показывает, выбран ли пользователем индикатор Разобрать
Copies	Показывает установленное пользователем число копий
FromPage	Показывает установленную пользователем начальную страницу в окне Страницы с ... по ...
Print Range	Показывает выбранную пользователем радиокнопку из группы Печатать: prAllPages - выбрана кнопка Все страницы, prSelection – выбрана кнопка Страницы с ... по ..., prPageNums - выбрана кнопка Страницы
PrintTo File	Показывает, выбран ли пользователем индикатор Печать в файл
ToPage	Показывает установленную пользователем конечную страницу в окне Страницы с ... по ...


Все свойства TPrintDialog

Основные свойства

Свойство	Описание
Collate	Показывает, выбран ли переключатель Разобрать
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Copies	Указывает число копий
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
FromPage	Указывает номер страницы с которой начинается печать
Handle	Определяет маркер(дескриптор) окна диалога.
HelpContext	Номер контекстно-зависимой встроенной справки
MaxPage	Определяет самый большой номер страницы,  которую пользователь может  печатать.
MinPage	Определяет самый маленький номер страницы, которую пользователь может  печатать.
Name	Имя компонента, по которому на него ссылаются другие компоненты
Options	Различные опции компонента
Owner	Определяет владельца данного компонента
PrintRange	Указывает тип диапазона печати, выбранного в диалоге.
PrintToFile	Показывает, выбран ли переключатель Печатать в файл.
Tag	Свойство, используемое пользователем по своему усмотрению
ToPage	Указывает страницу, на которой задание по выводу на печать должно закончиться.
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TPrintDialog

Полный список    TPrintDialog

Метод	Описание
Execute	Вызывает диалоговое окно


Все методы TPrintDialog

Основные методы

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TPrintDialog (TPrinterSetupDialog)
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Execute	Вызывает диалоговое окно
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуры, содержащей все интерфейсы, реализованные в классе.
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает COM и OLE исключения


События TPrintDialog

Событие	Описание
OnClose	Наступает, когда диалог закрывается
OnShow	Наступает, когда диалог открывается


TPrinterSetupDialog - компонент
Диалог установки принтера - компонент PrinterSetupDialog

Иерархия   Свойства   Методы   События

TPrinterSetupDialog отображает диалог установки параметров принтера.

Модуль Dialogs

Описание

TPrinterSetupDialog отображает модальное диалоговое окно Windows для конфигурирования принтеров. Содержание диалога изменяется в зависимости от выбранного драйвера принтера.

Диалог вызывается методом Execute.

TPrinterSetupDialog - единственный диалоговый компонент, не имеющий никаких специфических свойств. Никаких свойств в этом компоненте не надо задавать и не надо считывать.


Все свойства TPrinterSetupDialog

Свойство	Описание
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Handle	Определяет маркер(дескриптор) окна диалога.
HelpContext	Номер контекстно-зависимой встроенной справки
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Tag	Свойство, используемое пользователем по своему усмотрению
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TPrinterSetupDialog

Полный список    TPrinterSetupDialog

Метод	Описание
Execute	Отображает диалог установки принтера


Все методы TPrinterSetupDialog

Основные методы

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TPrintDialog(TPrinterSetupDialog)
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Execute	Отображает диалог
FieldAddress	Возвращает адрес изданного объектного поля
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуры, содержащей все интерфейсы, реализованные в классе.
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает COM и OLE исключения


События TPrinterSetupDialog

Событие	Описание
OnClose	Наступает, когда диалог закрывается
OnShow	Наступает, когда диалог открывается


Options - свойство TPrintDialog

Множество опций в свойстве Options:

PoDisablePrint ToFile	Запретить доступ к индикатору Печать в файл Эта опция работает только при включенной опции poPrintToFile
PoHelp	Отображать в диалоговом окне кнопку Справка. Опция может не работать для некоторых версий Windows 95/98
PoPageNums	Сделать доступной радиокнопку Страницы, позволяющую пользователю задавать диапазон печатаемых страниц
PoPrintToFile	Отображать в диалоговом окне кнопку Печать в файл
PoSelection	Сделать доступной кнопку Выделение, позволяющую пользователю печатать только выделенный текст
PoWarning	Выдавать замечания, если пользователь пытается послать задачу на неустановленный принтер


TFindDialog(TReplaceDialog) - компонент
Диалоги поиска и замены текста - компоненты TFindDialog и TReplaceDialog

Иерархия      Свойства   Методы   События

Пример

Отображают диалоги поиска в тексте заданного фрагмента и контекстного поиска и замены.

Модуль Dialogs

Описание

TFindDialog отображает диалог поиска в тексте заданного фрагмента, а TReplaceDialog отображает диалог контекстного поиска и замены.

Компонент TFindDialog отображает диалоговое окно Windows поиска в тексте заданного фрагмента.

Компонент TReplaceDialog отображает диалог контекстного поиска и замены. TReplaceDialog - производный класс от TFindDialog.

Диалоги вызываются методом Execute.

Сами по себе компоненты TFindDialog и TReplaceDialog не осуществляют ни поиска, ни замены. Они только обеспечивают интерфейс с пользователем. А поиск и замену надо осуществлять программно. Для этого можно пользоваться событием OnFind, происходящим, когда пользователь нажал в диалоге кнопку Найти далее, и событием OnReplace, возникающим, если пользователь нажал кнопку Заменить или Заменить все.  В событии OnReplace узнать, какую именно кнопку нажал пользователь, можно по значениям флагов frReplace и frReplaceAll.


Основные свойства TFindDialog(TReplaceDialog)
Основные свойства TFindDialog и TReplaceDialog

Полный список    TFindDialog(TReplaceDialog)

FindText	Текст, заданный пользователем для поиска или замены. Программно может быть установлен как начальное значение, предлагаемое пользователю
Left	Координата левого края диалогового окна, то же, что Position.X
Options	Множество опций
Position	Позиция левого верхнего угла диалогового окна, заданная типом TPoint – записью, содержащей поля X (экранная координата по горизонтали) и Y (экранная координата по вертикали)
ReplaceText	Только в компоненте TReplaceDialog - текст, который должен заменять FindText
Top	Координата верхнего края диалогового окна, то же, что Position.Y


Все свойства TFindDialog(TReplaceDialog)
Все свойства TFindDialog и TReplaceDialog

Основные свойства   TFindDialog(TReplaceDialog)

Свойство	Описание
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
FindText	Текст, заданный пользователем для поиска или замены. Программно может быть установлен как начальное значение, предлагаемое пользователю
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Handle	Определяет маркер(дескриптор) окна диалога.
Left	Определяет координату X (горизонтальная позиция) верхнего левого угла
HelpContext	Номер контекстно-зависимой встроенной справки
Name	Имя компонента, по которому на него ссылаются другие компоненты
Options	Различные опции компонента
Owner	Определяет владельца данного компонента
Position	Определяет позицию диалога на экране.
ReplaceText	Только в компоненте TReplaceDialog - текст, который должен заменять FindText
Tag	Свойство, используемое пользователем по своему усмотрению
Top	Определяет координату Y (вертикальная позиция) нижнего левого угла
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TFindDialog(TReplaceDialog)
Основные методы TFindDialog и TReplaceDialog

Полный список    TFindDialog(TReplaceDialog)

Метод	Описание
CloseDialog	Закрывает экземпляр TFindDialog (TReplaceDialog)
Execute	Отображает диалог


Все методы TFindDialog(TReplaceDialog)
Все методы TFindDialog и TReplaceDialog

Основные методы   TFindDialog(TReplaceDialog)

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
CloseDialog	Закрывает экземпляр TFindDialog(TReplaceDialog)
Create	Создает и инициализирует экземпляр TFindDialog(TReplaceDialog)
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Execute	Отображает диалог
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуры, содержащей все интерфейсы, реализованные в классе.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает COM и OLE исключения


События TFindDialog и TReplaceDialog

TFindDialog(TReplaceDialog)

Событие	Описание
OnFind	Наступает, когда пользователь нажимает кнопку Найти далее.
OnClose	Наступает, когда диалог закрывается.
OnReplace	Наступает, когда пользователь нажимает кнопку Заменить или Заменить все
OnShow	Наступает, когда диалог открывается.
Сами по себе компоненты TFindDialog и TReplaceDialog не осуществляют ни поиска, ни замены. Они только обеспечивают интерфейс с пользователем. А поиск и замену надо осуществлять программно. Для этого можно пользоваться событием OnFind, происходящим, когда пользователь нажал в диалоге кнопку Найти далее, и событием OnReplace, возникающим, если пользователь нажал кнопку Заменить или Заменить все.  В событии OnReplace узнать, какую именно кнопку нажал пользователь, можно по значениям флагов frReplace и frReplaceAll.


Options - свойство TFindDialog и TReplaceDialog
Options – свойство TFindDialog и TReplaceDialog

Параметр Options - может содержать следующие свойства:

FrDisableMatch Case	Делает недоступным индикатор С учетом регистра в диалоговом окне
FrDisableUpDown	Делает недоступными в диалоговом окне кнопки Вверх и Вниз группы Направление, определяющие направление поиска
FrDisableWhole Word	Делает недоступным индикатор Только слово целиком в диалоговом окне
FrDown	Выбирает кнопку Вниз группы Направление при открытии диалогового окна. Если эта опция не установлена, то выбирается кнопка Вверх
FrFindNext	Эта опция включается автоматически, когда пользователь в диалоговом окне щелкает на кнопке Найти далее, и выключается при закрытии диалога
FrHideMatchCase	Удаляет индикатор С учетом регистра из диалогового окна
FrHideWholeWord	Удаляет индикатор Только слово целиком из диалогового окна
FrHideUpDown	Удаляет кнопки Вверх и Вниз из диалогового окна
FrMatchCase	Этот флаг включается и выключается, если пользователь включает и выключает опцию С учетом регистра в диалоговом окне. Можно установить эту опцию по умолчанию во время проектирования, чтобы при открытии диалога она была включена
FrReplace	Применяется только для TReplaceDialog. Этот флаг устанавливается системой, чтобы показать, что текущее (и только текущее) найденное значение FindText должно быть заменено значением ReplaceText
FrReplaceAll	Применяется только для TreplaceDialog. Этот флаг устанавливается системой, чтобы показать, что все найденные значения FindText должны быть заменены значениями ReplaceText
FrShowHelp	Задает отображение кнопки Справка в диалоговом окне
FrWholeWord	Этот флаг включается и выключается, если пользователь включает и выключает опцию Только слово целиком в диалоговом окне. Можно установить эту опцию по умолчанию во время проектирования, чтобы при открытии диалога она была включена


Пример поиска фрагмента текста

Программа, реализующая поиск при выборе пользователем раздела меню Поиск (имя MFind), может иметь следующий вид:

var SPos:integer;

...

procedure TForm1.MFindClick(Sender: TObject);

begin

 {запоминание позиции курсора}

 SPos:=Memo1.SelStart;

 with FindDialog1 do begin

  {начальное значение текста поиска - текст, выделенный в Memo1}

  FindText:=Memo1.SelText;

  {позиционирование окна диалога внизу Memo1}

  Position:=Point(Form1.Left,Form1.Top+Memo1.Top+Memo1.Height);

  {удаление из диалога кнопок "Вверх", "Вниз",
   "Только  слово целиком"}

  Options:=Options + [frHideUpDown,frHideWholeWord];

  {выполнение}

  Execute;

 end;

end;

procedure TForm1.FindDialog1Find(Sender: TObject);

begin

 with FindDialog1 do begin

 if frMatchCase in Options

  {поиск с учетом регистра}

  then Memo1.SelStart:=Pos(FindText,                           Copy(Memo1.Lines.Text,SPos+1,                             Length(Memo1.Lines.Text)))+Spos-1

  {поиск без учета регистра}

  else Memo1.SelStart:=Pos(AnsiLowerCase(FindText),

                    AnsiLowerCase(Copy(Memo1.Lines.Text,SPos+1,

                    Length(Memo1.Lines.Text))))+Spos-1;

  if Memo1.SelStart>=Spos

   then begin

    {выделение найденного текста}

    Memo1.SelLength:=Length(FindText);

    {изменение начальной позиции поиска}

    SPos:=Memo1.SelStart+Memo1.SelLength+1;

   end

   else

    if MessageDlg(
          'Текст "'+FindText+'" не найден. Продолжать диалог?',

          mtConfirmation,mbYesNoCancel,0) <> mrYes

    then CloseDialog;

 end;

 Memo1.SetFocus;

end;

В программе вводится переменная SPos, сохраняющая позицию, начиная с которой надо проводить поиск.


TDriveComboBox - компонент

Иерархия    Свойства   Методы   События

Выпадающий список дисков (драйверов)

Модуль Filectrl

Описание

TDriveComboBox - выпадающий список дисков (драйверов). Во время выполнения приложения вы можете прочитать имя выбранного пользователем диска в свойстве Drive, а строку, содержащуюся в окне списка - в свойстве Text. Связать компонент TDriveComboBox со списком каталогов, отображаемых компонентом TDirectoryListBox, можно во время проектирования через свойство DirList. Можно обеспечить связь этих двух типов компонентов и программно, включив в обработчик события OnChange компонента TDriveComboBox оператор

DirectoryListBox1.Drive:=DriveComboBox1.Drive;


Основные свойства TDriveComboBox

Полный список    TDriveComboBox

Свойство
DirList	Указывает компонент списка каталогов TDirectoryListBox, с которым связан TDriveComboBox
Drive	Текст в строке редактирования списка - выбранный пользователем или установленный по умолчанию том (драйвер)
Text	Строка, содержащаяся в окне списка - том (драйвер)
TextCase	Отображение имени тома (драйвера) в Text в нижнем (значение tcLowerCase) или верхнем (значение tcUpperCase) регистрах


Все свойства компонента TDriveComboBox
Все свойства TDriveComboBox

Основные свойства   TDriveComboBox

Свойство	Описание
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет фоновый цвет.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Components	Массив компонентов, которыми владеет данный компонент
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DirList	Указывает компонент списка каталогов TDirectoryListBox, с которым связан TDriveComboBox
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragMode	Определяет поведение компонента в процессе перетаскивания
Drive	Текст в строке редактирования списка - выбранный пользователем или установленный по умолчанию том (драйвер)
DroppedDown	Определяет, развернут ли в данный момент список
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
Items	Список строк, содержащихся в TDriveComboBox
Left	Координата левого края компонента в пикселях
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
SelLength	Длина выделенного текста
SelStart	Начальная позиция выделенного текста, а при отсутствии выделения - текущая позиция курсора
SelText	Выделенный текст
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
Text	Строка, содержащаяся в окне списка - том (драйвер)
TextCase	Отображение имени тома (драйвера) в Text в нижнем (значение tcLowerCase) или верхнем (значение tcUpperCase) регистрах
Top	Координата верхнего края компонента в пикселях
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TDriveComboBox
Методы TDriveComboBox

TDriveComboBox

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет текст из окна редактирования и все строки списка
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Создает и инициализирует экземпляр TDriveComboBox
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов в окне
Dispatch	Вызывает обработчик сообщения, полученного объектом
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли компонент в фокусе
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента
HandleNeeded	Создает дескриптор окна, если он до этого не существовал
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRight ToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateControlState	Используется внутри класса для отображения дочерних компонентов


События TDriveComboBox
Основные события TDriveComboBox

Полный список    TDriveComboBox

Событие	Описание
OnChange	Наступает в момент изменения пользователем текста в окне редактирования
OnDropDown	Наступает в момент развертывания выпадающего списка


Все события TDriveComboBox

Основные события   TDriveComboBox

Событие	Описание
OnChange	Наступает в момент изменения пользователем текста в окне редактирования
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnDropDown	Наступает в момент развертывания выпадающего списка
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDrag	Наступает, когда пользователь начал процесс перетаскивания компонента


TFilterComboBox - компонент

Иерархия      Свойства   Методы   События

Выпадающий список фильтров (масок) файлов

Модуль Filectrl

Описание

FilterComboBox - выпадающий список фильтров (масок) файлов. Его основные свойство - Filter, которое задается так же, как в компонентах - диалогах. К отдельным частям фильтра - тексту и маске, можно получить доступ через свойства Text и Mask соответственно. Связь компонента со списком файлов типа TFileListBox можно установить, задав свойство FileList.


Основные свойства TFilterComboBox

Полный список    TFilterComboBox

Свойство
FileList	Указывает компонент списка файлов TFileListBox, с которым связан TFilterComboBox
Filter	Строка, содержащая список всех текстов и масок фильтров, разделенных символом '|'
Mask	Маски фильтров - раздел масок свойства Filter
Text	Тексты фильтров


Все свойства компонента tFilterComboBox
Все свойства TFilterComboBox

Основные свойства   TFilterComboBox

Свойство	Описание
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет фоновый цвет.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DroppedDown	Определяет, развернут ли в данный момент список
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
FileList	Указывает компонент списка файлов TFileListBox, с которым связан TFilterComboBox
Filter	Строка, содержащая список всех текстов и масок фильтров, разделенных символом '|'
Font	Управление параметрами шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
Items	Список строк, содержащихся в TFilterComboBox
Left	Координата левого края компонента в пикселях
Mask	Маски фильтров - раздел масок свойства Filter
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
SelLength	Длина выделенного текста
SelStart	Начальная позиция выделенного текста, а при отсутствии выделения - текущая позиция курсора
SelText	Выделенный текст
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
Text	Тексты фильтров
Top	Координата верхнего края компонента в пикселях
VCLComObject	Используется в среде Delphi компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы tFilterComboBox
Методы TFilterComboBox

TFilterComboBox

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет текст из окна редактирования и все строки списка
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create	Создает и инициализирует экземпляр TFilterComboBox
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов в окне
Dispatch	Вызывает обработчик сообщения, полученного объектом
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли компонент в фокусе
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetInterface	Возвращает интерфейс, указанный идентификатором
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента
HandleNeeded	Создает дескриптор окна, если он до этого не существовал
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateControl State	Используется внутри класса для отображения дочерних компонентов


События tFilterComboBox
Основные события TFilterComboBox

Полный список    TFilterComboBox

Событие	Описание
OnChange	Наступает в момент изменения пользователем текста в окне редактирования
OnDropDown	Наступает в момент развертывания выпадающего списка


Все события TFilterComboBox

Основные события   TFilterComboBox

Событие	Описание
OnChange	Наступает в момент изменения пользователем текста в окне редактирования
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnDropDown	Наступает в момент развертывания выпадающего списка
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnStartDrag	Наступает, когда пользователь начал процесс перетаскивания компонента


TFileListBox - компонент
TFileListBox – компонент

Иерархия   Свойства   Методы   События

Отображает список файлов выбранного каталога

Модуль Filectrl

Описание

Компонент TFileListBox отображает список файлов. Его свойства Drive, Directory и Mask определяют соответственно диск, каталог и маску файлов. Эти свойства можно устанавливать программно или связывая компонент TFileListBox с компонентами TDriveComboBox, TDirectoryListBox и TFilterComboBox (с помощью их свойств FileList).

Основное свойство TFileListBox, в котором можно прочитать имя выбранного пользователем файла - FileName.

Свойство FileType позволяет включать в список не все файлы, а только те, которые имеют соответствующие атрибуты.

Свойство ShowGlyphs разрешает или исключает показ пиктограмм файлов.

Свойство MultiSelect разрешает выбор нескольких файлов.

Со списком файлов может быть связано свойством FileEdit окно редактирования Edit, в котором отображается выбранный файл.


Основные свойства TFileListBox(DriveComboBox, FilterComboBox)
Основные свойства TFileListBox

Полный список    TFileListBox

Свойство
Directory	Строка, содержащая каталог, файлы которого отображаются в списке. При связи с компонентом TDirectoryListBox обновляется автоматически
Drive	Диск (том, драйвер), файлы которого отображаются в списке. При связи с компонентом TDirectoryListBox обновляется автоматически
FileEdit	Окно редактирования Edit, связанное с данным компонентом и отображающее выбранный файл
FileName	Имя выбранного пользователем файла
FileType	Позволяет включать в список только те файлы, которые имеют соответствующие атрибуты. Представляет собой множество, элементы которого могут иметь значения: ftReadOnly - только для чтения, ftHidden - невидимые, ftSystem - системные, ftVolumeID - обозначения дисков, ftDirectory - каталоги, ftArchive - архивные, ftNormal - не имеющие особых атрибутов
Mask	Список масок (шаблонов) отображаемых файлов. При связи с компонентом TFilterComboBox обновляется автоматически
MultiSelect	Разрешает выбор нескольких файлов
ShowGlyphs	Разрешает или исключает показ пиктограмм файлов


Все свойства компонента TFileListBox
Все свойства TFileListBox

Основные свойства   TFileListBox

Свойство	Описание
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет фоновый цвет
ComObject	Защищенное свойство, возвращающее ссылку на интерфейс в компонентах, поддерживающих стандарт COM
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Множество флагов стиля компонента
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, имеет ли управление трехмерный (3-ий) или двух-мерный просмотр.
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Directory	Строка, содержащая каталог, файлы которого отображаются в списке. При связи с компонентом TDirectoryListBox обновляется автоматически
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
Drive	Диск (том, драйвер), файлы которого отображаются в списке. При связи с компонентом TDirectoryListBox обновляется автоматически
DroppedDown	Определяет, развернут ли в данный момент список
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
FileEdit	Окно редактирования Edit, связанное с данным компонентом и отображающее выбранный файл
FileName	Имя выбранного пользователем файла
FileType	Позволяет включать в список только те файлы, которые имеют соответствующие атрибуты. Представляет собой множество, элементы которого могут иметь значения: ftReadOnly - только для чтения, ftHidden - невидимые, ftSystem - системные, ftVolumeID - обозначения дисков, ftDirectory - каталоги, ftArchive - архивные, ftNormal - не имеющие особых атрибутов
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к дескриптору окна
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
Items	Список строк, содержащихся в списке
Left	Координата левого края компонента в пикселях
Mask	Список масок (шаблонов) отображаемых файлов. При связи с компонентом TFilterComboBox обновляется автоматически
MultiSelect	Разрешает выбор нескольких файлов
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
SelLength	Длина выделенного текста
SelStart	Начальная позиция выделенного текста, а при отсутствии выделения - текущая позиция курсора
SelText	Выделенный текст
ShowGlyphs	Разрешает или исключает показ пиктограмм файлов
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
Top	Координата верхнего края компонента в пикселях
VCLComObject	Используется в среде Delphi компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TFileListBox(DriveComboBox, FilterComboBox)
Основные методы TFileListBox

Полный список    TFileListBox

Метод	Описание
ApplyFilePath	Обновляет значения свойств Directory, Drive, FileName, Mask, чтобы они соответствовали значению свойства EditText компонента TEdit, связанного с данным списком свойством FileEdit
Clear	Очищает список


Все методы TFileListBox(DriveComboBox, FilterComboBox)
Все методы TFileListBox

Основные методы   TFileListBox

Метод	Описание
ApplyFilePath	Обновляет значения свойств Directory, Drive, FileName, Mask, чтобы они соответствовали значению свойства EditText компонента TEdit, связанного с данным списком свойством FileEdit
Assign	Копирует один объект в другой, создавая копию всех данных объекта
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Очищает список
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Создает и инициализирует экземпляр TFileListBox
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов в окне
Dispatch	Вызывает обработчик сообщения, полученного объектом
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли компонент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента
HandleNeeded	Создает дескриптор окна, если он до этого не существовал
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
ItemAtPos	Возвращает индекс элемента списка, указанного его координатами
ItemRect	Возвращает прямоугольник, описывающий указанный элемент списка
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
SetFocus	Передает фокус элементу
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
Update ControlState	Используется внутри класса для отображения дочерних компонентов


События TFileListBox(DriveComboBox, FilterComboBox)
Основные события TFileListBox

Полный список    TFileListBox

Событие	Описание
OnChange	Наступает после изменения пользователем выделения элемента списка


Все события TFileListBox(DriveComboBox, FilterComboBox)
Все события TFileListBox

Все события   TFileListBox

Событие	Описание
OnChange	Наступает после изменения пользователем выделения элемента списка
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDrag	Наступает, когда пользователь начал процесс перетаскивания компонента


TDataSource - компонент

Иерархия   Свойства   Методы   События

Источник данных - обеспечивает интерфейс между компонентом набора данных и средствами визуализации

Модуль Db

Описание

Компонент TDataSource представляет собой источник данных, который обеспечивает связь между набором данных и компонентами отображения и редактирования данных.

Все наборы данных должны быть связаны с компонентом источника данных, если требуется редактирование данных.


Основные свойства TDataSource

Все свойства    TDataSource

Свойство	Описание
AutoEdit	Определяет, вызывается ли автоматически метод Edit
DataSet	Набор данных, с которым связан компонент
Enabled	Определяет, отображаются ли данные в компонентах отображения, связанных с этим источником данных
State	Указывает текущее состояние набора данных, связанного с источником данных


Все свойства компонента TDataSource
Все свойства TDataSource

Основные свойства   TDataSource

Свойство	Описание
AutoEdit	Определяет, вызывается ли автоматически метод Edit
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
DataSet	Набор данных, с которым связан компонент
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Enabled	Определяет, отображаются ли данные в компонентах отображения, связанных с этим источником данных
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
State	Указывает текущее состояние набора данных, связанного с источником данных
Tag	Свойство, используемое пользователем по своему усмотрению
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент


Основные методы TDataSource

Полный список    TDataSource

Метод	Описание
Edit	Подтверждает возможность редактирования набора данных
IsLinkedTo	Проверяет связь источника с указанным набором данных. Обычно напрямую не используется, а применяется при разработке новых компонентов


Все методы TDataSource

Основные методы   TDataSource

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TDataSource
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Edit	Подтверждает возможность редактирования набора данных
Execute Action	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Find Component	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free OnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterfaceEntry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsLinkedTo	Проверяет связь источника с указанным набором данных. Обычно напрямую не используется, а применяется при разработке новых компонентов
Method Address	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
SafeCall Exception	Обрабатывает исключения OLE и Com
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается


События TDataSource

TDataSource

Событие	Описание
OnDataChange	Наступает при перемещении на новое поле или новую запись, если текущая запись редактировалась
OnStateChange	Наступает при изменении состояния набора данных, связанного с данным источником
OnUpdateData	Наступает, когда намечается обновление текущей записи


TTable - компонент

Иерархия   Свойства   Методы   События

Компонент набора данных, связанный с одной таблицей

Модуль Dbtables

Описание

TTable обеспечивает прямой доступ к каждой записи и полю в одной указанной таблице базы данных. Компонент может также работать с подмножеством записей внутри таблицы базы данных. Во время проектирования вы можете создавать, удалять, модифицировать, или переименовывать таблицу базы данных, связанную с TTable.


Основные свойства TTable

Все свойства    TTable

Свойство	Описание
Active	Определяет, открыта база данных, или нет
DatabaseName	Указывает имя базы данных, с которой связан набор данных
Exclusive	Указывает, открывается ли таблица с блокировкой доступа со стороны других приложений
IndexField Names	Список полей, используемых для индексации таблицы
IndexFields	Индексированный список объектов полей текущего индекса
IndexFiles	Список индексных файлов таблицы dBASE
IndexName	Имя используемого вторичного индекса таблицы
ReadOnly	Устанавливает данные только для чтения (при значении true)
TableName	Указывает имя таблицы базы данных


Все свойства компонента TTable
Все свойства TTable

Основные свойства   TTable

Свойство	Описание
Active	Определяет, открыта база данных, или нет
AggFields	Массив полей совокупных характеристик (агрегатов). Свойство только для чтения
AutoCalcFields	Управляет генерацией события OnCalcFields
BlockReadSize	Определяет число записей, помещаемых при чтении в буфер. Задание BlockReadSize > 0 переводит состояние набора данных State в dsBlockRead и ускоряет работу
Bof	Указывает, находится ли курсор таблицы на первой записи. Свойство только для чтения
Bookmark	Строка текущей закладки в наборе данных. Использование закладок позволяет приложению быстро вернуться к какой-то записи. Приложение может прочитать закладку текущей записи, а в дальнейшем быстро перейти к той же записи, присвоив запомненную закладку свойству Bookmark
CacheBlobs	Определяет, должны ли поля BLOB кэшироваться в памяти. Кэширование отображаемых полей повышает производительность приложения. Но если при перемещении по записям поля не должны отображаться, следует задать CacheBlobs = false для экономии ресурсов
CachedUpdates	Установка в true позволяет кэшировать изменения записей (хранить их временно в памяти) и применять методы ApplyUpdates для записи изменений в базу данных, CancelUpdates для отмены изменений и CommitUpdates для очистки буфера КЭШа
CanModify	Определяет, разрешается ли запись в набор данных. Свойство только для чтения
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM. Свойство только для чтения
Component Count	Число компонентов в массиве Components. Свойство только для чтения
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент. Свойство только для чтения
ComponentState	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
ComponentStyle	Определяет флаги стиля компонента. Используется при создании новых компонентов. Свойство только для чтения
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
Database	Указатель на связанный с базой данных компонент типа Tdatabase. Обеспечивает доступ к его свойствам и методам. Автоматически устанавливается при открытии базы данных, указанной свойством DatabaseName
DatabaseName	Имя базы данных, связанной с компонентом
DataSetField	Указывает на объект набора данных, вложенного в основной набор данных (например, в Oracle 8)
DataSource	Вариант свойства MasterSource только для чтения
DBHandle	Дескриптор Borland Database Engine (BDE) для используемой базы данных
DBLocale	Дескриптор локализации Borland Database Engine (BDE) для используемой базы данных
DBSession	Компонент Tsession,
DefaultFields	Указывает, генерирует ли набор данных динамически размещенные в памяти объекты полей
DefaultIndex	Определяет, используется ли индексация по умолчанию при открывании таблицы
Designer	Используется во время проектирования для доступа к Редактору Полей и другим аналогичным инструментам
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Eof	Указывает, находится ли курсор таблицы на последней записи
Exclusive	Указывает, открывается ли таблица с блокировкой доступа со стороны других приложений
Exists	Определяет, существует ли требуемая таблица базы данных. Только для чтения
ExpIndex	Указывает, использует ли набор данных выражение индекса dBASE. Только для чтения
FieldCount	Число объектов полей в списке Fields
FieldDefList	Список определений полей набора данных. Только для чтения
FieldDefs	Список определений полей набора данных
FieldList	Список имен всех полей набора данных
Fields	Массив объектов полей набора данных
FieldValues	Обеспечивает доступ к значениям всех полей активной записи
Filter	Задает в виде строки условий текущий фильтр набора данных. Действует только при свойстве Filtered = true
Filtered	Разрешает фильтрацию, указанную в свойстве Filter или в обработчике события OnFilterRecord
FilterOptions	Множество опций фильтрации: foCaseInsensitive - чувствительность к регистру, foNoPartialCompare - в фильтре разрешается вводить символ ‘*’ как указание на любое количество любых символов
Found	Указывает, совершилось ли успешно перемещение на соответствующую запись методами FindFirst, FindLast, FindNext, FindPrior
Handle	Обеспечивает доступ к маркеру(дескриптору) окна
IndexDefs	Объект собрания описаний индексов таблицы
IndexField Count	Количество полей, используемых в текущем индексе
IndexField Names	Список имен полей, используемых для индексации таблицы
IndexFields	Индексированный список объектов полей текущего индекса
IndexFiles	Список индексных файлов таблицы dBASE
IndexName	Имя используемого вторичного индекса таблицы
KeyExclusive	Указывает, включаются ли в диапазон допустимых значений его границы
KeyFieldCount	При поиске по нескольким ключам задает число используемых ключей
KeySize	Указывает размер в байтах ключа индекса набора данных
Locale	Идентификатор локализации Borland Database Engine (BDE) набора данных
MasterFields	Во вспомогательной таблице определяет ключевые поля головной таблицы, используемые для связи со вспомогательной таблицей
MasterSource	Во вспомогательной таблице определяет источник данных головной таблицы
Modified	Показывает, изменена ли текущая запись
Name	Имя компонента, по которому на него ссылаются другие компоненты
ObjectView	Указывает, хранятся ли объекты полей в свойстве Fields иерархически, или последовательно (дочерние поля размещены после родительских)
Owner	Определяет владельца данного компонента
ReadOnly	Устанавливает данные только для чтения (при значении true)
RecNo	Номер записи в наборе данных
RecordCount	Число записей в наборе данных
RecordSize	Указывает размер текущей записи в байтах
SessionName	Имя компонента TSession, связанного с набором данных
SparseArrays	Определяет, создаются ли уникальные объекты для всех элементов массива полей
State	Текущее состояние набора данных
StoreDefs	Указывает, сохраняются ли определения полей и индексов в модуле данных или форме
TableLevel	Уровень таблицы драйвера BDE
TableName	Указывает имя таблицы базы данных
TableType	Тип таблицы
Tag	Свойство, используемое пользователем по своему усмотрению
UpdateMode	Определяет критерии поиска обновляемой записи базы данных SQL в Borland Database Engine (BDE)
UpdateObject	Объект типа TUpdateObject, используемый для обновления записи
UpdateRecord Types	Определяет, какие записи должны быть видимы в наборе данных при кэшировании
UpdatesPending	Определяет, имеются ли в КЭШе обновленные записи, не отправленные в базу данных
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Constraints - свойство TDataSet

Ограничения на допустимые значения параметров на уровне записи

Класс TDataSet

Определение

property Constraints: TCheckConstraints;

Описание

Свойство Constraints определяет ограничения на допустимые значения параметров на уровне записи. Его значение является объектом типа TCheckConstraints, содержащим ограничения и имеющим свои свойства и методы. Основное свойство - индексированный массив ограничений Items:

property Items[Index: Integer]: TCheckConstraint;

Элементы этого массива в свою очередь являются объектами типа TCheckConstraint. Основные свойства этих объектов:

CustomConstraint: string	Текст ограничения на языке SQL. Ограничения действуют только на уровне приложения и не влияют на запись данных на сервер в базу данных
ErrorMessage: string	Строка, отображаемая в диалоговом окне, если пользователь ввел данные, не удовлетворяющие ограничению
FromDictionary: Boolean	Определяет, должны ли искаться ограничения в словаре данных

Во время проектирования свойство Constraints устанавливается нажатием кнопки в этом свойстве в Инспекторе Объектов. В результате открывается диалоговое окно списка ограничений. Щелкая в нем на кнопке Add вы можете занести в свойство Constraints набор ограничений. Выделив одно из ограничений, вы увидите в Инспекторе Объектов его свойства и можете установить их.

Например, можно написать в свойстве CustomConstraint:

((Sex=true) and (Year_b >1955))or
((Sex=false) and (Year_b>1965))

а в свойстве ErrorMessage: "Принимаем только мужчин >1955 г.р. и женщин >1965 г.р."

Это обеспечит вам различные границы отбора по возрасту для мужчин и женщин (предполагается, что Sex - булево поле, обозначающее пол, а Year_b - поле, содержащее год рождения).


Основные методы TTable

Все методы    TTable

Метод	Описание
AddIndex	Создает новый индекс таблицы
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyRange	Применяет диапазон значений, установленный методами SetRangeStart и SetRangeEnd
ApplyUpdates	Записывает кэшированные изменения в базу данных
BatchMove	Перемещает записи из одной таблицы в другую
Cancel	Отменяет результаты редактирования
CancelRange	Снимает ограничения диапазона, введенные методами SetRangeStart, SetRangeEnd, SetRange
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
Close	Закрывает набор данных
CloseDatabase	Закрывает соединение с базой данных
CommitUpdates	Очищает буфер кэшированных изменений
CreateTable	Создает новую таблицу базы данных
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
DeleteTable	Удаляет таблицу базы данных
Edit	Переводит набор данных в режим редактирования
EditKey	Переводит набор данных в режим поиска с частичным изменением ключей
EditRangeEnd	Подготавливает изменение верхней границы вводимого значения
EditRangeStart	Подготавливает изменение нижней границы вводимого значения
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindField	Находит поле по его имени. При неверном имени возвращает nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindKey	Ищет запись по заданным ключам
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNearest	Перемещает курсор на запись, ближайшую к заданным ключам
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FlushBuffers	Пересылает в базу данных все изменения, сохраненные в буфере
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetailLink Fields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldNames	Выдает список имен всех полей набора данных
GotoCurrent	Синхронизирует текущую запись таблицы с текущей записью другого набора данных
GotoKey	Перемещает курсор на запись, найденную с помощью методов SetKey и EditKey
GotoNearest	Перемещает курсор на запись, примерно соответствующую ключам, заданным методами SetKey и EditKey
Insert	Вставляет новую пустую запись в набор данных
InsertRecord	Вставляет новую заполненную запись в набор данных
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MoveBy	Перемещает курсор на заданное число записей
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
OpenDatabase	Открывает базу данных
Post	Пересылает отредактированную запись в базу данных
Prior	Перемещает курсор к предыдущей записи
RevertRecord	Отменяет исправления текущей записи
SetFields	Устанавливает значения всех полей записи
SetKey	Переводит набор данных в режим поиска по ключам
SetRange	Устанавливает диапазон допустимых значений
SetRangeEnd	Устанавливает верхнюю границу диапазона допустимых значений
SetRangeStart	Устанавливает нижнюю границу диапазона допустимых значений


Все методы TTable

Основные методы   TTable

Метод	Описание
ActiveBuffer	Указывает на буфер текущей записи. Для внутреннего использования
AddIndex	Создает новый индекс таблицы
After Construction	Вызывается автоматически после создания объекта
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyRange	Применяет диапазон значений, установленный методами SetRangeStart и SetRangeEnd
ApplyUpdates	Записывает кэшированные изменения в базу данных
Assign	Копирует один объект в другой, создавая копию всех данных объекта
BatchMove	Перемещает записи из одной таблицы в другую
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
CancelRange	Снимает ограничения диапазона, введенные методами SetRangeStart, SetRangeEnd, SetRange
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
CheckBrowse Mode	Автоматически пересылает отредактированную активную запись в базу данных или отменяет результат редактирования при переходе к другой записи. Для внутреннего использования
CheckOpen	Проверяет, отсутствует ли ошибка при попытке доступа к данным
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
CloseDatabase	Закрывает соединение с базой данных
CloseIndex File	Закрывает индексный файл dBASE
CommitUpdates	Очищает буфер кэшированных изменений
Compare Bookmarks	Сравнивает две закладки Bookmark набора данных
Constraint CallBack	Определяет функцию, которая позволяет набору данных непосредственно связываться с API BDE
Constraints Disabled	Показывает, блокированы, или нет ограничения сервера
Controls Disabled	Проверяет наличие блокировки методом DisableControls компонентов, отображающих данные
Create	Создает и инициализирует экземпляр TTable
CreateBlob Stream	Создает поток для чтения и записи данных поля BLOB
CreateTable	Создает новую таблицу базы данных
CursorPos Changed	Автоматически вызывается методами Locate и Lookup при изменении позиции курсора
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
DeleteIndex	Удаляет вторичный индекс таблицы
DeleteTable	Удаляет таблицу базы данных
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Disable Constraints	Блокирует ограничения сервера
Disable Controls	Блокирует вывод данных в компоненты, связанные с данными
Dispatch	Вызывает обработчик сообщения, полученного объектом
Edit	Переводит набор данных в режим редактирования
EditKey	Переводит набор данных в режим поиска с частичным изменением ключей
EditRangeEnd	Подготавливает изменение верхней границы вводимого значения
EditRange Start	Подготавливает изменение нижней границы вводимого значения
EmptyTable	Очищает таблицу, удаляя из нее все записи
Enable Constraints	Снимает блокировку ограничений сервера, введенную ранее методом DisableConstraints
Enable Controls	Снимает блокировку отображения данных, введенную ранее методом DisableControls
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FetchAll	Считывает с сервера и сохраняет локально все записи, начиная с текущей
FieldAddress	Возвращает указатель на опубликованное поле объекта
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindComponent	Ищет в списке Components компонент с заданным именем
FindField	Находит поле по его имени. При неверном имени возвращает nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindKey	Ищет запись по заданным ключам
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNearest	Перемещает курсор на запись, ближайшую к заданным ключам
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FlushBuffers	Пересылает в базу данных все изменения, сохраненные в буфере
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeBookmark	Уничтожает закладку набора данных
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetBlobField Data	Читает значение поля BLOB в буфер и возвращает размер буфера
GetBookmark	Создает и возвращает новую закладку набора данных
GetCurrent Record	Заносит текущую запись в буфер
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetailLink Fields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldData	Заносит данные указанного поля в буфер. Обычно не вызывается явным образом. Используется объектами TField в методе GetData
GetFieldList	Создает список копий объектов указанных полей. Используется в редких случаях, когда надо работать не с самими полями, а с их копиями
GetFieldNames	Выдает список имен всех полей набора данных
GetIndexInfo	Читает информацию BDE о текущем индексе. Обычно явным образом не вызывается
GetIndexNames	Возвращает список доступных индексов таблицы
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GotoBookmark	Осуществляет переход на указанную закладку набора данных
GotoCurrent	Синхронизирует текущую запись таблицы с текущей записью другого набора данных
GotoKey	Перемещает курсор на запись, найденную с помощью методов SetKey и EditKey
GotoNearest	Перемещает курсор на запись, примерно соответствующую ключам, заданным методами SetKey и EditKey
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert	Вставляет новую пустую запись в набор данных
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertRecord	Вставляет новую заполненную запись в набор данных
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
IsLinkedTo	Проверяет, черпает ли указанный источник данных TDataSource информацию из этого набора данных
IsSequenced	Определяет, можно ли в наборе данных использовать номер записи RecNo для навигации по набору данных
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
LockTable	Блокирует таблицы Paradox и dBASE
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MoveBy	Перемещает курсор на заданное число записей
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
OpenDatabase	Открывает базу данных
OpenIndexFile	Отрывает указанный индексный файл dBASE
Post	Пересылает отредактированную запись в базу данных
Prior	Перемещает курсор к предыдущей записи
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RenameTable	Переименовывает таблицу Paradox или dBASE
Resync	Используется для синхронизации записей другими методами, изменяющими положение курсора. В приложении непосредственно не вызывается
RevertRecord	Отменяет исправления текущей записи
SafeCall Exception	Обрабатывает исключения OLE и Com
SetFields	Устанавливает значения всех полей записи
SetKey	Переводит набор данных в режим поиска по ключам
SetRange	Задает допустимый диапазон вводимых значений
SetRangeEnd	Подготавливает задание верхних границ вводимых значений
SetRangeStart	Подготавливает задание нижних границ вводимых значений
Translate	Взаимно преобразует строку символов ANSI (используются в Delphi и Windows) и строку символов OEM (используются в BDE)
UnlockTable	Деблокирует таблицы Paradox и dBASE
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateCursor Pos	Позиционирует курсор на текущей записи. Явным образом в приложениях не вызывается
UpdateRecord	Обеспечивает правильное отображение данных. Явным образом в приложениях не вызывается
UpdateStatus	Определяет состояние обновления текущей записи


TDBNavigator - компонент

Иерархия   Свойства   Методы   События

Используется для навигации по набору данных и выполнения редактирование данных

Модуль Dbctrls

Описание

TDBNavigator - навигатор, позволяющий пользователю перемещаться по записям набора данных, редактировать данные и пересылать их в базу данных.

Компонент имеет ряд кнопок, служащих для управления данными. Перечислим их названия и назначение, начиная с левой кнопки:

nbFirst	Перемещение к первой записи
nbPrior	Перемещение к предыдущей записи
nbNext	Перемещение к следующей записи
nbLast	Перемещение к последней записи
nbInsert	вставить новую запись перед текущей
nbDelete	удалить текущую запись
nbEdit	Редактировать текущую запись
nbPost	послать отредактированную информацию в базу данных
nbCancel	отменить результаты редактирования или добавления новой записи
nbRefresh	очистить буфер, связанный с набором данных

Пользуясь свойством навигатора VisibleButtons, можно убрать любые ненужные в данном приложении кнопки. Чтобы приложение с навигатором работало, надо установить его основное свойство - DataSource - источник данных (имя компонента TDataSource).


Основные свойства TDBNavigator

Все свойства    TDBNavigator

Свойство
Confirm Delete	Определяет, должно ли появляться окно с запросом подтверждения удаления записи, инициированного навигатором
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
Flat	Определяет плоское, двумерное (при значении true) или объемное (при false) изображение навигатора
Hints	Содержит список текстов подсказок для всех кнопок навигатора
Visible Buttons	Множество видимых кнопок навигатора


Все свойства компонента TDBNavigator
Все свойства TDBNavigator

Основные свойства   TDBNavigator

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Confirm Delete	Определяет, должно ли появляться окно с запросом подтверждения удаления записи, инициированного навигатором
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Flat	Определяет плоское, двумерное (при значении true) или объемное (при false) изображение навигатора
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
Hints	Содержит список текстов подсказок для всех кнопок навигатора
HostDockSite	Определяет контейнер, в который встроен данный компонент
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TDBNavigator

Все методы    TDBNavigator

Метод	Описание
BtnClick	Эмулирует щелчок на заданной кнопке навигатора
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения


Все методы TDBNavigator

Основные методы   TDBNavigator

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
BtnClick	Эмулирует щелчок на заданной кнопке навигатора
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Создает и инициализирует экземпляр TDBNavigator
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Уничтожает экземпляр TDBNavigator
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов в окне
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли компонент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента
HandleNeeded	Создает дескриптор окна, если он до этого не существовал
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
SetFocus	Передает фокус элементу
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
Update ControlState	Используется внутри класса для отображения дочерних компонентов
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDBNavigator
Основные события TDBNavigator

Полный список    TDBNavigator

Событие	Описание
Before Action	Наступает после щелчка на кнопке навигатора, но перед выполнением действия, соответствующего этой кнопке
OnClick	Наступает после щелчка на кнопке навигатора и после выполнения действия, соответствующего этой кнопке


Все события TDBNavigator

Основные события   TDBNavigator

Событие	Описание
Before Action	Наступает после щелчка на кнопке навигатора, но перед выполнением действия, соответствующего этой кнопке
OnClick	Наступает после щелчка на кнопке навигатора и после выполнения действия, соответствующего этой кнопке
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает в момент встраивания компонента
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnResize	Наступает сразу после изменения размера компонента
OnStartDock	Наступает, когда пользователь начал процесс перетаскивания и встраивания компонента
OnStartDrag	Наступает, когда пользователь начал процесс перетаскивания компонента


TDatabase - компонент

Иерархия   Свойства   Методы   События

Осуществляет управление транзакциями

Модуль Dbtables

Описание

Компонент базы данных типа TDatabase Delphi автоматически включает в любое приложение, работающее с базами данных. Если же вы хотите сознательно управлять транзакциями, вы должны явным образом включить компонент TDatabase в свое приложение. Этот компонент решает следующие задачи:

•	Создание соединения с удаленным сервером

•	Регистрация пользователя при первом обращении к серверу

•	Создание локальных псевдонимов приложений

•	Управление транзакциями

•	Определение уровня изоляции транзакции (регулирование одновременных транзакций к одним и тем же таблицам)

TDatabase связывается с компонентами наборов данных TTable, TQuery и другими через имя базы данных, к которой он подключается. Это имя задается в свойстве DatabaseName. Может быть задан псевдоним базы данных или полный путь к ней. Если задается база данных, имеющая псевдоним BDE, то свойства AliasName, DriverName и Params можно не задавать. В противном случае надо задать или свойство AliasName, или свойства DriverName и Params.

Установку значений всех этих свойств во время проектирования можно проводить непосредственно в Инспекторе Объектов, но удобнее воспользоваться специальным редактором, который вызывается двойным щелчком на TDatabase.

Основные методы компонента TDatabase: StartTransaction - начало транзакции, Commit - фиксация изменений в базе данных, Rollback - откат, отмена всех изменений. Программа работы с данными должна строиться по следующей схеме:

Database1.StartTransaction;

Группа операторов изменения данных (ExecSQL и др.)

Проверка результатов: Если успешно - Database1.Commit;
                      Если неудача - Database1.Rollback;
Транзакции следует по возможности делать немногочисленными и компактными (см. пример).


Основные свойства TDatabase

Все свойства    TDatabase

Свойство
AliasName	Псевдоним BDE базы данных. При установке AliasName свойство DriverName автоматически очищается
Connected	Указывает, активно ли соединение с базой данных
Database Name	Указывает имя базы данных, с которой связан компонент
DataSet Count	Число активных наборов данных, связанных с компонентом
DataSets	Индексированный массив активных наборов данных, связанных с компонентом
Directory	Рабочий каталог для баз данных Paradox и dBASE
DriverName	Имя используемого драйвера BDE
Exclusive	Запрещает или разрешает доступ к базе данных другим приложениям
Keep Connection	Указывает, остается ли приложение соединенным с базой данных даже если нет отрытой базы данных
Locale	Драйвер языка BDE. Используется только при явном обращении к функциям BDE. Только для чтения
LoginPrompt	Указывает, должен ли появляться диалог соединения (имя пользователя, пароль) при открытии базы данных
Session	Указывает компонент TSession, связанный с базой данных
SessionName	Имя компонента сеанса сетевого соединения TSession, связанного с базой данных
ReadOnly	Устанавливает данные только для чтения (при значении true)
Trans Isolation	Определяет уровень изоляции транзакций


Все свойства компонента TDatabase
Все свойства TDatabase

Основные свойства   TDatabase

Свойство	Описание
AliasName	Псевдоним BDE базы данных. При установке AliasName свойство DriverName автоматически очищается
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Connected	Указывает, активно ли соединение с базой данных
DatabaseName	Указывает имя базы данных, с которой связан компонент
DataSetCount	Число активных наборов данных, связанных с компонентом
DataSets	Индексированный массив активных наборов данных, связанных с компонентом
Directory	Рабочий каталог для баз данных Paradox и dBASE
DriverName	Имя используемого драйвера BDE
Exclusive	Запрещает или разрешает доступ к базе данных другим приложениям
Handle	Дескриптор BDE базы данных
HandleShared	Указывает, может ли использоваться дескриптор BDE Handle
InTransaction	Указывает, находится ли в данный момент база данных в режиме обработки транзакции
IsSQLBased	Указывает, использует ли BDE драйвер SQL Links, или BDE ODBC
Keep Connection	Указывает, остается ли приложение соединенным с базой данных даже если нет отрытой базы данных
Locale	Драйвер языка BDE. Используется только при явном обращении к функциям BDE. Только для чтения
LoginPrompt	Указывает, должен ли появляться диалог соединения (имя пользователя, пароль) при открытии базы данных
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Params	Строка параметров псевдонима BDE, связанного с базой данных
ReadOnly	Устанавливает данные только для чтения (при значении true)
Session	Указывает компонент TSession, связанный с базой данных
SessionAlias	Указывает, использует ли компонент псевдоним сеанса сетевого соединения
SessionName	Имя компонента сеанса сетевого соединения Tsession, связанного с базой данных
Tag	Свойство, используемое пользователем по своему усмотрению
Temporary	Указывает, является ли компонент временным, созданным автоматически, или он введен в приложение явным образом
TraceFlags	Определяет операции с базой данных, отображаемые во время выполнения в SQL Monitor
Trans Isolation	Определяет уровень изоляции транзакций
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TDatabase

Все методы    TDatabase

Метод	Описание
ApplyUpdates	Переносит кэшированные изменения в базу данных
Close	Закрывает соединение
CloseDataSets	Закрывает все наборы данных, связанные с компонентом
Commit	Фиксирует в базе данных все изменения, произведенные транзакцией, и завершает транзакцию
Open	Открывает соединение
Rollback	Производит откат назад, аннулируя все изменения данных, произведенные на протяжении транзакции
StartTransaction	Начинает новую транзакцию


Все методы TDatabase

Основные методы   TDatabase

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
ApplyUpdates	Переносит кэшированные изменения в базу данных
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Close	Закрывает соединение
CloseDataSets	Закрывает все наборы данных, связанные с компонентом
Commit	Фиксирует в базе данных все изменения, произведенные транзакцией, и завершает транзакцию
Create	Создает и инициализирует экземпляр TDatabase
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
FlushSchema Cache	Обновляет структуру данных в памяти. Должен вызываться, если приложение изменило структуру таблицы SQL
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetInterface	Возвращает интерфейс, указанный идентификатором
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Open	Открывает соединение
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Rollback	Производит откат назад, аннулируя все изменения данных, произведенные на протяжении транзакции
SafeCall Exception	Обрабатывает исключения OLE и Com
Start Transaction	Начинает новую транзакцию
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
ValidateName	Генерирует исключение, если указанная база данных уже открыта


События TDatabase

TDatabase

Событие	Описание
OnLogin	Наступает при соединении приложения с базой данных
AfterConnect	Наступает после установки соединения с базой данных
AfterDisconnect	Наступает после закрытия соединения с базой данных
BeforeConnect	Наступает перед установкой соединения с базой данных
BeforeDisconnect	Наступает перед закрытием соединения с базой данных


Connected - свойство TDatabase

Указывает, активно ли соединение с базой данных

Класс TDatabase

Определение

property Connected: Boolean;

Описание

Свойство Connected совместно со свойством KeepConnection управляют процессом соединения компонентов с базой данных. Если KeepConnection равно true, то соединение с базой данных постоянное даже при отсутствии открытых наборов данных. Если же KeepConnection равно true, то для регистрации на сервере надо устанавливать Connected в true при каждом открытии таблицы.


TransIsolation - свойство TDatabase
TransIsolation - свойство компонента

Определяет уровень изоляции транзакции

Класс TDatabase

Определение

type TTransIsolation = (tiDirtyRead, tiReadCommitted,
                        tiRepeatableRead);

property TransIsolation: TTransIsolation;

Описание

Свойство TransIsolation определяет уровень изоляции транзакции. Это свойство может иметь значения:

tiDirtyRead	Позволяет читать все текущие изменения, проводимые другими транзакциями до их фиксации
tiReadCommit	Позволяет читать только зафиксированные изменения, проводимые другими транзакциями. Это значение принято по умолчанию
TiRepeatable Read	После начала транзакции не позволяет читать даже подтвержденные изменения, проводимые другими транзакциями в прочитанных данных. Следовательно при повторном прочтении на протяжении данной транзакции той же записи будут получены прежние результаты, даже если другие транзакции их уже изменили

Указанные выше значения свойства TransIsolation могут не поддерживаться на конкретном сервере, с которым вы работаете. В этом случае сервер переходит на доступный ему более высокий, чем запрошенный, уровень изоляции. Ниже приведена таблица уровней для различных систем.

Trans Isolation	InterBase	Oracle	Sybase & Microsoft
tiDirtyRead	Read commited	Read commited	Read
tiReadCommit	Read commited	Read commited	Read commited
tiRepeatable Read	Repeatable Read	Repeatable Read (READ ONLY)	Error  (не поддержи- вается)


Пример применения оператора SQL UPDATE

При необходимости переименовать подразделение во всех записях таблицы можно написать следующий код (предполагается, что вы хотите переименовать "Цех 1" в "Цех 2" ):

With Table1 do begin
 First;
 While not EOF do begin
  if (FieldByName('Dep') = 'Цех 2') then
   FieldByName('Dep') := 'Цех 1';
  Next;
 end;
end;

Более удачным решением в данном случае является выполнение с помощью Query команды типа:

UPDATE Pers SET Dep='Цех 1' WHERE Dep='Цех 2'

Если таблица Pers, с которой вы работали в предыдущем примере, очень большая, то приведенную выше команду можно разбить на две, выполняемые в пределах отдельных транзакций:

UPDATE Pers SET Dep='Цех 1'
  WHERE (Num BETWEEN 1 AND 10000)and(Dep='Цех 2')

и

UPDATE Pers SET Dep='Цех 1'
           WHERE (Num > 10000)and(Dep='Цех 2')


TBatchMove - компонент

Иерархия   Свойства   Методы

Предназначен для групповых операций переноса данных из одного набора в другой

Модуль dbtables

Описание

Компонент BatchMove предназначен для групповых операций переноса данных из одного набора в другой. Основные свойства компонента: Source - источник данных и Destination - приемник данных типа TTtable. Свойство Mode определяет режим переноса данных.

Основной метод компонента - Execute выполняет операцию переноса данных.


Основные свойства TBatchMove

Все свойства    TBatchMove

Свойство	Описание
AbortOnKeyViol	Указывает, должна ли немедленно прекращаться операция, вызвавшая в таблице-приемнике нарушение целостности или дублирование первичного ключа. При задании false желательно одновременно задать KeyViolTableName
AbortOnProblem	Указывает, должна ли немедленно прекращаться операция, вызвавшая несоответствие типов полей в таблице-источнике и таблице-приемнике. При задании false желательно одновременно задать ProblemTableName
ChangedCount	Число записей, измененных или добавленных в таблице-приемнике (при Mode = batUpdate или batAppendUpdate), или удаленных из нее (при Mode = batDelete). Копии этих записей хранятся в таблице ChangedTableName
ChangedTableName	Определяет имя таблицы Paradox, создаваемой для сохранения копий всех изменяемых записей таблицы-приемника
CommitCount	Объем перемещаемых данных в байтах, при превышении которого данные фиксируются в базе данных
Destination	Объект TTable, являющийся приемником данных
KeyViolCount	Число записей, нарушающих целостность таблицы-приемника и поэтому не помещенных в приемник
KeyViolTableName	Указывает имя таблицы Paradox, в которую будут помещаться записи, нарушающие целостность таблицы-приемника и поэтому не помещенные в приемник
Mappings	Список, позволяющий задать таблицу соответствия полей источника и приемника
Mode	Режим переноса данных
MovedCount	Число записей таблицы-источника, участвующих в операции переноса данных
ProblemCount	Число записей с несоответствием типов полей, которые поэтому не помещены в приемник
ProblemTableName	Указывает имя таблицы Paradox, в которую будут помещаться записи, с несоответствием типов полей, которые поэтому не помещены в приемник
RecordCount	Число записей, успешно перенесенных в таблицу-приемник
Source	Объект TTable, являющийся источником данных
Transliterate	Указывает, требуется ли трансляция множества символов при переносе данных


Все свойства компонента TBatchMove
Все свойства TBatchMove

Основные свойства   TBatchMove

Свойство	Описание
AbortOnKeyViol	Указывает, должна ли немедленно прекращаться операция, вызвавшая в таблице-приемнике нарушение целостности или дублирование первичного ключа. При задании false желательно одновременно задать KeyViolTableName
AbortOnProblem	Указывает, должна ли немедленно прекращаться операция, вызвавшая несоответствие типов полей в таблице-источнике и таблице-приемнике. При задании false желательно одновременно задать ProblemTableName
ChangedCount	Число записей, измененных или добавленных в таблице-приемнике (при Mode = batUpdate или batAppendUpdate), или удаленных из нее (при Mode = batDelete), Копии этих записей хранятся в таблице ChangedTableName
ChangedTableName	Определяет имя таблицы Paradox, создаваемой для сохранения копий всех изменяемых записей таблицы-приемника
CommitCount	Объем перемещаемых данных в байтах, при превышении которого данные фиксируются в базе данных
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
ComponentState	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
ComponentStyle	Определяет флаги стиля компонента. Используется при создании новых компонентов
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Destination	Объект TTable, являющийся приемником данных
KeyViolCount	Число записей, нарушающих целостность таблицы-приемника и поэтому не помещенных в приемник
KeyViolTableName	Указывает имя таблицы Paradox, в которую будут помещаться записи, нарушающие целостность таблицы-приемника и поэтому не помещенные в приемник
Mappings	Список, позволяющий задать таблицу соответствия полей источника и приемника
Mode	Режим переноса данных
MovedCount	Число записей таблицы-источника, участвующих в операции переноса данных
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
ProblemCount	Число записей с несоответствием типов полей, которые поэтому не помещены в приемник
ProblemTableName	Указывает имя таблицы Paradox, в которую будут помещаться записи, с несоответствием типов полей, которые поэтому не помещены в приемник
RecordCount	Число записей, успешно перенесенных в таблицу-приемник
Source	Объект TTable, являющийся источником данных
Tag	Свойство, используемое пользователем по своему усмотрению
Transliterate	Указывает, требуется ли трансляция множества символов при переносе данных
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TBatchMove

Все методы    TBatchMove

Метод	Описание
Create	Создает объект TBatchMove, устанавливая в true AbortOnKeyViol, AbortOnProblem, Transliterate и создавая список для свойства Mappings
Destroy	Вызывает деструктор объекта, уничтожая при этом список свойства Mappings
Execute	Выполняет операцию, заданную свойством Mode


Все методы TBatchMove

Основные методы   TBatchMove

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает объект TBatchMove, устанавливая в true AbortOnKeyViol, AbortOnProblem, Transliterate и создавая список для свойства Mappings
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызывает деструктор объекта, уничтожая при этом список свойства Mappings
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Execute	Выполняет операцию, заданную свойством Mode
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает исключения OLE и Com
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается


Mode - свойство TBatchMove

Свойство Mode определяет режим переноса данных. Это свойство может иметь следующие значения:

batAppend	Записи из источника данных добавляются в приемник, не изменяя существующих там записей. Таблица - приемник должна существовать до начала переноса данных
BatUpdate	Записи в таблице - приемнике с ключевыми полями, соответствующими полям в таблице - источнике, изменяются на записи из источника. Новые записи в приемник не добавляются. Таблица - приемник должна существовать до начала переноса данных и должна иметь индекс
BatAppend Update	Записи в таблице - приемнике с ключевыми полями, соответствующими полям в таблице - источнике, изменяются на записи из источника. Записи из таблицы источника, которые не имеют соответствия в приемнике, добавляются туда. Таблица - приемник должна существовать до начала переноса данных и должна иметь индекс
batDelete	Записи в таблице - приемнике, которым находится соответствие в источнике, удаляются из приемника. Таблица - приемник должна существовать до начала переноса данных и должна иметь индекс
batCopy	Таблица - приемник создается и заполняется записями источника. Если таблица - приемник уже существовала, то ее содержимое заменяется на содержимое источника


TSession - компонент

Иерархия   Свойства   Методы    События

Осуществляет общее управление связыванием приложения с базами данных

Модуль Dbtables

Описание

Компонент TSession осуществляет общее управление связыванием приложения с базами данных. Обычно пользователю не приходится заботиться о компоненте TSession, поскольку Delphi автоматически генерирует объект TSession в каждом приложении, работающем с базами данных.  На этот объект можно ссылаться через глобальную переменную Session.

Компонент Session имеет много полезных методов и позволяет легко работать с BDE.

Вводить явным образом компоненты TSession приходится только в многозадачных приложениях, в которых предусмотрено несколько параллельных процессов со своими потоками обмена информацией с базой данных. В таких многопоточных приложениях обычно вводится явным образом по одному компоненту TSession на каждый поток, чтобы исключить влияние потоков друг на друга.

При явном вводе компонента TSession в приложение следует установить его свойство SessionName - имя сеанса сетевого соединения, задав в нем произвольный идентификатор. После этого в выпадающих списках свойств SessionName компонентов типа TDatabase, TTable, TQuery и т.п. появится введенное вами имя. Выбор соответствующего имени сеанса сетевого соединения из этих списков свяжет эти компоненты с соответствующим компонентом TSession.


Основные свойства TSession

Все свойства    TSession

Свойство
Active	Определяет, активен сеанс сетевого соединения, или нет
AutoSessionName	Указывает, является ли компонент автоматически сгенерированным с уникальным именем
ConfigMode	Указывает, как BDE должна управлять псевдонимами
DatabaseCount	Число компонентов баз данных TDatabase, связанных с данным сеансом и содержащихся в Databases
Databases	Индексированный массив компонентов баз данных TDatabase, связанных с данным сеансом
Handle	Дескриптор BDE данного сеанса
KeepConnections	Указывает, должны ли поддерживаться соединения даже при неактивных наборах данных
Locale	Идентификатор локализации BDE сеанса
NetFileDir	Определяет каталог, содержащий файл управления сетью BDE - PDOXUSRS.NET.
PrivateDir	Определяет каталог временных файлов, генерируемых BDE для компонентов баз данных TDatabase, связанных с данным компонентом
SessionName	Имя сеанса, используемое связанными с TSession компонентами. Если AutoSessionName = true, то SessionName явно задаваться не может
SQLHourGlass	Определяет, должен ли курсор приобретать вид песочных часов SQL во время операций BDE
TraceFlags	Определяет операции с базой данных, отображаемые во время выполнения в SQL Monitor


Все свойства компонента TSession
Все свойства TSession

Основные свойства   TSession

Свойство	Описание
Active	Определяет, активен сеанс сетевого соединения, или нет
AutoSessionName	Указывает, является ли компонент автоматически сгенерированным с уникальным именем
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
ComponentState	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
ComponentStyle	Определяет флаги стиля компонента. Используется при создании новых компонентов
ConfigMode	Указывает, как BDE должна управлять псевдонимами
DatabaseCount	Число компонентов баз данных TDatabase, связанных с данным сеансом и содержащихся в Databases
Databases	Индексированный массив компонентов баз данных TDatabase, связанных с данным сеансом
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Handle	Дескриптор BDE данного сеанса
KeepConnections	Указывает, должны ли поддерживаться соединения даже при неактивных наборах данных
Locale	Идентификатор локализации BDE сеанса
Name	Имя компонента, по которому на него ссылаются другие компоненты
NetFileDir	Определяет каталог, содержащий файл управления сетью BDE - PDOXUSRS.NET.
Owner	Определяет владельца данного компонента
PrivateDir	Определяет каталог временных файлов, генерируемых BDE для компонентов баз данных TDatabase, связанных с данным компонентом
SessionName	Имя сеанса, используемое связанными с TSession компонентами. Если AutoSessionName = true, то SessionName явно задаваться не может
SQLHourGlass	Определяет, должен ли курсор приобретать вид песочных часов SQL во время операций BDE
Tag	Свойство, используемое пользователем по своему усмотрению
TraceFlags	Определяет операции с базой данных, отображаемые во время выполнения в SQL Monitor
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TSession

Все методы    TSession

Метод	Описание
AddAlias	Добавляет указанный псевдоним BDE в сеанс работы с сервером SQL
AddDriver	Добавляет указанный драйвер BDE в сеанс работы с сервером SQL
AddPassword	Добавляет в текущий сеанс пароль доступа к таблицам Paradox
AddStandard Alias	Добавляет в сеанс псевдоним типа  Standard для связи с таблицами Paradox, dBASE, ASCII
Close	Закрывает соединения всех баз данных и закрывает сеанс
CloseDatabase	Закрывает соединения всех баз данных
Create	Создает компонент TSession, пустой список компонентов баз данных сеанса, устанавливает KeepConnections в true, добавляет сеанс в список сеансов и устанавливает Handle в nil
DeleteAlias	Удаляет указанный псевдоним BDE из сеанса
DeleteDriver	Удаляет указанный драйвер BDE из сеанса
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
DropConnections	Уничтожает все неактивные временные компоненты баз данных TDatabase, связанные с сеансом
FindDatabase	Возвращает компонент TDatabase, связанный с указанной базой данных
GetAliasDriver Name	Возвращает имя драйвера, используемого указанным псевдонимом BDE
GetAliasNames	Возвращает список всех псевдонимов баз данных, зарегистрированных в BDE
GetAliasParams	Обеспечивает доступ к параметрам, связанным с указанным псевдонимом BDE
GetConfigParams	Обеспечивает доступ к параметрам конфигурации BDE
GetDatabase Names	Возвращает список всех псевдонимов баз данных, зарегистрированных в BDE, и всех компонентов баз данных сеанса
GetDriverNames	Возвращает список всех доступных драйверов BDE
GetDriverParams	Возвращает список параметров указанного драйвера BDE
GetPassword	Генерирует событие OnPassword - запрос пароля
GetStoredProc Names	Возвращает список имен всех хранимых на SQL сервере процедур, связанных с указанным компонентом базы данных TDatabase
GetTableNames	Возвращает список имен всех таблиц, связанных с указанным компонентом базы данных TDatabase
IsAlias	Определяет, является ли указанная строка псевдонимом BDE
ModifyAlias	Добавляет или изменяет параметры псевдонима BDE
ModifyDriver	Добавляет или изменяет параметры драйвера BDE
Open	Открывает сеанс и делает его текущим
OpenDatabase	Открывает существующую базу данных, создает для нее временный компонент TDatabase и открывает его
RemoveAll Passwords	Удаляет все ранее добавленные в текущий сеанс пароли доступа к таблицам Paradox
RemovePassword	Удаляет добавленный в текущем сеансе пароль доступа к таблицам Paradox
SaveConfigFile	Переписывает текущую информацию BDE из памяти и сохраняет ее в файле конфигурации BDE


Все методы TSession

Основные методы   TSession

Метод	Описание
AddAlias	Добавляет указанный псевдоним BDE в сеанс работы с сервером SQL
AddDriver	Добавляет указанный драйвер BDE в сеанс работы с сервером SQL
AddPassword	Добавляет в текущий сеанс пароль доступа к таблицам Paradox
AddStandard Alias	Добавляет в сеанс псевдоним типа  Standard для связи с таблицами Paradox, dBASE, ASCII
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Close	Закрывает соединения всех баз данных и закрывает сеанс
CloseDatabase	Закрывает соединения всех баз данных
Create	Создает компонент TSession, пустой список компонентов баз данных сеанса, устанавливает KeepConnections в true, добавляет сеанс в список сеансов и устанавливает Handle в nil
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
DeleteAlias	Удаляет указанный псевдоним BDE из сеанса
DeleteDriver	Удаляет указанный драйвер BDE из сеанса
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
DropConnections	Уничтожает все неактивные временные компоненты баз данных TDatabase, связанные с сеансом
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
FindDatabase	Возвращает компонент TDatabase, связанный с указанной базой данных
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetAlias DriverName	Возвращает имя драйвера, используемого указанным псевдонимом BDE
GetAliasNames	Возвращает список всех псевдонимов баз данных, зарегистрированных в BDE
GetAliasParams	Обеспечивает доступ к параметрам, связанным с указанным псевдонимом BDE
GetConfigParams	Обеспечивает доступ к параметрам конфигурации BDE
GetDatabase Names	Возвращает список всех псевдонимов баз данных, зарегистрированных в BDE, и всех компонентов баз данных сеанса
GetDriverNames	Возвращает список всех доступных драйверов BDE
GetDriverParams	Возвращает список параметров указанного драйвера BDE
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetPassword	Генерирует событие OnPassword - запрос пароля
GetStored ProcNames	Возвращает список имен всех хранимых на SQL сервере процедур, связанных с указанным компонентом базы данных TDatabase
GetTableNames	Возвращает список имен всех таблиц, связанных с указанным компонентом базы данных TDatabase
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsAlias	Определяет, является ли указанная строка псевдонимом BDE
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
ModifyAlias	Добавляет или изменяет параметры псевдонима BDE
ModifyDriver	Добавляет или изменяет параметры драйвера BDE
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Open	Открывает сеанс и делает его текущим
OpenDatabase	Открывает существующую базу данных, создает для нее временный компонент TDatabase и открывает его
RemoveAll Passwords	Удаляет все ранее добавленные в текущий сеанс пароли доступа к таблицам Paradox
RemoveComponent	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemovePassword	Удаляет добавленный в текущем сеансе пароль доступа к таблицам Paradox
SafeCall Exception	Обрабатывает исключения OLE и Com
SaveConfigFile	Переписывает текущую информацию BDE из памяти и сохраняет ее в файле конфигурации BDE
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается


События TSession

TSession

Событие	Описание
OnPassword	Наступает при первой попытке приложения открыть таблицу Paradox, если BDE фиксирует отсутствие соответствующих прав доступа
OnStartup	Наступает в момент активизации сеанса


AutoEdit- свойство TDataSource

см.также

Определяет, вызывается ли автоматически метод Edit

Класс TDataSource

Определение

property AutoEdit: Boolean;

Описание

Свойство AutoEdit определяет, вызывается ли автоматически метод Edit. Если AutoEdit = true (это значение по умолчанию), то при попытке пользователя модифицировать значения, отображаемые соответствующими компонентами, связанными с данными, автоматически вызывается метод набора данных Edit. Установка AutoEdit = false позволяет предотвратить несанкционированную модификацию. В этом случае для модификации данных приложение должно вызывать Edit явным образом.


TQuery - компонент

Иерархия   Свойства   Методы   События

Модуль Dbtables

Описание

Компонент TQuery может во многих случаях включаться в приложения вместо TTable.

Преимущества TQuery по сравнению с TTable:

•	Возможность формирования набора данных из полей нескольких таблиц базы данных

•	Формирование запросов на языке SQL, что обеспечивает большую гибкость, чем в TTable

•	При работе в сети с удаленным сервером (Sybase, SQL Server, Oracle, Informix, DB2, InterBase) TQuery более эффективен, поскольку TTable создает на компьютере пользователя временную копию серверной базы данных, что требует больших ресурсов и существенно загружает сеть. TQuery размещает на компьютере пользователя только результат запроса.

Основное свойство компонента TQuery - SQL, имеющее тип TStrings. Это список строк, содержащих запросы SQL. В процессе проектирования приложения обычно необходимо сформировать в этом свойстве некоторый предварительный запрос SQL, который показал бы, с какой таблицей или таблицами будет проводиться работа. Но далее во время выполнения приложения свойство SQL может формироваться программно методами, обычными для класса TStrings: Clear - очистка, Add - добавление строки и т.д.


Основные свойства TQuery

Полный список    TQuery

Свойство	Описание
Active	Определяет, открыта база данных, или нет
Constrained	Указывает совместимость ограничений в предложении SELECT с операциями редактирования и вставки записей в таблицах Paradox и dBASE
Database	Указатель на связанный с базой данных компонент типа TDatabase. Обеспечивает доступ к его свойствам и методам. Автоматически устанавливается при открытии базы данных, указанной свойством DatabaseName
DataSource	Указывает компонент TDataSource, относящийся к другой, головной таблице, из которой берется значение ключа, которому должны соответствовать записи данной таблицы
Local	Определяет, относится ли запрос к локальным таблицам Paradox и dBASE, или к таблицам SQL и удаленного сервера. Устанавливается автоматически при вызове Prepare
ParamCheck	Определяет, должно ли свойство Params автоматически обновляться при изменении запроса в свойстве SQL во время выполнения
ParamCount	Число параметров в свойстве Params
Params	Массив параметров запроса, содержащегося в SQL
Prepared	Определяет, подготовлен ли запрос к выполнению. Установка в true вызывает метод Prepare, установка в false - Unprepare. Но лучше вызывать Prepare и Unprepare непосредственно
RequestLive	Позволяет попытаться возвращать результат запроса как "живой" набор данных, вместо таблицы только для чтения
RowsAffected	Взращает число обновленных или удаленных записей в результате последнего запроса. Возвращает -1, если запрос не удалось выполнить
SQL	Основное свойство компонента, содержащее запрос SQL
SQLBinary	Используется внутри класса для указания на двоичный поток запроса SQL или результата запроса
StmtHandle	Идентификатор прямого запроса к Borland Database Engine (BDE)
Text	Текст запроса SQL, передаваемый в Borland Database Engine (BDE)
UniDirectional	Определяет доступность двунаправленного курсора Borland Database Engine (BDE)


Все свойства компонента TQuery
Все свойства TQuery

Основные свойства   TQuery

Свойство	Описание
Active	Определяет, открыта база данных, или нет
AggFields	Массив полей совокупных характеристик (агрегатов)
AutoCalc Fields	Управляет генерацией события OnCalcFields. Если AutoCalcFields = true, событие OnCalcFields генерируется при открытии базы данных, при перемещениях по базе данных и изменении записей. Установка AutoCalcFields в false сокращает число событий OnCalcFields
BlockRead Size	Определяет число записей, помещаемых при чтении в буфер. Задание BlockReadSize > 0 переводит состояние набора данных State в dsBlockRead и ускоряет работу
Bof	Указывает, находится ли курсор таблицы на первой записи
Bookmark	Строка текущей закладки в наборе данных. Использование закладок позволяет приложению быстро вернуться к какой-то записи. Приложение может прочитать закладку текущей записи, а в дальнейшем быстро перейти к той же записи, присвоив запомненную закладку свойству Bookmark
CacheBlobs	Определяет, должны ли поля BLOB кэшироваться памяти. Кэширование изображений отображаемых полей повышает производительность приложения
Cached Updates	Установка в true позволяет кэшировать изменения записей (хранить их временно в памяти) и применять методы ApplyUpdates для записи изменений в базу данных, CancelUpdates для отмены изменений и CommitUpdates для очистки буфера КЭШа
CanModify	Определяет, разрешается ли запись в набор данных
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constrained	Указывает совместимость ограничений в предложении SELECT с операциями редактирования и вставки записей в таблицах Paradox и dBASE
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
Database	Указатель на связанный с базой данных компонент типа Tdatabase. Обеспечивает доступ к его свойствам и методам. Автоматически устанавливается при открытии базы данных, указанной свойством DatabaseName
Database Name	Имя базы данных, связанной с компонентом
DataSet Field	Указывает на объект набора данных, вложенного в основной набор данных (например, в Oracle 8)
DataSource	Указывает компонент TDataSource, относящийся к другой, головной таблице, из которой берется значение ключа, которому должны соответствовать записи данной таблицы
DBHandle	Указатель Borland Database Engine (BDE) для используемой базы данных
DBLocale	Указатель локализации Borland Database Engine (BDE) для используемой базы данных
DBSession	Компонент TSession, к которому привязан TQuery
Default Fields	Указывает, генерирует ли набор данных динамически размещенные в памяти объекты полей
Designer	Используется во время проектирования для доступа к Редактору Полей и другим аналогичным инструментам
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Eof	Указывает, находится ли курсор таблицы на последней записи
ExpIndex	Указывает, использует ли набор данных выражение индекса dBASE
FieldCount	Число объектов полей в списке Fields
FieldDef List	Список определений полей набора данных. Только для чтения
FieldDefs	Список определений полей набора данных
FieldList	Список имен всех полей набора данных
Fields	Массив объектов полей набора данных
FieldValues	Обеспечивает доступ по имени ко всем полям набора данных
Filter	Задает в виде строки условий текущий фильтр набора данных. Действует только при свойстве Filtered = true
Filtered	Разрешает фильтрацию, указанную в свойстве Filter или в обработчике события OnFilterRecord
Filter Options	Множество опций фильтрации: foCaseInsensitive - чувствительность к регистру, foNoPartialCompare - в фильтре разрешается вводить символ ‘*’ как указание на любое количество любых символов
Found	Указывает, совершилось ли успешно перемещение на соответствующую запись методами FindFirst, FindLast, FindNext, FindPrior
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
KeySize	Указывает размер в байтах ключа индекса набора данных
Local	Определяет, относится ли запрос к локальным таблицам Paradox и dBASE, или к таблицам SQL и удаленного сервера. Устанавливается автоматически при вызове Prepare
Locale	Идентификатор локализации Borland Database Engine (BDE) набора данных
Modified	Показывает, изменена ли текущая запись
Name	Имя компонента, по которому на него ссылаются другие компоненты
ObjectView	Указывает, хранятся ли объекты полей в свойстве Fields иерархически, или последовательно (дочерние поля размещены после родительских)
Owner	Определяет владельца данного компонента
ParamCheck	Определяет, должно ли свойство Params автоматически обновляться при изменении запроса в свойстве SQL во время выполнения
ParamCount	Число параметров в свойстве Params
Params	Массив параметров запроса, содержащегося в SQL
Prepared	Определяет, подготовлен ли запрос к выполнению. Установка в true вызывает метод Prepare, установка в false - Unprepare. Но лучше вызывать Prepare и Unprepare непосредственно
RecNo	Номер записи в наборе данных. Может использоваться вместе с RecordCount в циклах по всем записям методами First, Last, MoveBy, Prior
RecordCount	Общее число записей в наборе данных
RecordSize	Указывает размер текущей записи в байтах
RequestLive	Позволяет попытаться возвращать результат запроса как "живой" набор данных, вместо таблицы только для чтения
Rows Affected	Возвращает число обновленных или удаленных записей в результате последнего запроса. Возвращает -1, если запрос не удалось выполнить
SessionName	Имя компонента TSession, связанного с набором данных
Sparse Arrays	Определяет, создаются ли уникальные объекты для всех элементов массива полей
SQL	Основное свойство компонента, содержащее запрос SQL
SQLBinary	Используется внутри класса для указания на двоичный поток запроса SQL или результата запроса
State	Указывает текущее состояние набора данных
StmtHandle	Идентификатор прямого запроса к Borland Database Engine (BDE)
Tag	Свойство, используемое пользователем по своему усмотрению
Text	Текст запроса SQL, передаваемый в Borland Database Engine (BDE)
Uni Directional	Определяет доступность двунаправленного курсора Borland Database Engine (BDE)
UpdateMode	Определяет критерии поиска обновляемой записи базы данных SQL в Borland Database Engine (BDE)
Update Object	Объект типа TUpdateObject, используемый для обновления записи
Update RecordTypes	Определяет, какие записи видны при кэшировании
Updates Pending	Определяет состояние буфера КЭШа
VCLCom Object	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TQuery

Полный список    TQuery

Метод	Описание
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyUpdates	Записывает кэшированные изменения в базу данных
Cancel	Отменяет результаты редактирования
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
Close	Закрывает набор данных
CloseDatabase	Закрывает соединение с базой данных
CommitUpdates	Очищает буфер кэшированных изменений
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Edit	Перевод набора данных в режим редактирования
ExecSQL	Выполняет запрос, не связанный с SELECT (запросы INSERT, UPDATE, DELETE, CREATE TABLE). Для запроса SELECT используется метод Open
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindField	Находит поле по его имени. При неверном имени возвращает nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
GetFieldNames	Выдает список имен всех полей набора данных
Insert	Вставляет новую пустую запись в набор данных
InsertRecord	Вставляет новую заполненную запись в набор данных
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MoveBy	Перемещает курсор на заданное число записей
Next	Перемещает курсор к следующей записи
Open	Открывает соединение с базой данных и выполняет запрос SELECT, содержащийся в свойстве SQL. Для запросов иных типов используется метод ExecSQL
OpenDatabase	Открывает базу данных
ParamByName	Возвращает объект параметра запроса с указанным именем
Post	Пересылает отредактированную запись в базу данных
Prepare	Подготавливает BDE и удаленный сервер к выполнению запроса. Подготовка ускоряет последующую обработку запроса
Prior	Перемещает курсор к предыдущей записи
RevertRecord	Отменяет исправления текущей записи
UnPrepare	Освобождает ресурсы, выделенные ранее при выполнении Prepare для подготовки к выполнению запроса


Все методы TQuery

Основные методы   TQuery

Метод	Описание
ActiveBuffer	Указывает на буфер текущей записи. Для внутреннего использования
After Construction	Вызывается автоматически после создания объекта
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyUpdates	Записывает кэшированные изменения в базу данных
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
CheckBrowseMode	Автоматически пересылает отредактированную активную запись в базу данных или отменяет результат редактирования при переходе к другой записи. Для внутреннего использования
CheckOpen	Проверяет, отсутствует ли ошибка при попытке доступа к данным
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
CloseDatabase	Закрывает соединение с базой данных
CommitUpdates	Очищает буфер кэшированных изменений
CompareBookmarks	Сравнивает две закладки Bookmark набора данных
Constraint CallBack	Определяет функцию, которая позволяет набору данных непосредственно связываться с API BDE
Constraints Disabled	Показывает, блокированы, или нет ограничения сервера
ControlsDisabled	Проверяет наличие блокировки методом DisableControls компонентов, отображающих данные
Create	Создает и инициализирует экземпляр TQuery
CreateBlobStream	Создает поток для чтения и записи данных поля BLOB
CursorPosChanged	Автоматически вызывается методами Locate и Lookup при изменении позиции курсора
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
DestroyComponents	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Disable Constraints	Блокирует ограничения сервера
DisableControls	Блокирует вывод данных в компоненты, связанные с данными
Dispatch	Вызывает обработчик сообщения, полученного объектом
Edit	Перевод набора данных в режим редактирования
EnableConstraints	Снимает блокировку ограничений сервера, введенную ранее методом DisableConstraints
EnableControls	Снимает блокировку отображения данных, введенную ранее методом DisableControls
ExecSQL	Выполняет запрос, не связанный с SELECT (запросы INSERT, UPDATE, DELETE, CREATE TABLE). Для запроса SELECT используется метод Open
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FetchAll	Считывает с сервера и сохраняет локально все записи, начиная с текущей
FieldAddress	Возвращает указатель на опубликованное поле объекта
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindComponent	Ищет в списке Components компонент с заданным именем
FindField	Находит поле по его имени. При неверном имени возвращает nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FlushBuffers	Пересылает в базу данных все изменения, сохраненные в буфере
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeBookmark	Уничтожает закладку набора данных
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeNotification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetBlobFieldData	Читает значение поля BLOB в буфер и возвращает размер буфера
GetBookmark	Создает и возвращает новую закладку набора данных
GetCurrentRecord	Заносит текущую запись в буфер
GetDetailDataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetail LinkFields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldData	Заносит данные указанного поля в буфер. Обычно не вызывается явным образом. Используется объектами TField в методе GetData
GetFieldList	Создает список копий объектов указанных полей. Используется в редких случаях, когда надо работать не с самими полями, а с их копиями
GetFieldNames	Выдает список имен всех полей набора данных
GetIndexInfo	Читает информацию BDE о текущем индексе. Обычно явным образом не вызывается
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterfaceEntry	Возвращает вход интерфейса, указанного идентификатором
GetInterfaceTable	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GotoBookmark	Осуществляет переход на указанную закладку набора данных
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert	Вставляет новую пустую запись в набор данных
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertRecord	Вставляет новую заполненную запись в набор данных
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
IsLinkedTo	Проверяет, черпает ли указанный источник данных TDataSource информацию из этого набора данных
IsSequenced	Определяет, можно ли в наборе данных использовать номер записи RecNo для навигации по набору данных
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MoveBy	Перемещает курсор на заданное число записей
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Next	Перемещает курсор к следующей записи
Open	Открывает соединение с базой данных и выполняет запрос SELECT, содержащийся в свойстве SQL. Для запросов иных типов используется метод ExecSQL
OpenDatabase	Открывает базу данных
ParamByName	Возвращает объект параметра запроса с указанным именем
Post	Пересылает отредактированную запись в базу данных
Prepare	Подготавливает BDE и удаленный сервер к выполнению запроса. Подготовка ускоряет последующую обработку запроса
Prior	Перемещает курсор к предыдущей записи
Refresh	Обеспечивает обновление отображаемых данных
RemoveComponent	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Resync	Используется для синхронизации записей другими методами, изменяющими положение курсора. В приложении непосредственно не вызывается
RevertRecord	Отменяет исправления текущей записи
SafeCallException	Обрабатывает исключения OLE и Com
SetFields	Устанавливает значения всех полей записи
Translate	Взаимно преобразует строку символов ANSI (используются в Delphi и Windows) и строку символов OEM (используются в BDE)
UnPrepare	Освобождает ресурсы, выделенные ранее при выполнении Prepare для подготовки к выполнению запроса
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateCursorPos	Позиционирует курсор на текущей записи. Явным образом в приложениях не вызывается
UpdateRecord	Обеспечивает правильное отображение данных. Явным образом в приложениях не вызывается
UpdateStatus	Определяет состояние обновления текущей записи


События TQuery и TStoredProc

TQuery

Событие	Описание
AfterCancel	Наступает после выполнения метода Cancel,
AfterClose	Наступает после закрытия набора данных
AfterDelete	Наступает после удаления записи методом Delete
AfterEdit	Наступает сразу после перехода набора данных в режим редактирования
AfterInsert	Наступает сразу после вставки записи в набор данных
AfterOpen	Наступает сразу после открытия набора данных
AfterPost	Наступает сразу после пересылки измененной записи в базу данных или буфер кэширования
AfterScroll	Наступает сразу после перемещения на новую запись
BeforeCancel	Наступает в начале выполнения метода Cancel,
BeforeClose	Наступает перед закрытием набора данных
BeforeDelete	Наступает перед удалением записи методом Delete
BeforeEdit	Наступает перед началом перехода набора данных в режим редактирования
BeforeInsert	Наступает перед переходом набора данных в режим вставки записи
BeforeOpen	Наступает перед открытием набора данных
BeforePost	Наступает перед пересылкой методом Post изменений в текущей записи в базу данных или буфер кэширования
BeforeScroll	Наступает перед перемещением на новую запись
OnCalcFields	Наступает, когда требуется пересчет вычисляемых полей
OnDeleteError	Наступает, если в процессе удаления записи генерируется исключение
OnEditError	Наступает при генерации исключения в процессе редактирования или вставки записи
OnFilterRecord	Наступает каждый раз при перемещении на другую запись, если разрешена фильтрация
OnNewRecord	Наступает при вставке в набор данных новой записи
OnPostError	Наступает при генерации исключения в процессе пересылки в базу данных измененной записи
OnUpdateError	Наступает при генерации исключения в процессе пересылки в базу данных измененной записи
OnUpdateRecord	Наступает при пересылке кэшированной записи в базу данных


TStoredProc - компонент

Иерархия   Свойства   Методы   События

Используется для вызова выполняемых хранимых на сервере процедур

Модуль  Dbtables

Описание

Компонент TStoredProc позволяет передавать информацию в хранимые процедуры и воспринимать возвращаемую информацию с помощью параметров. Его основные свойства DatabaseName - псевдоним базы данных, с которой вы хотите работать, и StoredProcName - имя хранимой процедуры.

Входные параметры процедуры заносятся в процессе выполнения в свойство Params. Вызов процедуры осуществляется методом ExecProc. Возвращаемые процедурой значения ее выходных параметров могут быть взяты из свойства Params. Они располагаются там после входных параметров. При задании значений входных параметров и получении результатов доступ у параметрам может быть обеспечен методом ParamByName или по индексу.


Основные свойства TStoredProc

Полный список    TStoredProc

Свойство
Database	Указатель на связанный с базой данных компонент типа Tdatabase. Обеспечивает доступ к его свойствам и методам. Автоматически устанавливается при открытии базы данных, указанной свойством DatabaseName
DatabaseName	Имя базы данных, связанной с компонентом
Overload	Указывает, какая хранимая на сервере Oracle процедура должна выполняться
ParamBind Mode	Определяет, как соотносятся последовательности парметров в свойстве Params и в процедуре на сервере
ParamCount	Число параметров в свойстве Params
Params	Массив параметров запроса, содержащегося в SQL
Prepared	Определяет, подготовлен ли запрос к выполнению. Установка в true вызывает метод Prepare, установка в false - Unprepare. Но лучше вызывать Prepare и Unprepare непосредственно
StmtHandle	Дескриптор прямого запроса к BDE
StoredProc Name	Имя хранимой процедуры


Все свойства компонента TStoredProc
Все свойства TStoredProc

Основные свойства   TStoredProc

Свойство	Описание
Active	Определяет, открыта база данных, или нет
AggFields	Массив полей совокупных характеристик (агрегатов)
AutoCalc Fields	Управляет генерацией события OnCalcFields. Если AutoCalcFields = true, событие OnCalcFields генерируется при открытии базы данных, при перемещениях по базе данных и изменении записей. Установка AutoCalcFields в false сокращает число событий OnCalcFields
BlockRead Size	Определяет число записей, помещаемых при чтении в буфер. Задание BlockReadSize > 0 переводит состояние набора данных State в dsBlockRead и ускоряет работу
Bof	Указывает, находится ли курсор таблицы на первой записи
Bookmark	Строка текущей закладки в наборе данных. Использование закладок позволяет приложению быстро вернуться к какой-то записи. Приложение может прочитать закладку текущей записи, а в дальнейшем быстро перейти к той же записи, присвоив запомненную закладку свойству Bookmark
CacheBlobs	Определяет, должны ли поля BLOB кэшироваться в памяти. Кэширование изображений отображаемых полей повышает производительность приложения
Cached Updates	Установка в true позволяет кэшировать изменения записей (хранить их временно в памяти) и применять методы ApplyUpdates для записи изменений в базу данных, CancelUpdates для отмены изменений и CommitUpdates для очистки буфера КЭШа
CanModify	Определяет, разрешается ли запись в набор данных
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Database	Указатель на связанный с базой данных компонент типа Tdatabase. Обеспечивает доступ к его свойствам и методам. Автоматически устанавливается при открытии базы данных, указанной свойством DatabaseName
DatabaseName	Имя базы данных, связанной с компонентом
DataSetField	Указывает на объект набора данных, вложенного в основной набор данных (например, в Oracle 8)
DataSource	Указывает компонент TDataSource, относящийся к другой, головной таблице, из которой берется значение ключа, которому должны соответствовать записи данной таблицы
DBHandle	Указатель Borland Database Engine (BDE) для используемой базы данных
DBLocale	Указатель локализации Borland Database Engine (BDE) для используемой базы данных
DBSession	Компонент Tsession,
Default Fields	Указывает, генерирует ли набор данных динамически размещенные в памяти объекты полей
Designer	Используется во время проектирования для доступа к Редактору Полей и другим аналогичным инструментам
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Eof	Указывает, находится ли курсор таблицы на последней записи
ExpIndex	Указывает, использует ли набор данных выражение индекса dBASE
FieldCount	Число объектов полей в списке Fields
FieldDefList	Список определений полей набора данных. Только для чтения
FieldDefs	Список определений полей набора данных
FieldList	Список имен всех полей набора данных
Fields	Массив объектов полей набора данных
FieldValues	Обеспечивает доступ по имени ко всем полям набора данных. Ссылку на FieldValues можно пропускать. Например, Persons.FieldValues['Fam']:=Edit1.Text; и Persons.['Fam']:=Edit1.Text; эквивалентны.
Filter	Задает в виде строки условий текущий фильтр набора данных. Действует только при свойстве Filtered = true
Filtered	Разрешает фильтрацию, указанную в свойстве Filter или в обработчике события OnFilterRecord
Filter Options	Множество опций фильтрации: foCaseInsensitive - чувствительность к регистру, foNoPartialCompare - в фильтре разрешается вводить символ ‘*’ как указание на любое количество любых символов
Found	Указывает, совершилось ли успешно перемещение на соответствующую запись методами FindFirst, FindLast, FindNext, FindPrior
Handle	Обеспечивает доступ к дескриптору окна
KeySize	Указывает размер в байтах ключа индекса набора данных
Locale	Идентификатор локализации Borland Database Engine (BDE) набора данных
Modified	Показывает, изменена ли текущая запись
Name	Имя компонента, по которому на него ссылаются другие компоненты
ObjectView	Указывает, хранятся ли объекты полей в свойстве Fields иерархически, или последовательно (дочерние поля размещены после родительских)
Overload	Указывает, какая хранимая на сервере Oracle процедура должна выполняться
Owner	Определяет владельца данного компонента
ParamBind Mode	Определяет, как соотносятся последовательности параметров в свойстве Params и в процедуре на сервере
ParamCount	Число параметров в свойстве Params
Params	Массив параметров запроса, содержащегося в SQL
Prepared	Определяет, подготовлен ли запрос к выполнению. Установка в true вызывает метод Prepare, установка в false - Unprepare. Но лучше вызывать Prepare и Unprepare непосредственно
RecNo	Номер записи в наборе данных. Может использоваться вместе с RecordCount в циклах по всем записям методами First, Last, MoveBy, Prior
RecordCount	Общее число записей в наборе данных
RecordSize	Указывает размер текущей записи в байтах
SessionName	Имя компонента TSession, связанного с набором данных
SparseArrays	Определяет, создаются ли уникальные объекты для всех элементов массива полей
State	Указывает текущее состояние набора данных
StmtHandle	Идентификатор прямого запроса к Borland Database Engine (BDE)
StoredProc Name	Имя хранимой процедуры
Tag	Свойство, используемое пользователем по своему усмотрению
UpdateObject	Объект типа TUpdateObject, используемый для обновления записи
UpdateRecord Types	Определяет, какие записи видны при кэшировании
Updates Pending	Определяет состояние буфера КЭШа
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TStoredProc

Полный список    TStoredProc

Метод	Описание
ExecProc	Выполняет хранимую процедуру
ParamByName	Возвращает параметр с заданным именем
Prepare	Подготавливает BDE и удаленный сервер к выполнению процедуры. Подготовка ускоряет последующую обработку запроса
UnPrepare	Освобождает ресурсы, выделенные ранее при выполнении Prepare для подготовки к выполнению процедуры


Все методы TStoredProc

Основные методы   TStoredProc

Метод	Описание
ActiveBuffer	Указывает на буфер текущей записи. Для внутреннего использования
After Construction	Вызывается автоматически после создания объекта
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyUpdates	Записывает кэшированные изменения в базу данных
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
CheckBrowse Mode	Автоматически пересылает отредактированную активную запись в базу данных или отменяет результат редактирования при переходе к другой записе. Для внутреннего использования
CheckOpen	Проверяет, отсутствует ли ошибка при попытке доступа к данным
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
Close Database	Закрывает соединение с базой данных
Commit Updates	Очищает буфер кэшированных изменений
Compare Bookmarks	Сравнивает две закладки Bookmark набора данных
Constraint CallBack	Определяет функцию, которая позволяет набору данных непосредственно связываться с API BDE
Constraints Disabled	Показывает, блокированы, или нет ограничения сервера
Controls Disabled	Проверяет наличие блокировки методом DisableControls компонентов, отображающих данные
CopyParams	Копирует параметры хранимой процедуры в другой список параметров
Create	Создает и инициализирует экземпляр TStoredProc
CreateBlob Stream	Создает поток для чтения и записи данных поля BLOB
CursorPos Changed	Автоматически вызывается методами Locate и Lookup при изменении позиции курсора
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Descriptions Available	Определяет, может ли сервер выдавать информацию о параметрах хранимой процедуры
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Disable Constraints	Блокирует ограничения сервера
Disable Controls	Блокирует вывод данных в компоненты, связанные с данными
Dispatch	Вызывает обработчик сообщения, полученного объектом
Edit	Перевод набора данных в режим редактирования
Enable Constraints	Снимает блокировку ограничений сервера, введенную ранее методом DisableConstraints
Enable Controls	Снимает блокировку отображения данных, введенную ранее методом DisableControls
ExecProc	Выполняет хранимую процедуру
Execute Action	Вызывает указанное действие Action, связанное с данным компонентом
FetchAll	Считывает с сервера и сохраняет локально все записи, начиная с текущей
FieldAddress	Возвращает указатель на опубликованное поле объекта
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
Find Component	Ищет в списке Components компонент с заданным именем
FindField	Находит поле по его имени. При неверном имени возвращает nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FlushBuffers	Пересылает в базу данных все изменения, сохраненные в буфере
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeBookmark	Уничтожает закладку набора данных
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free OnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetBlob FieldData	Читает значение поля BLOB в буфер и возвращает размер буфера
GetBookmark	Создает и возвращает новую закладку набора данных
GetCurrent Record	Заносит текущую запись в буфер
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetFieldData	Заносит данные указанного поля в буфер. Обычно не вызывается явным образом. Используется объектами TField в методе GetData
GetFieldList	Создает список копий объектов указанных полей. Используется в редких случаях, когда надо работать не с самими полями, а с их копиями
GetField Names	Выдает список имен всех полей набора данных
GetIndexInfo	Читает информацию BDE о текущем индексе. Обычно явным образом не вызывается
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetResults	Возвращает выходные параметры хранимых процедур Sybase или MSSQL (автоматически в этих системах выходные параметры не возвращаются)
GotoBookmark	Осуществляет переход на указанную закладку набора данных
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert	Вставляет новую пустую запись в набор данных
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertRecord	Вставляет новую заполненную запись в набор данных
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
IsLinkedTo	Проверяет, черпает ли указанный источник данных TDataSource информацию из этого набора данных
IsSequenced	Определяет, можно ли в наборе данных использовать номер записи RecNo для навигации по набору данных
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
Method Address	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MoveBy	Перемещает курсор на заданное число записей
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
OpenDatabase	Открывает базу данных
ParamByName	Возвращает объект параметра с указанным именем
Post	Пересылает отредактированную запись в базу данных
Prepare	Подготавливает BDE и удаленный сервер к выполнению процедуры. Подготовка ускоряет последующую обработку процедуры
Prior	Перемещает курсор к предыдущей записи
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Resync	Используется для синхронизации записей другими методами, изменяющими положение курсора. В приложении непосредственно не вызывается
RevertRecord	Отменяет исправления текущей записи
SafeCall Exception	Обрабатывает исключения OLE и Com
SetFields	Устанавливает значения всех полей записи
Translate	Взаимно преобразует строку символов ANSI (используются в Delphi и Windows) и строку символов OEM (используются в BDE)
UnPrepare	Освобождает ресурсы, выделенные ранее при выполнении Prepare для подготовки к выполнению процедуры
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
Update CursorPos	Позиционирует курсор на текущей записи. Явным образом в приложениях не вызывается
UpdateRecord	Обеспечивает правильное отображение данных. Явным образом в приложениях не вызывается
UpdateStatus	Определяет состояние обновления текущей записи


ParamType - свойство TStoredProc

Свойство ParamType - тип параметра, указывающий на способ его использования,  может принимать значения:

ptUnknown	Тип неизвестен или не определен. В этом случае перед выполнением процедуры необходимо установить этому параметру другой, определенный тип
ptInput	Входной параметр, передаваемый в процедуру
ptOutput	Выходной параметр, возвращаемый из процедуры
ptInputOutput	Параметр может использоваться и как входной, и как выходной
ptResult	Параметр используется как возвращаемая величина. Обычно применяется для возвращения сообщений об ошибках или о режиме завершения. Хранимая процедура может иметь только один параметр такого типа


TUpdateSQL - компонент

Иерархия   Свойства   Методы

TUpdateSQL позволяет модифицировать наборы данных, открытые в режиме только для чтения

Модуль Dbtables

Описание

Компонент TUpdateSQL позволяет модифицировать наборы данных, открытые в режиме только для чтения - readonly. Это особенно важно для наборов данных, открываемых TQuery с запросом Select, поскольку Select создает таблицу только для чтения. Компонент TQuery связывается с TUpdateSQL своим свойством UpdateObject. Основные свойства TUpdateSQL - DeleteSQL, InsertSQL и ModifySQL. Они содержат соответственно запросы, которые должны выполняться при удалении, вставке или модификации записи. Эти запросы можно записать обычным образом, вручную или программно. А можно во время разработки воспользоваться специальным редактором, который вызывается двойным щелчком на TUpdateSQL или при выделенном TUpdateSQL вызывается из всплывающего меню.


Основные свойства TUpdateSQL

Полный список    TUpdateSQL

Свойство	Описание
DataSet	Компонент набора данных типа TBDEDataSet, который связан с TUpdateSQL. Обычно устанавливается автоматически
DeleteSQL	Задает оператор SQL DELETE, выполняемый при удалении записи и содержащий условия, идентифицирующие запись
InsertSQL	Задает оператор SQL INSERT, выполняемый при вставке записи и содержащий условия, идентифицирующие запись
ModifySQL	Задает оператор SQL UPDATE, выполняемый при модификации записи и содержащий условия, идентифицирующие запись
Query	Ссылка на внутренний компонент TQuery, выполняющий тот или иной вид запроса. Только для чтения
SQL	Возвращает оператор SQL, используемый для указанного режима изменения данных


Все свойства компонента TUpdateSQL
Все свойства TUpdateSQL

Основные свойства   TUpdateSQL

Свойство	Описание
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
DataSet	Компонент набора данных типа TBDEDataSet, который связан с TUpdateSQL. Обычно устанавливается автоматически
DeleteSQL	Задает оператор SQL DELETE, выполняемый при удалении записи и содержащий условия, идентифицирующие запись
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
InsertSQL	Задает оператор SQL INSERT, выполняемый при вставке записи и содержащий условия, идентифицирующие запись
ModifySQL	Задает оператор SQL UPDATE, выполняемый при модификации записи и содержащий условия, идентифицирующие запись
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Query	Ссылка на внутренний компонент TQuery, выполняющий тот или иной вид запроса. Только для чтения
SQL	Возвращает оператор SQL, используемый для указанного режима изменения данных
Tag	Свойство, используемое пользователем по своему усмотрению
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TUpdateSQL

Полный список    TUpdateSQL

Метод	Описание
Apply	Устанавливает значения параметров запроса SQL указанного типа и выполняет запрос
ExecSQL	Выполняет запрос SQL указанного типа
SetParams	Устанавливает значения параметров запроса SQL указанного типа


Все методы TUpdateSQL

Основные методы   TUpdateSQL

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Apply	Устанавливает значения параметров запроса SQL указанного типа и выполняет запрос
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TQuery
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
ExecSQL	Выполняет запрос SQL указанного типа
Execute Action	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Find Component	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free OnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterfaceTable	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Method Address	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает исключения OLE и Com
SetParams	Устанавливает значения параметров запроса SQL указанного типа
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается


TObject

TCustomIniFile


TObject


TObject


TObject

TRegistry


Иерархия TPersistentI
TObject

TPersistent


TObject

TPersistent

TComponent

TControl


TObject

TPersistent

TComponent

TControl

TGraphicControl


TObject

TPersistent

TComponent

TControl

TGraphicControl

TCustomLabel


TObject

TPersistent

TComponent

TCommonDialog


TObject

TPersistent

TComponent

TCommondialog

TFindDialog


TObject

TPersistent

TComponent

TControl

CustomControl

TBLookupControl


TObject

TPersistent

TComponent

TControl

TWinControl


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomComboBox


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomListBox


TObject

TPersistent


Иерархия TBDEDataSet
TObject

TPersistent

TComponent

TDataSet

TBDEDataSet


Иерархия TDBDataSet
TObject

TPersistent

TComponent

TDataSet

TBDEDataSet

TDBDataSet


Иерархия TCustomPanel
TObject

TPersistent

TComponent

TControl

TWinControl

TCustomPanel


Иерархия TComponent
TObject

TPersistent

TComponent


Иерархия TDataSet
TObject

TPersistent

TComponent

TDataSet


TObject

TPersistent

TComponent

TControl

TGraphicControl

TCustomLable


TObject

TPersistent

TComponent

TControl

TWincontrol

TCustomEdit


TObject

TPersistent

TComponent

TDataSetUpdateObject


TObject

TPersistent

TComponent

TControl

TWincontrol

TCustomEdit

TCustomMemo


TObject

TPersistent

TComponent

TControl

TWincontrol

TCustomControl


TObject

TPersistent

TComponent

TControl

TWincontrol

TCustomControl

TDBLookupControl


TObject

TPersistent

TComponent

TControl

TWincontrol

TButtonControl

TCustomCheckBox


TObject

TPersistent

TComponent

TControl

TWincontrol

TCustomControl

TCustomGroupBox

TCustomRadioGroup


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomControl

TCustomGrid

TCustomDBGrid


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomTreeView


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomControl

TCustomGrid


TObject

TPersistent

TComponent

TControl

TWinControl

TButtonControl

TButton


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomControl

TCustomGrid

TDrawGrid


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomControl

TCustomGroupBox


TObject

TPersistent

TComponent

TMenu


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomListBox


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomEdit

TCustomMaskEdit


TObject

TPersistent

TComponent

TCustomApplicationEvents


TObject

TPersistent

TComponent

TControl

TWinControl

TCommonCalendar


TObject

TPersistent

TComponent

TCustomActionList


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomTabControl


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomHotKey


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomListView


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomStaticText


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomUpDown


TObject

TPersistent

TComponent

TControl

TWinControl

TButtonControl


TObject

TPersistent

TComponent

TControl

TWinControl

TScrollingWinControl


TObject

TPersistent

TComponent

TControl

TWinControl

TScrollingWinControl

TCustomFrame


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomEdit

TCustomMemo

TCustomRichEdit


TObject

TPersistent

TComponent

TCustomImageList

TDragImageList


TObject

TPersistent

TComponent

TControl

TWinControl

TToolWindow


TObject

TPersistent

TComponent

TControl

TWinControl

TCustomControl

TCustomControlBar


Иерархия TNamedItemi
TObject

TPersistent

TCollectionItem

TNamedItem


Иерархия TDefCollectioni
TObject

TPersistent

TCollection

TOwnedCollection

TDefCollection


TObject

TPersistent

TComponent

TCustomConnection


TLabel - компонент

Иерархия   Свойства   Методы   События

Метка, используемая для отображения текста

Модуль stdctrls

Описание

Компонент TLabel используется для отображения текста, который играет роль метки и не изменяется пользователем.

Текст метки задается свойством Caption. Шрифт надписи определяется свойством Font, цвет фона - свойством Color, а цвет надписи - подсвойством Color свойства Font. Размер меток TLabel определяется свойством AutoSize. Если это свойство установлено в true, то вертикальный и горизонтальный размеры компонента определяются размером надписи. Если же AutoSize равно false, то выравнивание текста внутри компонента определяется свойством Alignment, которое позволяет выравнивать текст по левому краю, правому краю или центру клиентской области метки.

Свойство WordWrap определяет допустимость переноса слов длинной надписи, превышающей длину компонента, на новую строчку. Чтобы такой перенос мог осуществляться, надо установить свойство WordWrap в true, свойство AutoSize в false (чтобы размер компонента не определялся размером надписи) и сделать высоту компонента такой, чтобы в нем могло поместиться несколько строк. Если WordWrap не установлено в true при AutoSize равном false, то длинный текст, не помещающийся в рамке метки, просто обрезается.


Основные свойства TLabel

Все свойства    TLabel

Свойство	Описание
AutoSize	Если это свойство установлено в true, то вертикальный и горизонтальный размеры компонента определяются размером надписи. Если же AutoSize равно false, то выравнивание текста внутри компонента определяется свойством Alignment
Alignment	Управляет горизонтальным выравниванием текста в пределах метки, если свойство AutoSize установлено в false
Caption	Строка текста, отображаемая меткой
Color	Определяет цвет фона метки
FocusControl	Определяет оконный компонент, получающий фокус при нажатии пользователем клавиши быстрого доступа метки
Font	Определяет атрибуты шрифта
Layout	Определяет выравнивание текста в поле метки по вертикали
ShowAccelChar	Определяет, как амперсант отображается в тексте метки
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину метки, а высота метки позволяет разместить в ней несколько строк


Layout - свойство TCustomLabel

Определение   Класс TCustomLabel

Определяет выравнивание текста в поле метки по вертикали

Описание

Свойство Layout определяет выравнивание текста в поле метки по вертикали: tlTop - вверху, tlCenter - в середине, tlBottom - внизу. Свойство Layout имеет смысл, если свойство AutoSize равно false (размер метки не устанавливается автоматически равным размеру надписи) и если размер метки по вертикали превышает высоту надписи.


Определение Layout
type TTextLayout = (tlTop, tlCenter, tlBottom);

property Layout: TTextLayout;


FocusControl - свойство TCustomLabel

Определение   Класс TCustomLabel

Определяет оконный компонент, получающий фокус при нажатии пользователем быстрых клавиш метки

Описание

Определяет оконный компонент, получающий фокус при нажатии пользователем быстрых клавиш метки. Если в свойстве метки Caption поместить перед одним из символов символ амперсант "&", то символ, перед которым поставлен амперсант, отображается в надписи метки подчеркнутым (сам амперсант вообще не отображается). Если после этого обратиться к свойству метки FocusControl, то из выпадающего списка можно выбрать элемент, на который будет переключаться фокус, если пользователь нажмет клавиши ускоренного доступа: клавишу Alt + подчеркнутый символ. Благодаря свойству FocusControl метки могут обеспечить клавишами ускоренного доступа иные элементы, например, окна редактирования, в которых такие клавиши не предусмотрены. Только для того, чтобы клавиши ускоренного доступа в метках срабатывали, необходимо установить свойство ShowAccelChar этих меток в true.


property FocusControl: TWinControl;


ShowAccelChar - свойство TCustomLabel
ShowAccelChar - свойство

Определение   Класс TCustomLabel

Определяет, как амперсант отображается в тексте метки

Описание

Если свойство ShowAccelChar установлено в true, то в надписи метки Caption можно определить быстрые клавиши метки. Если при этом в свойстве Caption поместить перед одним из символов символ амперсант "&", то символ, перед которым поставлен амперсант, отображается в надписи метки подчеркнутым (сам амперсант вообще не отображается). Тогда с помощью свойства FocusControl можно задать оконный компонент, на который будет передаваться фокус при нажатии соответствующих быстрых клавиш: Alt + подчеркнутый символ.

Если свойство ShowAccelChar установлено в false, то

символ амперсант отображается в надписи как обычный символ и использовать свойство FocusControl невозможно.


property ShowAccelChar: Boolean;


Свойства TLabel
Все свойства TLabel

Основные свойства   TLabel

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом
Align	Определяет способ выравнивания элемента внутри контейнера (родительского компонента)
Alignment	Управляет горизонтальным выравниванием текста в пределах метки, если свойство AutoSize установлено в false
Anchors	Определяет привязку сторон данного компонента к сторонам родительского при изменении размеров последнего
AutoSize	Указывает, изменяется ли автоматически размер метки, подстраиваясь под размер текста
BiDiMode	Определяет возможность двунаправленного способа управления, включая направление чтения текста, размещение вертикальной полосы прокрутки. Используется для восточных языков
BoundsRect	Определяет прямоугольник, описывающий размещение компонента, в координатах родительского контейнера
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения
Caption	Строка текста, отображаемая меткой
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения
ClientRect	Указывает размер клиентской области компонента. Доступ только для чтения
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона метки
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент
Component Index	Позиция компонента в массиве Components его владельца
Components	Указывает массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align иAnchors. По умолчанию ограничения отсутствуют
ControlCount	Количество дочерних компонентов оконного элемента. Доступ только для чтения
ControlState	Характеризует состояние компонента во время выполнения приложения
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.)
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DragCursor	Определяет изображение курсора мыши, когда компонент перетаскивается над другим компонентом, способным его принять
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении dkDrag), или Drag&Doc (при значении dkDock)
DragMode	Определяет начало процесса перетаскивания компонента: автоматическое (dmAutomatic) или программное(dmManual)методом BeginDrag
Enabled	Определяет, доступен ли компонент, реагирует ли он на события, связанные с мышью, клавиатурой и таймером
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
FocusControl	Определяет оконный компонент, получающий фокус при нажатии пользователем клавиш быстрого доступа метки
Font	Определяет атрибуты шрифта
Height	Высота компонента в пикселях
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет класс компонента в состоянии контейнера встраиваемых окон
Layout	Определяет выравнивание текста в поле метки по вертикали
Left	Координата левого края компонента в системе координат его родителя
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDiMode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, заимствует ли компонент цвет родительского компонента
ParentFont	Указывает, использует ли компонент родительский шрифт
ParentShowHint	Включает и выключает использование родительского свойства ShowHint
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowAccelChar	Определяет, как амперсант отображается в тексте метки
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения
Top	Координата верхнего края компонента в пикселях в системе координат его родителя
Transparent	Указывает, должен ли быть цвет фона изображения прозрачным, чтобы сквозь него было видно лежащее позади изображение
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном
VCLComObject	Используется в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину метки


Все методы TLabel
Методы TLabel

TLabel

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования).
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Create	Создает и инициализирует экземпляр компонента
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING при вызове функции DrawText API Windows или при задании свойства TextFlags канве
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает адрес поля объекта типа published
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует.
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
RemoveComponent	Удаляет указанный компонент из списка Components
Repaint	Немедленно перерисовывает изображение компонента на экране
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCallExeption	Обрабатывает исключения COM и OLE
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Устанавливает текст компонента, заданный в указанном буфере
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


Все события TLabel
События TLabel

TLabel

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по TMainMenu
книга [2]:

раздел 6.1 - описание компонента, его свойств и методов

раздел 6.3 - настройка горячих клавиш во время выполнения

книга [3]:

раздел 1.6 - требования к меню, методика проектирования


TMainMenu - компонент

Иерархия   Свойства   Методы   События   литература

Позволяет конструировать и создавать на форме полосу главного меню, а также сопутствующие выпадающие меню

Модуль menus

Описание

Компонент TMainMenu отображает на форме главное меню. Проектирование меню производится с помощью конструктора меню, вызываемого двойным щелчком на этом компоненте. Команды контекстного меню конструктора Create Submenu позволяет ввести подменю в выделенный раздел.

Свойства и методы TMainMenu обеспечивают объединение меню главной и вспомогательной форм и связь с меню OLE контейнера.

Свойство Items содержит массив разделов меню типа TMenuItem, обладающих своими свойствами, методами, событиями. Свойство Caption обозначает надпись раздела, свойство Name - имя объекта раздела, свойство ShortCut определяет клавиши быстрого доступа к разделу. Свойство Default определяет, является ли данный раздел разделом по умолчанию своего подменю, т.е. разделом, выполняемым при двойном щелчке пользователя на родительском разделе. Свойство Break используется в длинных меню, чтобы разбить список разделов на несколько столбцов. Свойство Checked, установленное в true, указывает, что в разделе меню будет отображаться маркер флажка, показывающий, что данный раздел выбран. Еще одним свойством, позволяющим вводить маркеры в разделы меню, является RadioItem. Это свойство, установленное в true, определяет, что данный раздел должен работать в режиме радиокнопки совместно с другими разделами, имеющими то же значение свойства GroupIndex.

Для каждого раздела могут быть установлены во время проектирования или программно во время выполнения свойства Enabled (доступен) и Visible (видимый).

Начиная с Delphi 4 предусмотрена возможность ввода в разделы меню изображений. За это ответственны свойства разделов Bitmap и ImageIndex. Первое из них позволяет непосредственно ввести изображение в раздел, выбрав его из указанного файла. Второе позволяет указать индекс изображения, хранящегося во внешнем компоненте TImageList. Указание на этот компонент вы можете задать в свойстве Images компонента TMainMenu.

Основное событие раздела меню - OnClick, возникающее при щелчке пользователя на разделе или при нажатии "горячих" клавиш и клавиш быстрого доступа.


Основные свойства TMainMenu

Полный список    TMainMenu

Свойство	Описание
AutoHotKeys	Определяет, могут ли "горячие" клавиши элементов меню устанавливаться автоматически
AutoLine Reduction	Указывает, проверяет ли и исправляет ли Delphi появление в начале или конце подменю разделителей или двух разделителей подряд
AutoMerge	Определяет, объединятся ли главные меню вспомогательных форм с главным меню основной формы
Images	Определяет список изображений, которые могут отображаться в разделах меню слева от надписи. Изображения конкретных разделов указываются свойством ImageIndex (индексом массива Images) разделов меню Items типа TMenuItem
Items	Список элементов (разделов) меню типа TMenuItem


TMainMenu - компонент
Все свойства TMainMenu

Основные свойства   TMainMenu

Свойство	Описание
AutoHotKeys	Определяет, могут ли "горячие" клавиши элементов меню устанавливаться автоматически
AutoLine Reduction	Указывает, проверяет ли и исправляет ли Delphi появление в начале или конце подменю разделителей или двух разделителей подряд
AutoMerge	Определяет, соединяется ли главное меню вторичной формы с меню главной формы.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Указывает массив компонентов Components, которыми владеет данный компонент.
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
Handle	Дескриптор, обеспечивающий доступ к меню при вызовах функций API Windows.
Images	Список изображений, которые могут отображаться в разделах меню слева от надписи. Изображения конкретных разделов указываются свойством ImageIndex (индексом массива Images) разделов меню Items типа TMenuItem.
Items	Список элементов (разделов) меню типа TMenuItem
Name	Имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
OwnerDraw	Определяет, рисуются ли пункты меню приложением.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
Tag	Свойство, используемое пользователем по своему усмотрению.
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
WindowHandle	Обеспечивает доступ к дескриптору окна, которое использует меню.


Основные методы TMainMenu

Полный список    TMainMenu

Метод	Описание
FindItem	Ищет и возвращает раздел меню, индентифицируемый значением Value, которое равно: при Kind = fkCommand - идентификатору ID, используемому в сообщении Windows WM_COMMAND; при Kind = fkHandle - дескриптору всплывающего меню; при Kind = fkShortCut - коду "горячих" клавиш
IsShortCut	Распознает "горячие" клавиши, связанные с разделом меню, и выполняет этот раздел меню
Merge	Объединяет данное меню с указанным меню вспомогательной формы
Unmerge	Уничтожает объединение указанного меню вспомогательной формы с данным меню


Все методы TMainMenu

Основные методы   TMainMenu

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstanсe	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TMainMenu.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызывает деструктор объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
DispatchCommand	Имитирует щелчок на разделе меню с указанным значением идентификатора Command ID Windows
DispatchPopup	Имитирует щелчок на разделе меню, связанном с дескриптором всплывающего меню
FieldAdress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
FindItem	Ищет и возвращает раздел меню, индентифицируемый значением Value, которое равно: при Kind = fkCommand - идентификатору ID, используемому в сообщении Windows WM_COMMAND; при Kind = fkHandle - дескриптору всплывающего меню; при Kind = fkShortCut - коду "горячих" клавиш
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM
GetHelpContext	Возвращает идентификатор ID WinHelp контекстно-зависимой справки, связанной с данным разделом меню
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetOle2 Accelerator Table	Возвращает таблицу ускорений меню
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsShortCut	Распознает "горячие" клавиши, связанные с разделом меню, и выполняет этот раздел меню
Merge	Объединяет данное меню с указанным меню вспомогательной формы
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PopulateOle2 Menu	Объединяет OLE меню с разделами данного меню
ProcessMenuChar	Обрабатывает сообщение клавиатуры, определяя клавиши быстрого доступа к разделу меню
RemoveComponent	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает исключения COM и OLE
SetOle2 MenuHandle	Связывает дескриптор OLE меню с данным меню
Unmerge	Уничтожает объединение указанного меню вспомогательной формы с данным меню


События TMainMenu

TMainMenu

Событие	Описание
OnChange	Наступает при изменении меню
При работе с меню основные события связаны не с самим объектом меню, а с объектами его разделов типа TMenuItem.


Литература по TPopupMenu
книга [2]:

раздел 6.2 - описание компонента, его свойств и методов

раздел 6.3 - настройка горячих клавиш во время выполнения

книга [3]:

раздел 1.6 - требования к меню, методика проектирования


TPopUpMenu - компонент

Иерархия   Свойства Методы   События   литература

Позволяет создавать всплывающие контекстные меню, возникающие при нажатии пользователем правой кнопки мыши

Модуль menus

Описание

Компонент TPopupMenu определяет всплывающее контекстное меню, появляющееся на экране при щелчке пользователя правой кнопкой мыши в поле компонента, который связан с данным меню своим свойством PopupMenu.

Проектирование меню производится с помощью конструктора меню, вызываемого двойным щелчком на этом компоненте. Команды контекстного меню конструктора Create Submenu позволяет ввести подменю в выделенный раздел.

Свойство Items содержит массив разделов меню типа TMenuItem, обладающих своими свойствами, методами, событиями. Свойство Caption обозначает надпись раздела, свойство Name - имя объекта раздела, свойство ShortCut определяет клавиши быстрого доступа к разделу. Свойство Default определяет, является ли данный раздел разделом по умолчанию своего подменю, т.е. разделом, выполняемым при двойном щелчке пользователя на родительском разделе. Свойство Break используется в длинных меню, чтобы разбить список разделов на несколько столбцов. Свойство Checked, установленное в true, указывает, что в разделе меню будет отображаться маркер флажка, показывающий, что данный раздел выбран. Еще одним свойством, позволяющим вводить маркеры в разделы меню, является RadioItem. Это свойство, установленное в true, определяет, что данный раздел должен работать в режиме радиокнопки совместно с другими разделами, имеющими то же значение свойства GroupIndex.

Для каждого раздела могут быть установлены во время проектирования или программно во время выполнения свойства Enabled (доступен) и Visible (видимый).

Начиная с Delphi 4 предусмотрена возможность ввода в разделы меню изображений. За это ответственны свойства разделов Bitmap и ImageIndex. Первое из них позволяет непосредственно ввести изображение в раздел, выбрав его из указанного файла. Второе позволяет указать индекс изображения, хранящегося во внешнем компоненте TImageList. Указание на этот компонент вы можете задать в свойстве Images компонента TPopupMenu.

Основное событие раздела меню - OnClick, возникающее при щелчке пользователя на разделе или при нажатии "горячих" клавиш и клавиш быстрого доступа.


Основные свойства TPopupMenu

Полный список    TPopupMenu

Свойство	Описание
Alignment	Определяет, какая точка меню появится под курсором мыши: paLeft - левый верхний угол, paRight - правый верхний угол, paCenter - центр. Значение по умолчанию - paLeft.
AutoHotKeys	Определяет, могут ли "горячие" клавиши элементов меню устанавливаться автоматически
AutoLine Reduction	Указывает, проверяет ли и исправляет ли Delphi появление в начале или конце подменю разделителей или двух разделителей подряд
AutoPopup	Определяет автоматическое появление меню при щелчке правой кнопки мыши или определенной в Windows 95/98 комбинации клавиш. Если AutoPopup равно false, то для отображения меню надо использовать метод Popup
HelpContext	Определяет идентификатор контекстной справки, связанной со всем меню в целом. Для задания контекстной справки отдельным разделам меню надо использовать свойство HelpContext объектов разделов TMenuItem
Images	Список изображений, которые могут отображаться в разделах меню слева от надписи. Изображения конкретных разделов указываются свойством ImageIndex (индексом массива Images) разделов меню Items типа TMenuItem
Items	Список элементов (разделов) меню типа TMenuItem
Menu Animation	Определяет способ появления меню на экране (только начиная с Windows 98 и NT 5.0): постепенное появление слева направо (maLeftToRight), справа налево (maRightToLeft), сверху вниз (maTopToBottom), снизу вверх (maBottomToTop) или мгновенное появление (maNone)
Popup Component	Определяет компонент, который последним вызвал данное меню. Используется в меню, с которым связано несколько компонентов, чтобы определить, из какого именно компонента поступил вызов
PopupPoint	Защищённое свойство. Указывает место появления всплывающего меню. Значение свойства устанавливается методом Popup
TrackButton	Указывает, какая кнопка мыши активизирует всплывающее меню, если оно связано с кнопкой панели инструментов


TPopupMenu - компонент
Все свойства TPopupMenu

Основные свойства   TPopupMenu

Свойство	Описание
Alignment	Определяет, где под курсором мыши появится всплывающее меню при нажатии правой кнопки мыши: paLeft - слева, paRight - справа, paCenter -в центре. Значение по умолчанию - paLeft
AutoHotKeys	Определяет, могут ли "горячие" клавиши элементов меню устанавливаться автоматически
AutoLine Reduction	Указывает, проверяет ли и исправляет ли Delphi появление в начале или конце подменю разделителей или двух разделителей подряд
AutoPopup	Определяет, появляется ли автоматически всплывающее меню, когда пользователь щелкает правой кнопкой мыши
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов Components, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения
HelpContext	Определяет номер, используемый в контекстно-зависимой справке
Images	Определяет список изображений, которые могут отображаться в разделах меню слева от надписи. Изображения конкретных разделов указываются свойством ImageIndex (индексом массива Images) разделов меню Items типа TMenuItem
Items	Список элементов (разделов) меню типа TMenuItem
Menu Animation	Определяет способ появления меню на экране (только начиная с Windows 98 и NT 5.0): постепенное появление слева направо (maLeftToRight), справа налево (maRightToLeft), сверху вниз (maTopToBottom), снизу вверх (maBottomToTop) или мгновенное появление (maNone)
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
OwnerDraw	Определяет, рисуются ли пункты меню приложением
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
Popup Component	Определяет компонент, который последним вызвал данное меню. Используется в меню, с которым связано несколько компонентов, чтобы определить, из какого именно компонента поступил вызов
PopupPoint	Защищённое свойство. Указывает место появления всплывающего меню. Значение свойства устанавливается методом Popup
Tag	Свойство, используемое пользователем по своему усмотрению
TrackButton	Указывает, какая кнопка мыши активизирует всплывающее меню, если оно связано с кнопкой панели инструментов
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
WindowHandle	Обеспечивает доступ к дескриптору окна, которое использует меню


Основные методы TPopupMenu

Полный список    TPopupMenu

Метод	Описание
DoPopup	Генерирует событие OnPopup
FindItem	Ищет и возвращает раздел меню, индентифицируемый значением Value, которое равно: при Kind = fkCommand - идентификатору ID, используемому в сообщении Windows WM_COMMAND; при Kind = fkHandle - дескриптору всплывающего меню; при Kind = fkShortCut - коду "горячих" клавиш
Popup	Отображает всплывающее меню в указанной позиции экрана


Все методы TPopupMenu

Основные методы   TPopupMenu

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр TPopupMenu.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
DispatchCommand	Имитирует щелчок на разделе меню с указанным значением идентификатора Command ID Windows
DispatchPopup	Имитирует щелчок на разделе меню, связанном с дескриптором всплывающего меню
DoPopup	Генерирует событие OnPopup
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
FindItem	Ищет и возвращает раздел меню, индентифицируемый значением Value, которое равно: при Kind = fkCommand - идентификатору ID, используемому в сообщении Windows WM_COMMAND; при Kind = fkHandle - дескриптору всплывающего меню; при Kind = fkShortCut - коду "горячих" клавиш
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetHelpContext	Возвращает идентификатор ID WinHelp контекстно-зависимой справки, связанной с данным разделом меню
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
IsShortCut	Распознает "горячие" клавиши, связанные с разделом меню, и выполняет этот раздел меню
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Popup	Отображает всплывающее меню в указанной позиции экрана
ProcessMenuChar	Обрабатывает сообщение клавиатуры, определяя клавиши быстрого доступа к разделу меню
RemoveComponent	Удаляет указанный компонент из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает исключения COM и OLE
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft


События TPopupMenu

TPopupMenu

Событие	Описание
OnChange	Наступает при изменении меню
OnPopup	Событие происходит непосредственно перед появлением всплывающего меню
При работе с меню основные события связаны не с самим объектом меню, а с объектами его разделов типа TMenuItem.


TEdit - компонент

Иерархия   Свойства   Методы   События

Окно редактирования для ввода пользователем однострочных текстов. Может использоваться для отображения текста

Модуль stdctrls

Описание

В компоненте TEdit вводимый и выводимый текст содержится в свойстве Text. Это свойство можно устанавливать в процессе проектирования или задавать программно. Выравнивание текста невозможно. Перенос строк тоже невозможен. Текст, не помещающийся по длине в окно, просто сдвигается и пользователь может перемещаться по нему с помощью курсора. Свойство AutoSize позволяет автоматически подстраивать высоту (но не ширину) окна под размер текста.

Окно редактирования снабжено многими функциями, свойственными большинству редакторов. Например, в нем предусмотрены типичные комбинации "горячих" клавиш: Ctrl-C - копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X - вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V - вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z - отмена последней команды редактирования.

Свойство AutoSelect определяет, будет ли автоматически выделяться весь текст при передаче фокуса в окно редактирования. Его имеет смысл задавать равным true в случаях, когда при переключении в данное окно пользователь будет скорее заменять текущий текст, чем исправлять его. Имеются также свойства только времени выполнения SelLength, SelStart, SelText, определяющие соответственно длину выделенного текста, позицию перед первым символом выделенного текста и сам выделенный текст. Если выделенного текста нет, то свойство SelStart просто определяет текущее положение курсора.

Свойство MaxLength определяет максимальную длину вводимого текста. Если MaxLength = 0, то длина текста не ограничена. В противном случае значение MaxLength указывает максимальное число символов, которое может ввести пользователь.

Свойство Modified, доступное только во время выполнения, показывает, проводилось ли редактирование текста в окне. Если вы хотите использовать это свойство, то в момент начала работы пользователя с текстом Modified надо установить в false. Тогда при последующем обращении к этому свойству можно по его значению (true или false) установить, было или не было произведено редактирование.

Свойство PasswordChar позволяет превращать окно редактирования в окно ввода пароля. По умолчанию значение PasswordChar равно #0 - нулевому символу. В этом случае это обычное окно редактирования. Но если в свойстве указать иной символ (например, символ звездочки "*"), то при вводе пользователем текста в окне будут появляться именно эти символы, а не те, которые вводит пользователь. Тем самым обеспечивается секретность ввода пароля.


Основные свойства TEdit

Полный список    TEdit

Свойство	Описание
AutoSelect	Определяет, будет ли автоматически выделяться весь текст при передаче фокуса в окно редактирования
AutoSize	Указывает, изменяется ли автоматически высота компонента, подстраиваясь под размер текста. По умолчанию false - не подстраивается
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CharCase	Указывает, приводится ли принудительно текст к верхнему или нижнему регистрам
Color	Указывает цвет фона компонента
Font	Определяет атрибуты шрифта
HideSelection	Определяет, видно ли (при значении false) выделение текста при переходе фокуса к другому компоненту
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент. При значении 0 длина текста неограничена
Modified	Указывает, редактировался ли пользователем текст в компоненте
PasswordChar	Указывает символ, замещающий фактические символы,  вводимые в компонент. При значении #0 символы не заменяются. Используется для ввода паролей
PopupMenu	Идентифицирует всплывающее меню, связанное с данным компонентом
ReadOnly	Указывает, может ли пользователь изменять тест в компоненте
SelLength	Определяет количество выделенных символов текста
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
Text	Текст в окне редактирования


TEdit - компонент
Все свойства TEdit

Основные свойства   TEdit

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoSelect	Определяет, будет ли автоматически выделяться весь текст при передаче фокуса в окно редактирования
AutoSize	Указывает, изменяется ли автоматически высота компонента, подстраиваясь под размер текста. По умолчанию false - не подстраивается
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах родительского контейнера.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CharCase	Указывает, приводится ли принудительно текст к верхнему или нижнему регистрам
ClientHeight	Указывает высоту клиентской области в пикселях.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов прямоугольника клиентской области компонента. Доступ только для чтения.
ClientWidth	Горизонтальный размер клиентской области в пикселях.
Color	Указывает цвет фона компонента
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов в массиве Components, которыми владеет данный компонент. Доступ только для чтения.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Число дочерних компонентов оконного элемента. Доступ только для чтения. Доступ только для чтения
Controls	Массив дочерних компонентов оконного элемента. Доступ только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Принимает одно из значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.)
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Font	Определяет атрибуты шрифта
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Высота компонента в пикселях
HelpContext	Идентификатор темы контекстно зависимой справки
HideSelection	Определяет, видно ли (при значении false) выделение текста при переходе фокуса к другому компоненту
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
ImeMode	Определяет режим работы входного редактора метода IME - (input method editor).IME - внешний входной процессор для Азиатских языковых символов IME   - иероглифов, преобразующий их в код, пригодный для использования в приложениях Delphi
ImeName	Указывает входной редактор метода (IME) для преобразования данных, вводимых  с клавиатуры в Азиатские языковые символы. IME - внешний входной процессор для Азиатских языковых символов. Значение ImeName определяет, какой IME используется для преобразования нажатий клавиши. IME перехватывает нажатия клавиш клавиатуры, преобразует их в Азиатские символы в конверсионном окне и посылает преобразованные символы в Delphi приложения
Left	Координата левого края компонента в пикселях
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент. При значении 0 длина текста неограничена
Modified	Указывает, редактировался ли пользователем текст в компоненте
Name	Имя компонента, по которому на него ссылаются другие компоненты
OEMConvert	Определяет, конвертируются ли введённые в компонент символы из ANSI в OEM и затем обратно в ANSI. Во избежание потерь времени на преобразование, когда оно не имеет значения, устанавливается в false
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentFont	Определяет, где компонент отыскивает информацию о своём шрифте
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PasswordChar	Указывает символ, замещающий фактические символы,  вводимые в компонент. При значении #0 символы не заменяются. Используется для ввода паролей
PopupMenu	Идентифицирует всплывающее меню, связанное с данным компонентом
ReadOnly	Указывает, может ли пользователь изменять тест в компоненте
SelLength	Определяет количество выделенных символов текста
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, отображается ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в родительском списке меток табуляции. Определяет порядок перехода в окна потомков при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению
Text	Текст в окне редактирования
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TEdit

Полный список    TEdit

Метод	Описание
Clear	Удаляет текст из окна
ClearSelection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте после этого не могут быть отменены.
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
CutToClipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
SelectAll	Выделяет весь текст в окне редактирования


Все методы TEdit

Основные методы   TEdit

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstant	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаление всех элементов списка или всего текста в объектах и компонентах определённого типа.
ClearSelection	Удаляет выделенный текст из компонента редактирования.
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте после этого не могут быть отменены.
ClientToScreen	Переводит данную точку из координат области клиента в координаты всего экрана.
ContainsControl	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в определённой позиции внутри компонента.
CopyToClipBoard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT.
Create	Создает и инициализирует экземпляр TEdit
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CutToClipboard	Копирует выделенный текст в Сlipboard в формате CF_TEXT и затем уничтожает выделенное.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает перестроение ранее выровненного компонента внутри оконного компонента.
Dispatch	Вызывает обработчик сообщения, полученного объектом
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
EnableAlign	Разрешает выравнивание дочерних компонентов внутри окна, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
FieldAdress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM
GetInterface	Извлекает интерфейс, опознаваемый данным идентификатором
GetInterface Entry	Возвращает вход для отдельного интерфейса, реализованного в классе
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов
GetHelpContext	Возвращает контекст подсказки ID, связанный с пунктом меню
GetInterface	Извлекает интерфейс, опознаваемый данным идентификатором
GetInterface Entry	Возвращает вход для отдельного интерфейса, реализованного в классе
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetSelTextBuf	Копирует выделенный текст в буфер и возвращает количество скопированных символов.
GetTabOrderList	Строит список компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HandleAllocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAdress	Возвращает адрес метода типа "public".
MethodName	Возвращает имя метода, расположенного по указанному адресу
PaintTo	Рисует компонент в заданное устройство
PastFrom Clipboard	Вставляет содержимое Clipboard в компонент редактирования, заменяя выделенный текст.
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
RemoveComponent	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScaleControls	Масштабирует дочерние компоненты оконного элемента, не изменяя масштаба самого элемента.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента.
ScrollBy	Сдвигает содержимое оконного элемента.
SelectAll	Выделяет весь текст в окне редактирования
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetSelTextBuf	Заменяет выделенный текст строкой из буфера
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
Update	Немедленно перерисовывает компонент
UpdateControlState	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)


События TEdit
Основные события TEdit

Полный список    TEdit

Событие	Описание
OnChange	Наступает, когда текст в окне может быть изменился. Свойство Modified показывает, действительно ли произошло изменение. Свойство Text отображает измененный текст
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа. В обработчике можно распознать вводимый символ и при необходимости изменить его или запретить его ввод


Все события TEdit

Основные события   TEdit

Событие	Описание
OnChange	Наступает, когда текст в окне может быть изменился. Свойство Modified показывает, действительно ли произошло изменение. Свойство Text отображает измененный текст
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса
OnExit	Событие наступает в момент потери элементом фокуса.
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа. В обработчике можно распознать вводимый символ и при необходимости изменить его или запретить его ввод
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TMemo - компонент

Иерархия   Свойства   Методы   События

Mногострочное окно редактирования TMemo используется для ввода, отображения и редактирования многострочных текстов

Модуль stdctrls

Описание

TMemo - многострочный текстовый редактор, позволяющий редактировать текст окна, в которое можно вводить в отличие от компонента TEdit не одну, а множество строк. Выполняет функции большинства редакторов, имеет "горячие" клавиши для быстрого редактирования. Формат всего текста одинаков и определяется свойством Font.

Свойство Lines, доступное как во время проектирования, так и во время выполнения, имеет множество свойств и методов типа TStrings, которые обычно используются для формирования и редактирования текста. Весь текст содержится в свойстве Text.

Окно редактирования снабжено многими функциями, свойственными большинству редакторов. Например, в нем предусмотрены типичные комбинации "горячих" клавиш: Ctrl-C - копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X - вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V - вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z - отмена последней команды редактирования.


Основные свойства TMemo

Полный список    TMemo

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Alignment	Определяет способ выравнивания текста внутри компонента - по левому краю, правому краю, центру. Значение по умолчанию - по левому краю.
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения.
CaretPos	Указывает строку и символ расположения курсора. Доступ только для чтения
Font	Определяет атрибуты шрифта.
Lines	Строки текста - объект типа TStrings
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент. При значении 0 длина текста неограничена
Modified	Указывает, редактировался ли пользователем текст в компоненте.
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ReadOnly	Указывает, может ли пользователь изменять текст в компоненте.
SelLength	Определяет количество выделенных символов текста
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
Text	Текст окна в виде одной строки
WantReturns	Указывает, можно ли вставить в текст символы возврата каретки
WantTabs	Указывает, можно ли вставить в текст символы табуляции
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину компонента


TMemo - компонент
Все свойства TMemo

Основные свойства   TMemo

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Alignment	Определяет способ выравнивания текста внутри компонента - по левому краю, правому краю, центру. Значение по умолчанию - по левому краю.
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения.
CaretPos	Указывает строку и символ расположения курсора. Доступ только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
HideSelection	Определяет, видно ли (при значении false) выделение текста при переходе фокуса к другому компоненту
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
ImeMode	Определяет режим работы входного редактора метода IME - (input method editor).IME - внешний входной процессор для Азиатских языковых символов IME  - иероглифов, преобразующий их в код, пригодный для использования в приложениях Delphi.
ImeName	Указывает входной редактор метода (IME) для преобразования данных, вводимых  с клавиатуры в Азиатские языковые символы. IME - внешний входной процессор для Азиатских языковых символов. Значение ImeName определяет, какой IME используется для преобразования нажатий клавиши. IME перехватывает нажатия клавиш клавиатуры, преобразует их в Азиатские символы в конверсионном окне и посылает преобразованные символы в Delphi приложения.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
List	Является указателем на массив указателей в объекте класса TList.
Lines	Строки текста - объект типа TStrings
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент. При значении 0 длина текста неограничена
Modified	Указывает, редактировался ли пользователем текст в компоненте.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Notify	Определяет, должно ли генерироваться событие OnNotify.
OEMConvert	Определяет, конвертируются ли введённые в компонент символы из ANSI в OEM и затем обратно в ANSI. Во избежание потерь времени на преобразование, когда свойство не имеет значения, устанавливается в false.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Указывает, может ли пользователь изменять текст в компоненте.
ScrollBars	Определяет наличие у компонента TMemo полос прокрутки.
SelLength	Определяет количество выделенных символов текста
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Text	Текст окна в виде одной строки
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
WantRetuns	Указывает, можно ли вставить в текст символы возврата каретки
WantTabs	Указывает, можно ли вставить в текст символы табуляции
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину компонента


Основные методы TMemo

Полный список    TMemo

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Clear	Удаляет текст из окна
Clear Selection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте после этого не могут быть отменены.
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
CutTo Clipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
SelectAll	Выделяет весь текст в окне редактирования
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo


Все методы TMemo

Основные методы   TMemo

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет текст из окна
ClearSelection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте после этого не могут быть отменены.
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Copy ToClipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
Create	Создает и инициализирует экземпляр компонента
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CutToClipboard	Копирует выделенный текст в Сlipboard в формате CF_TEXT и затем уничтожает выделенное.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetSelTextBuf	Копирует выделенный текст в буфер и возвращает количество скопированных символов.
GetTabOrderList	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес метода типа "public".
MethodName	Возвращает имя метода, расположенного по указанному адресу
Move	Изменяет текущую позицию пера на заданную, ничего при этом не рисуя.
MouseCapture	Определяет, может ли компонент захватываться мышью. Свойство защищенное. Используется при создании новых компонентов.
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
PastFrom Clipboard	Вставляет содержимое Clipboard в компонент редактирования, заменяя выделенный текст.
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Временно запрещает выравнивание дочерних компонентов в окне.
Rectangle	Рисует на канве текущим пером прямоугольник и закрашивает его текущей кистью.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove	Удаляет элемент c заданным значением из списка TList
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SelectAll	Выделяет весь текст в окне редактирования
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его
SetOle2Menu Handle	Объединяет обработку ОLE меню и главного меню
SetSelTextBuf	Заменяет выделенный текст строкой из буфера
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControlState	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TMemo
Специальные события TMemo

Полный список    TMemo

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования


Все события TMemo

Специальные   TMemo

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDrag	Событие наступает в момент прерывания или окончания перетаскивания компонента.
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDrag	Событие наступает, когда пользователь начал процесс перетаскивания компонента.


TButton - компонент

Иерархия   Свойства   Методы   События

Кнопка для выполнения пользователем каких-то команд

Модуль stdctrls

Описание

Компонент TButton представляет собой стандартную кнопку Windows, инициирующую какое-то действие. Основное с точки зрения внешнего вида свойство кнопки - Caption (надпись). В надписях кнопок можно предусматривать использование клавиш ускоренного доступа, выделяя для этого один из символов надписи - ставя перед ним символ амперсанта "&". Этот символ не появляется в надписи, а следующий за ним символ оказывается подчеркнутым. Тогда пользователь может вместо щелчка на кнопке нажать в любой момент клавишу Alt совместно с клавишей выделенного символа.

Основное событие кнопки - OnClick, возникающее при щелчке на ней. В обработчике этого события записываются операторы, которые должны выполняться при щелчке пользователя на кнопке.

Свойство Cancel, если его установить в true, определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок Отменить в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc.

Свойство Default, если его установить в true, определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе. Правда, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе.

Еще одно свойство - ModalResult используется в модальных формах. В обычных формах значение этого свойства должно быть равно mrNone.

Из методов, присущих кнопкам, имеет смысл отметить один - Click. Выполнение этого метода эквивалентно щелчку на кнопке, т.е. вызывает событие кнопки OnClick. Этим можно воспользоваться, чтобы продублировать какими-то другими действиями пользователя щелчок на кнопке.


Основные свойства TButton

Полный список    TButton

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Cancel	Определяет, будет ли обрабатываться событие кнопки OnClick при нажатии клавиши Esc
Caption	Надпись на кнопке
Default	Определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе
ModalResult	Определяет значение свойства модальной формы ModalResult, задаваемое автоматически при щелчке на данной кнопке
TabOrder	Указывает позицию компонента в списке табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму
TabStop	Определяет возможность доступа пользователя к кнопке с помощью клавиши Tab


TButton - компонент
Все свойства TButton

Основные свойства   TButton

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BitMap	Задаёт внешний нестандартный шаблон матрицы побитового отображения размером 8 на 8, используемый кистью (объект типа TBrush) для заполнения.
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Cancel	Определяет, будет ли обрабатываться событие кнопки OnClick при нажатии клавиши Esc
Caption	Надпись на кнопке
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
Default	Определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Определяет текст подсказки
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Указывает ширину компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
ModalResult	Определяет значение свойства модальной формы ModalResult, задаваемое автоматически при щелчке на данной кнопке
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму
TabStop	Определяет возможность доступа пользователя к кнопке с помощью клавиши Tab
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TButton

Полный список    TButton

Метод	Описание
Click	Имитирует щелчок мышью, как если бы пользователь щёлкнул на кнопке
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
SetFocus	Передает фокус элементу, активизирует его.


Все методы TButton

Основные методы   TButton

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Click	Имитирует щелчок мышью, как если бы пользователь щёлкнул на кнопке.
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции
Create	Создает и инициализирует экземпляр компонента
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChil dControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Встраивает компонент применительно к новому месту расположения.
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheelHandler	Направляет по назначению сообщения, полученные от манипулятора мыши.
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TButton
Основные события TButton

Полный список    TButton

Событие	Описание
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя


Все события TButton

Основные события   TButton

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TCheckBox - компонент

Иерархия   Свойства   Методы   События

Индикатор с флажком, используемый для включения и выключения каких-то опций или для индикации состояния

Модуль stdctrls

Описание

Индикаторы с флажком TCheckBox используются в приложениях в основном для того, чтобы пользователь мог включать и выключать какие-то опции, или для индикации состояния. При каждом щелчке пользователя на индикаторе его состояние изменяется, проходя в общем случае последовательно через три значения: выделение (появление черной галочки), промежуточное (серое окно индикатора и серая галочка) и не выделенное (пустое окно индикатора). Этим трем состояниям соответствуют три значения свойства компонента State: cbChecked, cbGrayed, cbUnchecked. Все три состояния допускаются только при значении другого свойства AllowGrayed равном true. Если же AllowGrayed = false (значение по умолчанию), то допускается только два состояния: выделенное и не выделенное. И State, и AllowGrayed можно устанавливать во время проектирования или программно во время выполнения.

Промежуточное состояние обычно используется, если индикатор применяется для отображения какой-то характеристики объекта. Например, если индикатор призван показать, какой регистр использовался при написании некоторого фрагмента текста, то в случае, если весь текст написан в верхнем регистре, индикатор может принимать выделенное состояние, если в нижнем - не выделенное, а если использовались оба регистра - промежуточное.

Проверять состояние индикатора можно не только по значению State, но и по значению свойства Checked. Если Checked равно true, то индикатор выбран, т.е. State = cbChecked. Если Checked равно false, то State равно cbUnchecked или cbGrayed. Установка Checked в true во время проектирования или выполнения автоматически переключает State в cbChecked.

Надпись в индикаторе задается свойством Caption, а ее размещение по отношению к индикатору - свойством Alignment.

Основное событие индикатора - OnClick, наступающее при щелчке на компоненте. В обработчике этого события можно анализировать свойства Checked и State, которые уже приняли новое значение.


Основные свойства TCheckBox

Полный список    TCheckBox

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Alignment	Определяет положение надписи (слева или справа) по отношению к индикатору.
AllowGrayed	Разрешает или запрещает появление в индикаторе третьего состояния cbGrayed
Caption	Надпись индикатора
Checked	Указывает, выбран ли индикатор (содержит ли он флажок)
State	Определяет состояние индикатора: выключен (cbUnchecked), включен (cbChecked), в третьем состоянии (cbGrayed)
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.


TCheckBox - компонент
Все свойства TCheckBox

Основные свойства   TCheckBox

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Alignment	Определяет положение надписи (слева или справа) по отношению к индикатору.
AllowGrayed	Разрешает или запрещает появление в индикаторе третьего состояния cbGrayed
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Caption	Надпись индикатора
Checked	Указывает, выбран ли индикатор (содержит ли он флажок)
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
State	Определяет состояние индикатора: выключен (cbUnchecked), включен (cbChecked), в третьем состоянии (cbGrayed)
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enabled в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TCheckBox

Полный список    TCheckBox

   TCheckBox

Метод	Описание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
Hide	Делает компонент невидимым
SetFocus	Передает фокус элементу, активизирует его.
Show	Делает видимым невидимый компонент


Все методы TCheckBox

Основные методы   TCheckBox

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TCheckBox
Основные события TCheckBox

Полный список    TCheckBox

Событие	Описание
OnClick	Наступает при щелчке на компоненте. В обработчике этого события можно анализировать свойства Checked и State, которые уже приняли новое значение
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)


Все события TCheckBox

Основные события   TCheckBox

Событие	Описание
OnClick	Наступает при щелчке на компоненте. В обработчике этого события можно анализировать свойства Checked и State, которые уже приняли новое значение
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TRadioButton - компонент

Иерархия   Свойства   Методы   События

Радиокнопка - компонент, используемый в совокупности с другими радиокнопками для выбора одной из взаимоисключающих альтернатив

Модуль stdctrls

Описание

TRadioButton - компонент, который используется, как правило, в группе других радиокнопок для выбора одной из взаимоисключающих альтернатив. Из кнопок, объединенных в группу, включена может быть только одна. При включении одной кнопки группы остальные кнопки автоматически выключаются. Объединение радиокнопок осуществляется обычно панелями: TGroupBox, TPanel и др. Радиокнопки, размещенные непосредственно на форме, также образуют группу. Имеется также компонент группы радиокнопок TRadioGroup, в который не надо переносить кнопки - они присутствуют там изначально и располагаются регулярными рядами. Отдельные компоненты TRadioButton, объединенные контейнерами, имеет смысл использовать только при необходимости нерегулярного размещения кнопок.

Свойство Caption компонента TRadioButton содержит надпись, появляющуюся около кнопки. Как и в других кнопках, надпись может содержать символ амперсанта "&", вызывающий подчеркивание следующего символа, соответствующего клавише быстрого доступа. Значение свойства Alignment определяет, с какой стороны от кнопки появится надпись: taLeftJustify - слева, taRightJustify - справа (это значение принято по умолчанию). Свойство Checked определяет, выбрана ли данная кнопка пользователем, или нет. Поскольку в начале выполнения приложения обычно надо, чтобы одна из кнопок группы была выбрана по умолчанию, ее свойство Checked надо установить в true в процессе проектирования.


Основные свойства TRadioButton

Полный список    TRadioButton

Свойство	Описание
Action	Определяет действие, связанное с кнопкой
Alignment	Определяет положение надписи (справа или слева), относящейся к радиокнопке
Caption	Надпись радиокнопки
Checked	Указывает, выбрана ли радиокнопка


TRadioButton - компонент
Все свойства TRadioButton

Основные свойства   TRadioButton

Свойство	Описание
Action	Определяет действие, связанное с кнопкой
Alignment	Определяет положение надписи (справа или слева), относящейся к радиокнопке
Anchors	Определяет способ привязки данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Checked	Указывает, выбрана ли радиокнопка
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает размер в пикселях клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Определяет характеристики стиля компонента, принимая одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном.
Font	Определяет атрибуты текста, написанного в компоненте.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TRadioButton

Полный список    TRadioButton

Метод	Описание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
Hide	Делает компонент невидимым
SetFocus	Передает фокус элементу, активизирует его.
Show	Делает видимым невидимый компонент


Все методы TRadioButton

Основные методы   TRadioButton

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Rectangle	Рисует на канве текущим пером прямоугольник и закрашивает его текущей кистью.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScaleControls	Масштабирует дочерние компоненты оконного элемента, не изменяя масштаба самого элемента.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
Show	Делает видимым невидимый компонент
StretchDraw	Рисует графическое изображение в указанной прямоугольной области канвы, подгоняя размер изображения под заданную область
Update	Немедленно перерисовывает компонент
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateCo ntrolState	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UsRightToLeft Alignment	Указывает, выровнен ли компонент в режиме слева направо
UsRightToLeft Reading	Указывает, читается ли текст компонента слева направо
UsRightToLeft ScrollBar	Указывает, появляется ли вертикальная полоса прокрутки слева от компонента.


События TRadioButton
Основные события TRadioButton

Полный список    TRadioButton

Событие	Описание
OnClick	Наступает при щелчке на компоненте. В обработчике этого события можно анализировать свойств Checked, которое уже приняло новое значение
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)


Все события TRadioButton

Основные события   TRadioButton

Событие	Описание
OnClick	Наступает при щелчке на компоненте. В обработчике этого события можно анализировать свойств Checked, которое уже приняло новое значение
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TListBox - компонент

Иерархия   Свойства   Методы   События

Отображает список строк и позволяет пользователю выбрать из него необходимые строки

Модуль stdctrls

Описание

Компонент TListBox отображает список строк и позволяет пользователю выбрать из него необходимые строки. В список автоматически добавляются полосы прокрутки, если все строки не помещаются в окне компонента.

Отличие TListBox от схожего по функциям компонента TComboBox заключается в следующем:

•	TComboBox разрешает пользователю редактировать список, а TListBox не разрешает

•	в TComboBox список может быть развернут или свернут, а в TListBox он всегда развернут

•	TListBox может допускать множественный выбор, а в TComboBox пользователь всегда должен выбрать только один элемент

Основное свойство компонента, содержащее список строк, - Items, имеющее тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса TStrings - Clear, Add и другими.

В компоненте TListBox имеется свойство MultiSelect, разрешающее пользователю множественный выбор в списке. Если MultiSelect = false (значение по умолчанию), то пользователь может выбрать только один элемент списка. В этом случае можно узнать индекс выбранной строки из свойства ItemIndex, доступного только во время выполнения. Если ни одна строка не выбрана, то ItemIndex = -1. Начальное значение ItemIndex невозможно задать во время проектирования. По умолчанию ItemIndex = -1. Это означает, что ни один элемент списка не выбран. Если вы хотите задать этому свойству какое-то другое значение, т.е. установить выбор по умолчанию, который будет показан в момент начала работы приложения, то сделать это можно, например, в обработчике события OnCreate формы, введя в него оператор вида

ListBox1.ItemIndex:=0;

Если допускается множественный выбор (MultiSelect = true), то значение ItemIndex соответствует тому элементу списка, который находится в фокусе. При множественном выборе проверить, выбран ли данный элемент, можно проверив свойство Selected[Index: Integer] типа Boolean.

На способ множественного выбора при MultiSelect = true влияет еще свойство ExtendedSelect. Если ExtendedSelect = true, то пользователь может выделить интервал элементов, выделив один из них, затем нажав клавишу Shift  и переведя курсор к другому элементу. Выделить не прилегающие друг к другу элементы пользователь может, если будет удерживать во время выбора нажатой клавишу Ctrl. Если же ExtendedSelect = false, то клавиши Shift и Ctrl при выборе не работают.

Свойство Columns определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента ListBox.

Свойство Sorted позволяет упорядочить список по алфавиту. При Sorted = true новые строки в список добавляются не в конец, а по алфавиту.

Свойство Style, установленное в lbStandard (значение по умолчанию) соответствует списку строк. Другие значения Style позволяют отображать в списке не только текст, но и изображения.

Имеется еще один компонент, очень похожий на TListBox - это список с индикаторами TCheckListBox. Выглядит он так же, как TListBox, но около каждой строки имеется индикатор, который пользователь может переключать.


Основные свойства TListBox

Полный список    TListBox

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
Columns	Определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента
Extended Select	Определяет, может ли пользователь при MultiSelect = true выбрать несколько последовательно расположенных элементов, держа нажатой клавишу Shift.
ItemIndex	Указывает порядковый номер элемента, выделенного в списке
Items	Массив строк списка - объект класса TStrings. Свойства этого класса позволяют формировать и изменять список
MultiSelect	Указывает, можно ли выбрать в окне списка несколько элементов одновременно
SelCount	Указывает количество выделенных элементов при MultiSelect = true. Доступ только для чтения
Selected	Индексированный массив, определяющий, какие элементы списка выделены
Sorted	Указывает, должны ли строки в списке автоматически сортироваться в алфавитном порядке
Style	Определяет, будет ли окно списка стандартным, отображающим только текст, или будет позволять отображение также графических образов
TopIndex	Указывает индекс элемента, видимого вверху списка. Изменение этого индекса соответственно сдвигает видимую часть списка


TListBox - компонент
Все свойства TListBox

Основные свойства   TListBox

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush, для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
Columns	Определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
DrawingStyle	Определяет цветовой стиль, используемый для рисования объекта.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Extended Select	Определяет, может ли пользователь при MultiSelect = true выбрать несколько последовательно расположенных элементов, держа нажатой клавишу Shift.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном.
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
ImeMode	Определяет режим работы входного редактора метода IME - (input method editor).IME - внешний входной процессор для Азиатских языковых символов IME  - иероглифов, преобразующий их в код, пригодный для использования в приложениях Delphi.
ImeName	Указывает входной редактор метода (IME) для преобразования данных, вводимых  с клавиатуры в Азиатские языковые символы. IME - внешний входной процессор для Азиатских языковых символов. Значение ImeName определяет, какой IME используется для преобразования нажатий клавиши. IME перехватывает нажатия клавиш клавиатуры, преобразует их в Азиатские символы в конверсионном окне и посылает преобразованные символы в Delphi приложения.
Integral Height	Определяет, отображает ли окно списков элементы полностью. Управляет высотой окна списка.
ItemHight	Указывает высоту в пикселях элемента в окне списка
ItemIndex	Указывает порядковый номер элемента, выделенного в списке элементов окна списков.
Items	Массив строк списка - объект класса TStrings. Свойства этого класса позволяют формировать и изменять список
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Указывает ширину компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MultiSelect	Указывает, можно ли выбрать в окне списка несколько элементов одновременно
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
SelCount	Указывает количество выделенных элементов при MultiSelect = true. Доступ только для чтения
Selected	Индексированный массив, определяющий, какие элементы списка выделены
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Sorted	Указывает, должны ли строки в списке автоматически сортироваться по алфавиту.
Style	Определяет, будет ли окно списка стандартным, отображающим только текст, или будет позволять отображение также графических образов
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabWidth	Определяет число отступов, соответствующих символу табуляции
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
TopIndex	Указывает индекс элемента, видимого вверху списка. Изменение этого индекса соответственно сдвигает видимую часть списка
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowHandle	Обеспечивает доступ к дескриптору окна, которое использует меню
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TListBox

Полный список    TListBox

Метод	Описание
Clear	Удаляет все элементы списка
ItemAtPos	Возвращает индекс элемента списка, соответствующего указанным координатам
ItemRect	Возвращает прямоугольник, описывающий указанный элемент списка
SetFocus	Передает фокус элементу, активизирует его.


Все методы TListBox

Основные методы   TListBox

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Clear	Удаляет все элементы списка
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
Draw	Рисует графическое изображение в указанной позиции канвы.
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие метода DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetHelpContext	Возвращает контекст подсказки ID, связанный с пунктом меню
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ItemAtPos	Возвращает индекс элемента списка, соответствующего указанным координатам
ItemRect	Возвращает прямоугольник, описывающий указанный элемент списка
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScaleControls	Масштабирует дочерние компоненты оконного элемента, не изменяя масштаба самого элемента.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TListBox
Основные события TListBox

Полный список    TListBox

Событие	Описание
OnClick	Наступает при щелчке на элементе списка
OnDrawItem	Наступает при необходимости перерисовать элемент списка
OnMeasureItem	Наступает при необходимости перерисовать элемент в списке с изменяемой высотой элементов


Все события TListBox

Специальные   TListBox

Событие	Описание
OnClick	Наступает при щелчке на элементе списка
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawItem	Наступает при необходимости перерисовать элемент списка
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMeasure Item	Наступает при необходимости перерисовать элемент в списке с изменяемой высотой элементов
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TComboBox - компонент

Иерархия   Свойства   Методы   События

Отображает список строк в развернутом виде или в виде выпадающего списка, позволяет пользователю выбрать из списка необходимую строку или задать в качестве выбора собственный текст

Модуль stdctrls

Описание

Компонент TComboBox объединяет функции компонентов TListBox - списка, и TEdit - окна редактирования. Компонент позволяет пользователю выбрать из списка необходимую строку или задать в качестве выбора собственный текст. Список может отображаться в развернутом виде или как выпадающий список.

Отличие TComboBox от схожего по функциям компонента TListBox заключается в следующем:

•	TComboBox разрешает пользователю редактировать список, а TListBox не разрешает

•	в TComboBox список может быть развернут или свернут, а в TListBox он всегда развернут

•	TListBox может допускать множественный выбор, а в TComboBox пользователь всегда должен выбрать только один элемент

Основное свойство компонента, содержащее список строк, - Items, имеющее тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса TStrings - Clear, Add и другими.

Стиль изображения списка определяется свойством Style:

csDropDown	Выпадающий список со строками одинаковой высоты и с окном редактирования, позволяющим пользователю вводить или редактировать текст
csSimple	Развернутый список со строками одинаковой высоты и с окном редактирования, позволяющим пользователю вводить или редактировать текст
csDropDownList	Выпадающий список со строками одинаковой высоты, не содержащий окна редактирования

Выбор пользователя или введенный им текст можно определить по значению свойства Text. Индекс выбранного пользователем элемента списка можно определить по свойству ItemIndex (доступно только во время выполнения). Если в окне проводилось редактирование данных, то ItemIndex = -1.

Начальное значение ItemIndex невозможно задать во время проектирования. По умолчанию ItemIndex = -1. Если вы хотите задать этому свойству какое-то другое значение, т.е. установить выбор по умолчанию, который будет показан в момент начала работы приложения, то сделать это можно, например, в обработчике события OnCreate формы, введя в него оператор вида

ComboBox1.ItemIndex:=0;

Свойство MaxLength определяет максимальное число символов, которые пользователь может ввести в окно редактирования. Если MaxLength = 0, то число вводимых символов не ограничено.

Cвойство Sorted позволяет упорядочить список по алфавиту. При Sorted = true новые строки в список добавляются не в конец, а по алфавиту.

Текст выбранной или написанной пользователем строки находится в свойстве Text. Индекс выбранной строки можно узнать из свойства ItemIndex.

Основное событие компонента - OnChange наступает при изменении текста в окне редактирования в результате прямого редактирования текста или в результате выбора из списка.


Основные свойства TComboBox

Полный список    TComboBox

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
CharCase	Указывает, приводится ли принудительно текст к верхнему или нижнему регистрам
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
DropDown Count	Определяет максимальное число элементов, отображаемое в раскрывающемся списке.
ItemHeight	Указывает высоту элементов, в пикселях, в выпадающем списке.
ItemIndex	Указывает порядковый номер элемента, выделенного в выпадающем списке
Items	Массив строк списка - объект класса TStrings. Свойства этого класса позволяют формировать и изменять список
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
SelLength	Определяет количество выделенных символов текста
SelStart	Указывает позицию первого выделенного символа в тексте окна редактирования или текущую позицию курсора.
SelText	Указывает объем выделенного текста в окне редактирования
Sorted	Указывает, должны ли строки в списке автоматически сортироваться по алфавиту.
Style	Определяет вид списка и области редактирования.
Text	Содержит строку текста в окне редактирования


TComboBox - компонент
Все свойства TComboBox

Основные свойства   TComboBox

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush, для наложения друг на друга нескольких изображений. Доступ только для чтения
CharCase	Указывает, приводится ли принудительно текст к верхнему или нижнему регистрам
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
DropDown Count	Определяет максимальное число элементов, отображаемое в раскрывающемся списке.
dropdown	Указывает, отображается ли раскрывающийся список в данный момент.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном.
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
ItemHeight	Указывает высоту элементов, в пикселях, в выпадающем списке.
ItemIndex	Указывает порядковый номер элемента, выделенного в выпадающем списке
Items	Массив строк списка - объект класса TStrings. Свойства этого класса позволяют формировать и изменять список
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент. При значении 0 длина текста неограничена
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
SelLength	Определяет количество выделенных символов текста
SelStart	Указывает позицию первого выделенного символа в тексте окна редактирования или текущую позицию курсора.
SelText	Указывает объем выделенного текста в окне редактирования
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Sorted	Указывает, должны ли строки в списке автоматически сортироваться по алфавиту.
Style	Определяет вид списка и области редактирования.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Text	Содержит строку текста в окне редактирования
Text	Содержит строку текста, связанную с компонентом.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TComboBox

Полный список    TComboBox

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Clear	Удаляет все элементы списка и весь текст в окне редактирования
SelectAll	Выделяет весь текст в окне редактирования
SetFocus	Передает фокус элементу, активизирует его.


Все методы TComboBox

Основные методы   TComboBox

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет все элементы списка и весь текст в окне редактирования
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SelectAll	Выделяет весь текст в окне редактирования
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetSelTextBuf	Заменяет выделенный текст строкой из буфера
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TComboBox
Основные события TComboBox

Полный список    TComboBox

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования в результате прямого редактирования текста или в результате выбора из списка. В обработчике можно прочитать текст Text и индекс выбранного элемента ItemIndex (-1, если был не выбор, а редактирование)
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDrawItem	Наступает при необходимости перерисовать элемент списка
OnDropDown	Событие происходит, когда пользователь открывает раскрывающийся список, щелкая на стрелке справа от компонента.
OnMeasure Item	Наступает при необходимости перерисовать элемент в списке с изменяемой высотой элементов


Все события TComboBox

Основные события   TComboBox

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования в результате прямого редактирования текста или в результате выбора из списка. В обработчике можно прочитать текст Text и индекс выбранного элемента ItemIndex (-1, если был не выбор, а редактирование)
OnClick	Событие соответствует щелчку мыши на компоненте.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawItem	Наступает при необходимости перерисовать элемент списка
OnDropDown	Событие происходит, когда пользователь открывает раскрывающийся список, щелкая на стрелке справа от компонента.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMeasure Item	Наступает при необходимости перерисовать элемент в списке с изменяемой высотой элементов
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TScrollBar - компонент

Иерархия   Свойства   Методы   События

Представляет собой стандартную линейку прокрутки Windows и служит для управления положением видимой части форм или компонентов

Модуль stdctrls

Описание

Компонент TScrollBar похож по своим функциям на ползунок TTrackBar, хотя  выглядит он иначе и предназначен по замыслу для отображения стандартной линейки прокрутки Windows. Он может использоваться и для целей прокрутки (впрочем, многие оконные компоненты Delphi имеют собственные полосы прокрутки), и для управления, подобного компоненту TTrackBar.

Основное свойства TScrollBar - Position. Оно отражает положение бегунка. Это свойство можно задавать во время проектирования или программно во время выполнения. При перемещении пользователем бегунка можно прочитать значение Position, характеризующее позицию, в которую пользователь переместил ползунок. Для возможности такого чтения служит событие OnChange. В обработчике этого события можно прочитать значение Position и использовать его для прокрутки или для управления каким-то компонентом. Свойство Position - целое, значение которого может изменяться в пределах, задаваемых свойствами Min и Max. По умолчанию Min = 0, Max = 100, так что Position может принимать значения - от 0 до 100. Если задать большее или меньшее значение Max, соответственно увеличится или уменьшится количество возможных значений Position в диапазоне Min - Max.

Свойство Kind, определяет горизонтальное или вертикальное расположение полосы и принимает соответственно значения sbHorizontal или sbVertical.

Имеются два свойства - SmallChange и LargeChange, определяющих соответственно "малый" сдвиг при щелчке на кнопке в конце полосы или нажатии клавиши со стрелкой, и "большой" сдвиг при перемещении на страницу щелчком рядом с бегунком или нажатием клавиш PageUp или PageDown.

Событие, соответствующее перемещению пользователем бегунка полосы прокрутки - OnScroll. В процедуру обработчика этого события передается по ссылке параметр ScrollPos - позиция бегунка, которую можно читать, но можно и изменять, и передается параметр ScrollCode, характеризующий вид перемещения бегунка. Этот параметр может иметь значения:

scLineUp, scLineDown	"Малый" сдвиг: перемещение соответственно вверх или налево и вниз или вправо после нажатия кнопки полосы прокрутки или клавиши со стрелкой
scPageUp, scPageDown	"Большой" сдвиг: перемещение на страницу щелчком рядом с бегунком или нажатием клавиш PageUp или PageDown
scPosition	Пользователь переместил и освободил бегунок
scTrack	Пользователь перемещает бегунок
scTop, scBottom	Бегунок перемещен соответственно в крайнюю верхнюю или левую позицию и в крайнюю нижнюю или правую позицию
scEndScroll	Окончание перемещения

В обработке события ScrollPos можно поместить операторы, перемещающие требуемую область формы или компонент, а можно поместить операторы, которые управляют некоторым компонентом, используя значение позиции бегунка ScrollPos.


Основные свойства TScrollBar
Основные свойства ScrollBar

Полный список    ScrollBar

Свойство	Описание
Kind	Задает горизонтальное или вертикальное расположение полосы
LargeChange	Определяет "большой" сдвиг при перемещении на страницу щелчком рядом с бегунком или нажатием клавиш PageUp или PageDown
Max	Определяет максимальное положение ползунка на полосе прокрутки.
Min	Определяет минимальное положение ползунка на полосе прокрутки.
PageSize	Определяет расстояние вдоль полосы, на которое изменяется Position при нажатии клавиш PageUp и PageDown
Position	Указывает текущую позицию ползунка на полосе прокрутки.
SmallChange	Определяет "малый" сдвиг при щелчке на кнопке в конце полосы или нажатии клавиши со стрелкой


TScrollBar - компонент
Все свойства ScrollBar

Основные свойства   ScrollBar

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Kind	Задает горизонтальное или вертикальное расположение полосы
LargeChange	Определяет "большой" сдвиг при перемещении на страницу щелчком рядом с бегунком или нажатием клавиш PageUp или PageDown
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Max	Определяет максимальное положение ползунка на полосе прокрутки.
Min	Определяет минимальное положение ползунка на полосе прокрутки.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
PageSize	Определяет расстояние вдоль полосы, на которое изменяется Position при нажатии клавиш PageUp и PageDown
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
Position	Указывает текущую позицию ползунка на полосе прокрутки.
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
SmallChange	Определяет "малый" сдвиг при щелчке на кнопке в конце полосы или нажатии клавиши со стрелкой
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TScrollBar
Основные методы ScrollBar

Полный список    ScrollBar

Метод	Описание
SetFocus	Передает фокус элементу, активизирует его.
SetParams	Устанавливает значения свойств Position, Max и Min одновременно.


Все методы TScrollBar
Все методы ScrollBar

Основные методы   ScrollBar

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочернему компоненту данное ему имя
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetParams	Устанавливает значения свойств Position, Max и Min одновременно.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLefT ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TScrollBar
Основные события ScrollBar

Полный список    ScrollBar

Событие	Описание
OnChange	Событие происходит сразу после изменения значения Position.
OnScroll	Событие происходит при перемещении ползунка по полосе прокрутки с помощью мыши или клавиатуры.


Все события TScrollBar
Все события ScrollBar

Основные события   ScrollBar

Событие	Описание
OnChange	Событие происходит сразу после изменения значения Position.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnScroll	Событие происходит при перемещении ползунка по полосе прокрутки с помощью мыши или клавиатуры.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TGroupBox - компонент

Иерархия   Свойства   Методы   События

Панель - контейнер с рамкой и надписью, объединяющий группу связанных органов управления

Модуль stdctrls

Описание

Панель TGroupBox - это контейнер с рамкой и надписью, объединяющий группу связанных органов управления, таких как радиокнопки TRadioButton, индикаторы TCheckBox и т.д. В отличие от других панелей (например, TPanel) не имеет широких возможностей задания различных стилей оформления. Но TGroupBox имеет встроенную рамку с надписью, которая обычно используется для выделения на форме группы функционально объединенных компонентов.


Основные свойства TGroupBox

Полный список    GroupBox

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
Caption	Надпись в углу рамки панели
Font	Определяет атрибуты шрифта.


TGroupBox - компонент
Все свойства TGroupBox

Основные свойства   GroupBox

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Caption	Надпись в углу рамки панели
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Notify	Определяет, должно ли генерироваться событие OnNotify.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента при его вертикальном встраивании. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TGroupBox
Все методы TGroupBox

TGroupBox

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
AssignTo	Копирует один объект в другой, создавая копию всех данных объекта. Является защищённым вариантом метода Assign.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Временно запрещает выравнивание дочерних компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TGroupBox
Основные события TGroupBox

Полный список    TGroupBox

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.


Все события TGroupBox

Специальные   TGroupBox

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetSite Info	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUndock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


TRadioGroup - компонент

Иерархия   Свойства   Методы   События

Применяется для формирования группы регулярно размещенных радиокнопок, из которых в любой момент времени может быть включена только одна

Модуль extctrls

Описание

TRadioGroup - это панель, которая содержит радиокнопки, регулярно расположенные столбцами и строками. Из радиокнопок группы может быть включена только одна. При включении какой-то кнопки все остальные выключаются. Надпись в левом верхнем углу панели определяется свойством Caption. Надписи кнопок и их количество определяются свойством Items, имеющим тип TStrings. Во время проектирования задание свойства Items осуществляется вызываемым из Инспектора Объектов редактором списков строк. Сколько строчек вы запишете в нем, столько и будет кнопок. Во время выполнения формировать список Items можно, используя методы и свойства класса TStrings. Как и в других управляющих компонентах (см., например, TButton), надпись каждой кнопки может содержать символ амперсанта "&", вызывающий подчеркивание следующего символа, соответствующего клавише быстрого доступа.

Кнопки можно разместить в несколько столбцов (не более 17), задав свойство Columns. По умолчанию Columns = 1, т.е. кнопки размещаются друг под другом.

Определить, какую из кнопок выбрал пользователь, можно по свойству ItemIndex, которое показывает индекс выбранной кнопки (начинаются с 0). По умолчанию ItemIndex = -1, что означает отсутствие выбранной кнопки. Если вы хотите, чтобы в момент начала выполнения приложения какая-то из кнопок была выбрана (это практически всегда необходимо), то надо установить соответствующее значение ItemIndex во время проектирования. Если вы используете радиокнопки не для ввода, а для отображения данных, устанавливать значение ItemIndex можно программно во время выполнения приложения.


Основные свойства TRadioGroup

Полный список    TRadioGroup

Свойство	Описание
Caption	Надпись в углу панели
Columns	Определяет количество столбцов кнопок в радиогруппе
Items	Список радиокнопок группы
ItemIndex	Указывает, какая из радиокнопок выбрана в данный момент


TRadioGroup - компонент
Все свойства TRadioGroup

Основные свойства   TRadioGroup

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Caption	Надпись в углу панели
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Columns	Определяет количество столбцов кнопок в радиогруппе
Color	Указывает цвет фона компонента
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера компонента (максимально допустимую ширину и высоту). Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "всплывающим" окном.
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
ItemIndex	Указывает, какая из радиокнопок выбрана в данный момент
Items	Список радиокнопок в группе
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Tag	Свойство, используемое пользователем по своему усмотрению.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TRadioGroup
Все методы TRadioGroup

TRadioGroup

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, использованную Инспектором Объектов.
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TRadioGroup
Основные события TRadioGroup

Полный список    TRadioGroup

Событие	Описание
OnClick	Событие соответствует щелчку мыши на кнопке. В обработчике этого события можно определить включенную кнопку по свойству ItemIndex


Все события TRadioGroup

Основные события   TRadioGroup

Событие	Описание
OnClick	Событие соответствует щелчку мыши на кнопке. В обработчике этого события можно определить включенную кнопку по свойству ItemIndex
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TPanel - компонент

Иерархия   Свойства   Методы   События

Панель - контейнер для группировки других компонентов. Может использоваться также как компонент отображения текста

Модуль extctrls

Описание

Компонент TPanel представляет собой панель, которая служит контейнером, объединяющим группу управляющих компонентов, компонентов ввода и отображения информации, других, меньших контейнеров. Панель можно использовать также  для построения полос состояния и инструментальных панелей.

Свойства BorderStyle, BevelInner, BevelOuter, BevelWidth, BorderWidth определяют обрамление - бордюр панели, предоставляя богатые возможности ее оформления. Свойства Aline (выравнивание компонента по всей верхней, левой, правой, нижней частям контейнера или по всей его клиентской области), Anchors (привязка сторон компонента к сторонам контейнера), Constraints (ограничения допустимых изменений размеров) определяют изменение размеров панели при изменении контейнера, в котором она размещена, например, при изменении пользователем размеров окна приложения.

Свойство Caption - текст, отображаемый в панели. Свойство Alignment определяет выравнивание этого текста.

Основное назначение панелей - визуальное объединение различных элементов интерфейса (кнопок, окон редактирования, списков), функционально связанных друг с другом. Такая функциональная связь должна поддерживаться и зрительной связью - объединением соответствующих элементов в рамках одной панели. Свойство AutoSize определяет, будут ли размеры панели автоматически подстраиваться под размещенные в ней компоненты.

Объединение панелью таких компонентов, как радиокнопок TRadioButton обеспечивает их функционирование как единой группы: включение одной из таких радиокнопок выключает остальные.


Основные свойства TPanel

Полный список    TPanel

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Alignment	Определяет способ выравнивания текста внутри компонента - по левому краю, правому краю, центру. Значение по умолчанию - taCenter - по центру
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будут ли размеры панели автоматически подстраиваться под размещенные в ней компоненты
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidtn	Определяет ширину обрамления компонента в пикселях
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
Caption	Текст, отображаемый в панели
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.


TPanel - компонент
Все свойства TPanel

Основные свойства   TPanel

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Alignment	Определяет способ выравнивания текста внутри компонента - по левому краю, правому краю, центру. Значение по умолчанию - taCenter - по центру
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будут ли размеры панели автоматически подстраиваться под размещенные в ней компоненты
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidtn	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Caption	Текст, отображаемый в панели
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
DockManager	Определяет интерфейс менеджера встраивания компонента.
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном.
Font	Определяет атрибуты шрифта.
FullRepaint	Указывает, вызван ли метод Invalidate, когда создаваемая панель получает сообщение WMES_SIZE.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UseDock Manager	Указывает, используется ли диспетчер встраивания DockManager в процессе Drag&Doc
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false) панели
Width	Определяет горизонтальный размер компонента в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TPanel
Методы TPanel

TPanel

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Временно запрещает выравнивание дочерних компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TPanel
Основные события TPanel

Полный список    TPanel

Событие	Описание
OnCanResize	Событие происходит при попытке изменить размер компонента.
OnConstrained Resize	Событие происходит немедленно после события OnCanResize
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnResize	Событие происходит сразу после изменения размеров компонента.


Все события TPanel

Специальные   TPanel

Событие	Описание
OnCanResize	Событие происходит при попытке изменить размер компонента.
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnConstrained Resize	Событие происходит немедленно после события OnCanResize.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDockDrop	Событие происходит при встраивании одного компонента в другой.
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetSite Info	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUndock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


TActionList - компонент

Иерархия   Свойства   Методы   События

Обеспечивает диспетчеризацию действий разработчика и, соответственно, событий компонентов

Модуль ActnList

Описание

Компонент TActionList, не добавляя никаких принципиально новых возможностей, позволяет систематизировать и упорядочить разработку объектно-ориентированных приложений путём организации связи между действиями и их инициаторами, такими как щелчок на кнопке или элементе меню. Компонент представляет собой интерфейс разработчика, позволяющий ему упорядочить свою работу с действиями в процессе проектирования путём создания списков действий.

В начале проектирования приложения разработчик должен представить себе список тех действий, которые может осуществлять пользователь. Практическая реализация составленного списка действий начинается с переноса на проектируемую форму компонента TActionList. Сделав на этом компоненте двойной щелчок, вы попадаете в редактор действий, позволяющий вводить и упорядочивать действия.

В Инспекторе Объектов для каждого действия вы можете установить свойство Name - имя, а также ряд свойств, которые автоматически перенесутся затем во все компоненты, ссылающиеся на данное действие. Это Caption - надпись, ShortCut - "горячие" клавиши, Hint - подсказки в ярлычках и панели состояния, HelpContext - номер контекстной справки, Enabled, Visible, Checked.

Можно для каждого или некоторых действий указать свойство ImageIndex, которое является индексом (начиная с 0) изображения, соответствующего данному действию в отдельном компоненте списка изображений TImageList. Этот индекс передастся в дальнейшем компонентам, связанным с данным событием - разделам меню, кнопкам. Если в свойстве Images компонента ActionList указать имя списка, размещенного на форме и заполненного изображениями, то эти изображения появятся также в окне редактора действий.

Свойство Category (категория) не имеет отношения к выполнению приложения. Задание категории просто позволяет в процессе проектирования сгруппировать действия по их назначению.

На странице событий Инспектора Объектов для каждого действия определено три события:

•	OnExecute - возникает в момент, когда пользователь инициализировал действие, например, щелкнув на компоненте (разделе меню, кнопке), связанном с данным действием

•	OnUpdate - периодически возникает в промежутках между действиями. Возникновение этих событий прекращается только во время реализации события или во время, когда пользователь ничего не делает и компьютер находится в состоянии ожидания действий. Обработчик события может содержать какие-то настройки, подготовку ожидаемых дальнейших действий или выполнение каких-то фоновых операций

•	OnHint - возникает в момент, когда на экране отображается ярлычок подсказки в результате того, что пользователь задержал курсор мыши над компонентом, инициализирующим событие

Связь объектов действий с конкретными инициализаторами действий - управляющими элементами типа кнопок, разделов меню и т.д., осуществляется через свойство Action, имеющееся у всех управляющих элементов.


Основные свойства TActionList

Полный список    TActionList

Свойство	Описание
ActionCount	Количество действий в списке
Actions	Индексированный список действий
Images	Ссылка на список изображений - обычно на компонент TImageList


TActionList - компонент
Все свойства TActionList

Основные свойства   TActionList

Свойство	Описание
ActionCount	Количество действий в списке
Actions	Индексированный список действий
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Components	Массив компонентов, которыми владеет данный компонент
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
Images	Ссылка на список изображений - обычно на компонент TImageList
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Tag	Свойство, используемое пользователем по своему усмотрению.
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TActionList

Полный список    TActionList

Метод	Описание
ExecuteAction	Вызывается из метода Execute указанного действия. Генерирует событие OnExecute компонента TActionList


Все методы TActionList

Основные методы   TActionList

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр компонента.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом.
ExecuteAction	Вызывается из метода Execute указанного действия. Генерирует событие OnExecute компонента TActionList
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsShortCut	Распознает "горячие" клавиши, связанные с действием. Явным образом из приложения не вызывается
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает COM и OLE исключения.
UpdateAction	Вызывается при обновлении списка действий


События TActionList
Специальные события TActionList

Полный список    TActionList

Событие	Описание
OnExecute	Наступает, когда действие генерирует событие OnExecute
Для каждого действия, входящего в массив Actions, основными событиями являются:

OnExecute	Реализация действия
OnHint	Возникает в момент, когда на экране должен отобразиться ярлычок подсказки
OnUpdate	События происходят между выполнениями действий. Обработчики событий могут использоваться для каких-то настроек, для подготовки ожидаемых дальнейших действий или выполнения каких-то фоновых операций


Все события TActionList

Специальные   TActionList

Событие	Описание
OnChange	Событие происходит сразу после изменения списка действий
OnExecute	Наступает, когда действие генерирует событие OnExecute
OnUpdate	Наступает при обновлении списка действий
Для каждого действия, входящего в массив Actions, основными событиями являются:

OnExecute	Реализация действия
OnHint	Возникает в момент, когда на экране должен отобразиться ярлычок подсказки
OnUpdate	События происходят между выполнениями действий. Обработчики событий могут использоваться для каких-то настроек, для подготовки ожидаемых дальнейших действий или выполнения каких-то фоновых операций


TBitBtn - компонент

Иерархия   Свойства   Методы   События

Управляющая кнопка с изображением

Модуль buttons

Описание

Компонент TBitBtn - это управляющая кнопка, на поверхности которой можно располагать изображение. Изображение на кнопке задается ее свойством Glyph. Оно представляет собой битовую матрицу, содержащую до четырёх изображений размером 16 на 16. Самое левое соответствует отжатой кнопке. Второе слева соответствует недоступной кнопке, когда ее свойство Enabled равно false. Третье слева изображение используется при нажатии пользователя на кнопку при ее включении. Четвертое слева изображение используется в кнопках с фиксацией TSpeedButton, а не в TBitBtn. Изображение во время проектирования загружается в Glyph с помощью редактора, вызываемого из Инспектора Объектов. Число пиктограмм в изображении отображается автоматически в свойстве NumGlyphs.

Расположение изображения и надписи (свойство Caption) на кнопке определяется свойствами Margin, Layout и Spacing. Если свойство Margin равно -1 (значение по умолчанию), то изображение и надпись размещаются в центре кнопки. При этом положение изображения по отношению к надписи определяется свойством Layout, которое может принимать значения: blGlyphLeft (слева, это значение принято по умолчанию), blGlyphRight (справа), blGlyphTop (вверху), blGlyphBottom (внизу). Если же Margin > 0, то в зависимости от значения Layout изображение и надпись смещаются к той или иной кромке кнопки, отступая от нее на число пикселей, заданное значением Margin.

Свойство Spacing задает число пикселей, разделяющих изображение и надпись на поверхности кнопки. По умолчанию Spacing = 4. Если задать Spacing = 0, изображение и надпись будут размещены вплотную друг к другу. Если задать Spacing = -1, то текст появится посередине между изображением и краем кнопки.

Еще одно свойство BitBtn - свойство Kind определяет тип кнопки. По умолчанию значение этого свойства равно bkCustom - заказная. Но можно установить и множество других предопределенных типов: bkOK, bkCancel, bkHelp, bkYes, bkNo, bkClose, bkAbort, bkRetry, bkIgnore, bkAll. В этих типах уже сделаны соответствующие надписи, введены пиктограммы, заданы свойства ModalResult и др.

 Основное событие кнопки - OnClick, возникающее при щелчке на ней. В обработчике этого события записываются операторы, которые должны выполняться при щелчке пользователя на кнопке.

Свойство Cancel, если его установить в true, определяет, что нажатие пользователем клавиши Esc будет эквивалентно нажатию на данную кнопку. Это свойство целесообразно задавать равным true для кнопок Отменить в различных диалоговых окнах, чтобы можно было выйти из диалога, нажав на эту кнопку или нажав клавишу Esc.

Свойство Default, если его установить в true, определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе. Правда, если в момент нажатия Enter в фокусе находится другая кнопка, то все-таки сработает именно кнопка в фокусе.

Еще одно свойство - ModalResult используется в модальных формах. В обычных формах значение этого свойства должно быть равно mrNone.

Из методов, присущих кнопкам, имеет смысл отметить один - Click. Выполнение этого метода эквивалентно щелчку на кнопке, т.е. вызывает событие кнопки OnClick. Этим можно воспользоваться, чтобы продублировать какими-то другими действиями пользователя щелчок на кнопке.


Основные свойства TBitBtn

Полный список    TBitBtn

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Cancel	Определяет, будет ли обрабатываться событие кнопки OnClick при нажатии клавиши Esc
Caption	Надпись на кнопке
Default	Определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе
Glyph	Определяет битовую матрицу, которая появляется на кнопке.
Kind	Определяет тип кнопки с заранее заданными надписями, пиктограммами и др. По умолчанию тип кнопки - заказная (bkCustom)
Layout	Определяет, к какому краю кнопки смещается изображение
Margin	Определяет количество пикселей между краем изображения и краем кнопки, указанным свойством Layout. При -1 изображение и надпись размещаются в центре кнопки
ModalResult	Определяет значение свойства модальной формы ModalResult, задаваемое автоматически при щелчке на данной кнопке
NumGlyphs	Указывает количество изображений в свойстве Glyph
Spacing	Число пикселей, разделяющих изображение и надпись на поверхности кнопки
Style	Определяет внешний вид кнопки. По умолчанию bsAutoDetect - автоматически изменяет вид, подстраиваясь по Windows 3.x или 32-разрядные Windows
TabOrder	Указывает позицию компонента в списке табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму
TabStop	Определяет возможность доступа пользователя к кнопке с помощью клавиши Tab


TBitBtn - компонент
Все свойства TBitBtn

Основные свойства   TBitBtn

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Cancel	Определяет, будет ли обрабатываться событие OnClick при нажатии клавиши Escape.
Caption	Надпись на кнопке
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
Default	Определяет, что нажатие пользователем клавиши ввода Enter будет эквивалентно нажатию на данную кнопку, даже если данная кнопка в этот момент не находится в фокусе
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Glyph	Определяет битовую матрицу, которая появляется на кнопке.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента или формы в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Kind	Определяет тип кнопки с заранее заданными надписями, пиктограммами и др. По умолчанию тип кнопки - заказная (bkCustom).
Layout	Определяет, к какому краю кнопки смещается изображение
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Margin	Определяет количество пикселей между краем изображения и краем кнопки, указанным свойством Layout. При -1 изображение и надпись размещаются в центре кнопки
ModalResult	Определяет значение свойства модальной формы ModalResult, задаваемое автоматически при щелчке на данной кнопке
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
NumGlyphs	Указывает количество изображений в свойстве Glyph
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Spacing	Число пикселей, разделяющих изображение и надпись на поверхности кнопки
Style	Определяет внешний вид кнопки. По умолчанию bsAutoDetect - автоматически изменяет вид, подстраиваясь по Windows 3.x или 32-разрядные Windows
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента при его вертикальном встраивании. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TBitBtn

Полный список    TBitBtn

Метод	Описание
Click	Имитирует щелчок мышью, как если бы пользователь щёлкнул на кнопке
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
SetFocus	Передает фокус элементу, активизирует его.


Все методы TBitBtn

Основные методы   TBitBtn

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Click	Имитирует щелчок мышью, как если бы пользователь щёлкнул на кнопке.
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TBitBtn
Основные события TBitBtn

Полный список    TBitBtn

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.


Все события TBitBtn

Основные события   TBitBtn

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TSpeedButton - компонент

Иерархия   Свойства   Методы   События

Используется для создания инструментальных панелей и в других случаях, когда требуется кнопка с фиксацией нажатого состояния

Модуль buttons

Описание

Компонент TSpeedButton используется для кнопок с фиксацией. Имеет возможность отображения пиктограмм и может использоваться как обычная управляющая кнопка или как кнопка с фиксацией нажатого состояния. Обычно используется в качестве быстрых кнопок, дублирующих различные команды меню, и в инструментальных панелях, в которых требуется фиксация нажатого состояния.

У кнопок TSpeedButton, как и у других кнопок, имеется свойство Caption - надпись, но в этих кнопках оно обычно оставляется пустым, так как вместо надписи используется пиктограмма. Изображение на кнопке задается свойством Glyph точно так же, как для кнопок TBitBtn. И точно так же свойство NumGlyphs определяет число используемых пиктограмм, свойства Layout и Margin определяют расположение изображения, а свойство Spacing - расстояние между изображением и надписью (если, конечно, вы все-таки хотите использовать надпись на кнопке).

Особенностью кнопок TSpeedButton являются свойства GroupIndex (индекс группы), AllowAllUp (разрешение отжатого состояния всех кнопок группы) и Down (исходное состояние - нажатое). Если GroupIndex = 0, то кнопка ведет себя так же, как TButton и TBitBtn. При нажатии пользователем кнопки она погружается, а при отпускании возвращается в нормальное состояние. В этом случае свойства AllowAllUp и Down не влияют на поведение кнопки.

Если GroupIndex > 0 и AllowAllUp = true, то кнопка при щелчке пользователя на ней погружается и остается в нажатом состоянии. При повторном щелчке пользователя на кнопке она освобождается и переходит в нормальное состояние (именно для того, чтобы освобождение кнопки состоялось, необходимо задать AllowAllUp = true). Если свойство Down во время проектирования установлено равным true, то исходное состояние кнопки - нажатое.

Если есть несколько кнопок, имеющих одинаковое ненулевое значение GroupIndex, то они образуют группу взаимосвязанных кнопок, из которых нажатой может быть только одна. Если одна кнопка находится в нажатом состоянии и пользователь щелкает на другой, то первая кнопка освобождается, а вторая фиксируется в нажатом состоянии. Поведение нажатой кнопки при щелчке на ней зависти от значения свойства AllowAllUp. Если оно равно true, то кнопка освободится, поскольку в этом случае возможно состояние, когда все кнопки группы отжаты. Если же AllowAllUp равно false, то щелчок на нажатой кнопке не приведет к изменению вида кнопки. Впрочем, и в этом случае, как и при любом щелчке на кнопке, возникает событие OnClick, которое может быть обработано.

Состояние кнопки во время выполнения можно определить по значению свойства Down: если значение равно true, то кнопка нажата. Во время события OnClick значение Down уже равно тому состоянию, которое примет кнопка в результате щелчка на ней.


Основные свойства TSpeedButton

Полный список    TSpeedButton

Свойство	Описание
Action	Определяет действие, связанное с кнопкой
AllowAllUp	Определяет, могут ли все кнопки в содержащей их группе быть одновременно отжатыми
Caption	Надпись на кнопке. Обычно для этих кнопок не используется - содержит пустую строку
Down	Указывает, нажата кнопка или отжата
Glyph	Определяет битовую матрицу, которая появляется на кнопке
GroupIndex	Определяет произвольный заданный номер группы кнопок. Позволяет кнопке работать в составе группы
Layout	Определяет, к какому краю кнопки смещается изображение
Margin	Определяет количество пикселей между краем изображения и краем кнопки, указанным свойством Layout. При -1 изображение и надпись размещаются в центре кнопки
NumGlyphs	Указывает количество изображений в свойстве Glyph
Spacing	Число пикселей, разделяющих изображение и надпись на поверхности кнопки


TSpeedButton - компонент
Все свойства TSpeedButton

Основные свойства   TSpeedButton

Свойство	Описание
Action	Определяет действие, связанное с кнопкой
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
AllowAllUp	Определяет, могут ли все кнопки в содержащей их группе быть одновременно отжатыми
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Caption	Надпись на кнопке. Обычно для этих кнопок не используется - содержит пустую строку
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Down	Указывает, нажата кнопка или отжата
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Flat	Определяет, имеет ли кнопка объемный бордюр, придающий кнопке выступающий или утопленный вид.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Glyph	Определяет битовую матрицу, которая появляется на кнопке
GroupIndex	Определяет произвольный заданный номер группы кнопок. Позволяет кнопке работать в составе группы
Height	Указывает высоту компонента в пикселях.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Layout	Определяет, к какому краю кнопки смещается изображение
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Margin	Определяет количество пикселей между краем изображения и краем кнопки, указанным свойством Layout. При -1 изображение и надпись размещаются в центре кнопки
MouseIn Control	Определяет, находится ли указатель мыши над кнопкой
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
NumGlyphs	Указывает количество изображений в свойстве Glyph
Notify	Определяет, должно ли генерироваться событие OnNoti fy.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Spacing	Число пикселей, разделяющих изображение и надпись на поверхности кнопки
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
Transparent	Указывает, должен ли быть цвет фона изображения прозрачным, чтобы сквозь него было видно лежащее позади изображение.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TSpeedButton

Полный список    TSpeedButton

Метод	Описание
Click	Имитирует щелчок мышью, как если бы пользователь щёлкнул на кнопке
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом


Все методы TSpeedButton

Основные методы   TSpeedButton

Метод	Описание
ActionChange	Модифицирует компонент, чтобы отразить изменения в связанном с ним действии.
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Click	Имитирует щелчок мышью, как если бы пользователь щёлкнул на кнопке
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TSpeedButton
Основные события TSpeedButton

Полный список    TSpeedButton

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.


Все события TSpeedButton

Основные события   TSpeedButton

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.


TMaskEdit - компонент

Иерархия   Свойства   Методы   События

Окно редактирования для ввода пользователем текстов с возможностью использовать шаблоны

Модуль buttons

Описание

Компонент аналогичен по своим свойствам компоненту TEdit, позволяя редактировать в окне однострочные тексты без возможности их выравнивания и переноса на следующую строку. Компонент отличается от TEdit возможностью задавать строку маски (свойство EditMask), в каждой позиции которой записываются условные символы, буквы или цифры, кодирующие возможности записи в этих позициях определённых знаков, например, только цифр или только букв.

Окно редактирования снабжено многими функциями, свойственными большинству редакторов. Например, в нем предусмотрены типичные комбинации "горячих" клавиш: Ctrl-C - копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X - вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V - вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z - отмена последней команды редактирования.

Прочитать результат ввода можно или в свойстве Text, которое в зависимости от вида второго раздела маски включает или не включает в себя символы маски, или в свойстве EditText, содержащем введенный текст вместе с символами маски.


Основные свойства TMaskEdit

Полный список    TMaskEdit

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSelect	Определяет, будет ли автоматически выделяться весь текст при передаче фокуса в окно редактирования
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CharCase	Указывает, приводится ли принудительно текст к верхнему или нижнему регистрам
Color	Указывает цвет фона компонента
EditMask	Определяет маску, которая указывает допустимую форму записи текста для данного компонента
EditText	Текст в окне вместе с символами маски
Font	Определяет атрибуты шрифта
IsMasked	Указывает, задана ли маска EditMask
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент. При значении 0 длина текста неограничена
Modified	Указывает, редактировался ли пользователем текст в компоненте
PasswordChar	Указывает символ, замещающий фактические символы,  вводимые в компонент. При значении #0 символы не заменяются. Используется для ввода паролей
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Указывает, может ли пользователь изменять тест в компоненте
SelLength	Определяет количество выделенных символов текста
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab
Text	Текст в окне редактирования. В зависимости от вида второго раздела маски включает или не включает в себя символы маски


TMaskEdit - компонент
Все свойства TMaskEdit

Основные свойства   TMaskEdit

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSelect	Определяет, будет ли автоматически выделяться весь текст при передаче фокуса в окно редактирования
AutoSize	Указывает, изменяется ли автоматически высота компонента, подстраиваясь под размер текста. По умолчанию false - не подстраивается
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CharCase	Указывает, приводится ли принудительно текст к верхнему или нижнему регистрам
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
EditMask	Определяет маску, которая указывает допустимую форму записи текста для данного компонента
EditText	Текст в окне вместе с символами маски
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном.
Font	Определяет атрибуты шрифта
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения
Height	Указывает высоту компонента в пикселях
HelpContext	Определяет номер, используемый в контекстно-зависимой справке
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
ImeMode	Определяет режим работы входного редактора метода IME - (input method editor).IME - внешний входной процессор для Азиатских языковых символов IME  - иероглифов, преобразующий их в код, пригодный для использования в приложениях Delphi.
ImeName	Указывает входной редактор метода (IME) для преобразования данных, вводимых  с клавиатуры в Азиатские языковые символы. IME - внешний входной процессор для Азиатских языковых символов. Значение ImeName определяет, какой IME используется для преобразования нажатий клавиши. IME перехватывает нажатия клавиш клавиатуры, преобразует их в Азиатские символы в конверсионном окне и посылает преобразованные символы в Delphi приложения.
IsMasked	Указывает, задана ли маска EditMask
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент. При значении 0 длина текста неограничена
Modified	Указывает, редактировался ли пользователем текст в компоненте.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PasswordChar	Указывает символ, замещающий фактические символы,  вводимые в компонент. При значении #0 символы не заменяются. Используется для ввода паролей
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Указывает, может ли пользователь изменять текст в компоненте
SelLength	Определяет количество выделенных символов текста
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Text	Текст в окне редактирования. В зависимости от вида второго раздела маски включает или не включает в себя символы маски
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TMaskEdit

Полный список    TMaskEdit

Метод	Описание
Clear	Удаляет текст из окна
ClearSelection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте после этого не могут быть отменены.
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
CutToClipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
SelectAll	Выделяет весь текст в окне редактирования
ValidateEdit	Проверяет соответствие маске текста в окне. Если нет соответствия, генерируется исключение и курсор устанавливается на первую позицию, не соответствующую маске


Все методы TMaskEdit

Основные методы   TMaskEdit

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет текст из окна
ClearSelection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте после этого не могут быть отменены.
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CutToClipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetSelTextBuf	Копирует выделенный текст в буфер и возвращает количество скопированных символов.
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	"Обнуляет" вновь размещенный экземпляр объекта и инициализирует указатель его виртуальной таблицы.
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Временно запрещает выравнивание дочерних компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScaleControls	Масштабирует дочерние компоненты оконного элемента, не изменяя масштаба самого элемента.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SelectAll	Выделяет весь текст в окне редактирования
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetSelTextBuf	Заменяет выделенный текст строкой из буфера
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign
ValidateEdit	Проверяет соответствие маске текста в окне. Если нет соответствия, генерируется исключение и курсор устанавливается на первую позицию, не соответствующую маске


События TMaskEdit
Основные события TMaskEdit

Полный список    TMaskEdit

Событие	Описание
OnChange	Наступает, когда текст в окне, возможно, изменился


Все события TMaskEdit

Основные события   TMaskEdit

Событие	Описание
OnChange	Наступает, когда текст в окне, возможно, изменился
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TStringGrid - компонент

Иерархия   Свойства   Методы   События

Таблица для отображения текстовой и графической информации

Модуль grids

Описание

Компонент TStringGrid представляет собой таблицу, содержащую строки. Таблица может иметь полосы прокрутки, причем заданное число первых строк и столбцов может быть фиксированным и не прокручиваться. Таким образом, можно задать заголовки столбцов и строк, постоянно присутствующие в окне компонента. Каждой ячейке таблицы может быть поставлен в соответствие некоторый объект.

Таблица предназначена в первую очередь для отображения текстовой информации, но в ней можно отображать и графическую информацию.

Основные свойства компонента, определяющие отображаемый текст: Cells - строка, содержащаяся в ячейке с заданными индексами столбца и строки, Cols - список строк, содержащихся в столбце с заданным индексом, Rows - список строк, содержащихся в строке с заданным индексом, Objects - объект, связанный со строкой, содержащейся в ячейке с заданными индексами столбца и строки.

Все эти свойства доступны во время выполнения.

Свойства ColCount и RowCount определяют соответственно число столбцов и строк, свойства FixedCols и FixedRows - число фиксированных, не прокручиваемых столбцов и строк. Цвет фона фиксированных ячеек определяется свойством FixedColor. Свойства LeftCol и TopRow определяют соответственно индексы первого видимого на экране в данный момент прокручиваемого столбца и первой видимой прокручиваемой строки.

Свойство ScrollBars определяет наличие в таблице полос прокрутки. Причем полосы прокрутки появляются и исчезают автоматически в зависимости от того, помещается таблица в соответствующий размер, или нет.

Свойство Options является множеством, определяющим многие свойства таблицы: наличие разделительных вертикальных и горизонтальных линий в фиксированных (goFixedVertLine и goFixedHorzLine) и не фиксированных (goVertLine и goHorzLine) ячейках, возможность для пользователя изменять с помощью мыши размеры столбцов и строк (goColSizing и goRowSizing), перемещать столбцы и строки (goColMoving и goRowMoving) и многое другое. Важным элементом в свойстве Options является goEditing - возможность редактировать содержимое таблицы.

Для отображения изображений компонент TStringGrid имеет канву Canvas.  Имеется метод CellRect, который возвращает область канвы, отведенную под ячейку с заданными индексами столбца и строки.


Основные свойства TStringGrid

Полный список    StringGrid

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
Canvas	Определяет поверхность (холст, канву) для изображения. Доступ только для чтения
Cells	Индексированный список строк всех клеток таблицы
Col	Индекс строки, содержащей выделенную ячейку
ColCount	Количество строк таблицы
Cols	Список строк, содержащихся в столбце с заданным индексом
ColWidths	Указывает ширину в пикселях столбцов таблицы
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
DefaultCol Width	Ширина в пикселях всех столбцов таблицы, размеры которых явно не изменялись
Default Drawing	Определяет автоматическую прорисовку ячеек при рисовании таблицы
DefaultRow Height	Высота в пикселях всех строк таблицы, размеры которых явно не изменялись
FixedColor	Определяет цвет фона фиксированных (не прокручиваемых с помощью полос прокрутки) колонок и рядов табличной сетки.
FixedCols	Определяет количество левых столбцов таблицы, которые не могут быть прокручены полосой прокрутки
FixedRows	Определяет количество верхних строк таблицы, которые не могут быть прокручены полосой прокрутки
GridHeight	Определяет высоту таблицы
GridLineWidth	Определяет ширину линий, разделяющих ячейки таблицы
GridWidth	Определяет ширину таблицы
LeftCol	Определяет индекс первого видимого прокручиваемого столбца таблицы
Objects	Список объектов, связанных с ячейками таблицы
Options	Множество опций, определяющих атрибуты отображения и поведения ячеек таблицы
Row	Индекс строки выделенной ячейки
RowCount	Количество строк таблицы
RowHeights	Определяет высоту всех строк таблицы
Rows	Список строк, содержащихся в строке таблицы с заданным индексом
ScrollBars	Определяет, включает ли таблица горизонтальные и вертикальные полосы прокрутки
Selection	Указывает область текущего выделения
TabStops	Индексированный список, определяющий возможность пользователя переходить клавишей табуляции на тот или иной столбец
TopRow	Определяет индекс первой видимой строки таблицы. Это первая видимая строка после фиксированных строк
VisibleCol Count	Количество видимых прокручиваемых столбцов
VisibleRow Count	Количество видимых прокручиваемых строк


TStringGrid - компонент
Все свойства TStringGrid

Основные свойства   StringGrid

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для изображения. Доступ только для чтения
Cells	Индексированный список строк всех клеток таблицы
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Col	Определяет индекс колонки, содержащей выделенную ячейку таблицы.
ColCount	Количество строк таблицы
Color	Указывает цвет фона компонента.
Cols	Список строк, содержащихся в столбце с заданным индексом
ColWidths	Указывает ширину в пикселях столбцов таблицы
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
Default ColWidth	Ширина в пикселях всех столбцов таблицы, размеры которых явно не изменялись.
Default Drawing	Определяет автоматическую прорисовку ячеек при рисовании таблицы
Default RowHeight	Высота в пикселях всех строк таблицы, размеры которых явно не изменялись
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
EditorMode	Определяет, может ли редактироваться текущая ячейка таблицы.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
FixedColor	Определяет цвет фона фиксированных (не прокручиваемых с помощью полос прокрутки) колонок и рядов табличной сетки.
FixedCols	Определяет количество левых столбцов таблицы, которые не могут быть прокручены полосой прокрутки
FixedRows	Определяет количество верхних строк таблицы, которые не могут быть прокручены полосой прокрутки
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
GridHeight	Определяет высоту таблицы
GridLine Width	Определяет ширину линий, разделяющих ячейки таблицы
GridWidth	Определяет ширину таблицы
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LeftCol	Определяет индекс первого видимого прокручиваемого столбца таблицы
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Objects	Перечисляет объекты для каждой ячейки табличной сетки.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Objects	Перечисляет объекты для каждой ячейки табличной сетки.
Options	Множество опций, определяющих атрибуты отображения и поведения ячеек таблицы
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
Row	Индекс строки выделенной ячейки
RowCount	Количество строк таблицы
RowHeights	Определяет высоту всех строк таблицы
Rows	Список строк, содержащихся в строке таблицы с заданным индексом
ScrollBars	Определяет, включает ли таблица горизонтальные и вертикальные полосы прокрутки
Selection	Указывает область текущего выделения
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
TabStops	Индексированный список, определяющий возможность пользователя переходить клавишей табуляции на тот или иной столбец
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
TopRow	Определяет индекс первой видимой строки таблицы. Это первая видимая строка после фиксированных строк
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость или невидимость компонента
VisibleCol Count	Количество видимых прокручиваемых столбцов
VisibleRow Count	Количество видимых прокручиваемых строк
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TStringGrid

Полный список    TStringGrid

Метод	Описание
CellRect	Возвращает область канвы, отведенную под ячейку с заданными индексами столбца и строки
MouseCoord	Возвращает индексы строки и столбца ячейки, которая содержит точку с заданными координатами экрана. Используется для идентификации ячейки под курсором мыши
MouseToCell	Возвращает в виде структуры индексы строки и столбца ячейки, которая содержит точку с заданными координатами экрана. Используется для идентификации ячейки под курсором мыши


Все методы TStringGrid

Основные методы   StringGrid

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
CellRect	Возвращает область канвы, отведенную под ячейку с заданными индексами столбца и строки
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	"Обнуляет" вновь размещенный экземпляр объекта и инициализирует указатель его виртуальной таблицы.
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseCoord	Возвращает индексы строки и столбца ячейки, которая содержит точку с заданными координатами экрана. Используется для идентификации ячейки под курсором мыши
MouseToCell	Возвращает в виде структуры индексы строки и столбца ячейки, которая содержит точку с заданными координатами экрана. Используется для идентификации ячейки под курсором мыши
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScaleControls	Масштабирует дочерние компоненты оконного элемента, не изменяя масштаба самого элемента.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TStringGrid
Основные события TStringGrid

Полный список    TStringGrid

Событие	Описание
OnColumnMoved	Происходит сразу после изменения позиции колонки.
OnDrawCell	Возникает при необходимости перерисовать изображение ячейки
OnGetEditMask	Наступает при начале редактирования и позволяет задать маску встроенного в ячейку редактора. Наступает только если Options включает опцию goEditing
OnGetEditText	Наступает при начале редактирования и позволяет задать текст встроенного в ячейку редактора. Наступает только если Options включает опцию goEditing
OnRowMoved	Событие наступает сразу после изменения позиции ряда.
OnSelectCell	Событие происходит перед выделением ячейки
OnSetEditText	Событие происходит, когда пользователь редактирует значение ячейки таблицы.
OnTopLeft Change	Событие происходит сразу после изменения свойств TopRow или LeftCol.


Все события TStringGrid

Специальные   StringGrid

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnColumnMoved	Происходит сразу после изменения позиции колонки.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawCell	Возникает при необходимости перерисовать изображение ячейки
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetEditMask	Наступает при начале редактирования и позволяет задать маску встроенного в ячейку редактора. Наступает только если Options включает опцию goEditing
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnRowMoved	Событие наступает сразу после изменения позиции ряда.
OnPopup	Событие происходит непосредственно перед появлением всплывающего меню.
OnSelectCell	Событие происходит перед выделением ячейки
OnSetEditText	Событие происходит, когда пользователь редактирует значение ячейки таблицы.
OnStartDrag	Событие наступает, когда пользователь начал процесс перетаскивания компонента.
OnTopLeftChange	Событие происходит сразу после изменения свойств TopRow или LeftCol.


TDrawGrid - компонент

Иерархия   Свойства   Методы   События

Таблица для отображения графической информации

Модуль grids

Описание

Компонент TDrawGrid представляет собой таблицу, ячейки которой содержат изображения. Если таблица должна содержать текстовую или текстовую и графическую информацию, следует использовать другой компонент - TStringGrid. Таблица может иметь полосы прокрутки, причем заданное число первых строк и столбцов может быть фиксированным и не прокручиваться. Таким образом, можно задать заголовки столбцов и строк, постоянно присутствующие в окне компонента.

Свойства ColCount и RowCount определяют соответственно число столбцов и строк, свойства FixedCols и FixedRows - число фиксированных, не прокручиваемых столбцов и строк. Цвет фона фиксированных ячеек определяется свойством FixedColor. Свойства LeftCol и TopRow определяют соответственно индексы первого видимого на экране в данный момент прокручиваемого столбца и первой видимой прокручиваемой строки.

Свойство ScrollBars определяет наличие в таблице полос прокрутки. Причем полосы прокрутки появляются и исчезают автоматически в зависимости от того, помещается таблица в соответствующий размер, или нет.

Свойство Options является множеством, определяющим многие свойства таблицы: наличие разделительных вертикальных и горизонтальных линий в фиксированных (goFixedVertLine и goFixedHorzLine) и не фиксированных (goVertLine и goHorzLine) ячейках, возможность для пользователя изменять с помощью мыши размеры столбцов и строк (goColSizing и goRowSizing), перемещать столбцы и строки (goColMoving и goRowMoving) и многое другое.

Для отображения изображений компонент TDrawGrid имеет канву Canvas.  Имеется метод CellRect, который возвращает область канвы, отведенную под ячейку с заданными индексами столбца и строки.


Основные свойства TDrawGrid

Полный список    DrawGrid

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
Canvas	Определяет поверхность (холст, канву) для изображения. Доступ только для чтения
Col	Индекс строки, содержащей выделенную ячейку
ColCount	Количество строк таблицы
ColWidths	Указывает ширину в пикселях столбцов таблицы
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
Default ColWidth	Ширина в пикселях всех столбцов таблицы, размеры которых явно не изменялись
Default Drawing	Определяет автоматическую прорисовку ячеек при рисовании таблицы
Default RowHeight	Определяет высоту (в пикселях) всех строк таблицы, размеры которых явно не изменялись.
EditorMode	Определяет, может ли редактироваться текущая ячейка таблицы.
FixedColor	Определяет цвет фона фиксированных (не прокручиваемых с помощью полос прокрутки) колонок и рядов табличной сетки.
FixedCols	Определяет количество левых столбцов таблицы, которые не могут быть прокручены полосой прокрутки
FixedRows	Определяет количество верхних строк таблицы, которые не могут быть прокручены полосой прокрутки
GridHeight	Определяет высоту таблицы
GridLineWidth	Определяет ширину линий, разделяющих ячейки таблицы
GridWidth	Определяет ширину таблицы
LeftCol	Определяет индекс первого видимого прокручиваемого столбца таблицы
Options	Множество опций, определяющих атрибуты отображения и поведения ячеек таблицы
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
Row	Индекс строки выделенной ячейки
RowCount	Количество строк таблицы
RowHeights	Определяет высоту всех строк таблицы
ScrollBars	Определяет, включает ли таблица горизонтальные и вертикальные полосы прокрутки
Selection	Указывает область текущего выделения
TabStops	Индексированный список, определяющий возможность пользователя переходить клавишей табуляции на тот или иной столбец
TopRow	Определяет индекс первой видимой строки таблицы. Это первая видимая строка после фиксированных строк
VisibleCol Count	Количество видимых прокручиваемых столбцов
VisibleRow Count	Количество видимых прокручиваемых строк


TDrawGrid - компонент
Все свойства TDrawGrid

Основные свойства   DrawGrid

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для изображения. Доступ только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Col	Индекс строки, содержащей выделенную ячейку
ColCount	Количество строк таблицы
Color	Указывает цвет фона компонента.
ColWidths	Указывает ширину в пикселях столбцов таблицы
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
Default ColWidth	Ширина в пикселях всех столбцов таблицы, размеры которых явно не изменялись
Default Drawing	Определяет автоматическую прорисовку ячеек при рисовании таблицы
Default RowHeight	Определяет высоту (в пикселях) всех строк таблицы, размеры которых явно не изменялись.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
EditorMode	Определяет, может ли редактироваться текущая ячейка таблицы.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
FixedColor	Определяет цвет фона фиксированных (не прокручиваемых с помощью полос прокрутки) колонок и рядов табличной сетки.
FixedCols	Определяет количество левых столбцов таблицы, которые не могут быть прокручены полосой прокрутки
FixedRows	Определяет количество верхних строк таблицы, которые не могут быть прокручены полосой прокрутки
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
GridHeight	Определяет высоту таблицы
GridLineWidth	Определяет ширину линий, разделяющих ячейки таблицы
GridWidth	Определяет ширину таблицы
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LeftCol	Определяет индекс первого видимого прокручиваемого столбца таблицы
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Options	Множество опций, определяющих атрибуты отображения и поведения ячеек таблицы
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
Row	Индекс строки выделенной ячейки
RowCount	Количество строк таблицы
RowHeight	Определяет высоту всех строк таблицы
ScrollBars	Определяет, включает ли таблица горизонтальные и вертикальные полосы прокрутки
Selection	Указывает область текущего выделения
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
TabStops	Индексированный список, определяющий возможность пользователя переходить клавишей табуляции на тот или иной столбец
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
TopRow	Определяет индекс первой видимой строки таблицы. Это первая видимая строка после фиксированных строк
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента
VisibleCol Count	Количество видимых прокручиваемых столбцов
VisibleRow Count	Количество видимых прокручиваемых строк
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TDrawGrid

Полный список    TDrawGrid

Метод	Описание
CellRect	Возвращает область канвы, отведенную под ячейку с заданными индексами столбца и строки
MouseCoord	Возвращает индексы строки и столбца ячейки, которая содержит точку с заданными координатами экрана. Используется для идентификации ячейки под курсором мыши
MouseToCell	Возвращает в виде структуры индексы строки и столбца ячейки, которая содержит точку с заданными координатами экрана. Используется для идентификации ячейки под курсором мыши


Все методы TDrawGrid

Основные методы   TDrawGrid

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
CellRect	Возвращает область канвы, отведенную под ячейку с заданными индексами столбца и строки
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
ColumnMoved	Генерирует событие OnColumnMoved
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetEditMask	Генерирует событие OnGetEditMask.
GetEditText	Генерирует событие OnGetEditText.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseCoord	Возвращает индексы строки и столбца ячейки, которая содержит точку с заданными координатами экрана. Используется для идентификации ячейки под курсором мыши
MouseToCell	Возвращает в виде структуры индексы строки и столбца ячейки, которая содержит точку с заданными координатами экрана. Используется для идентификации ячейки под курсором мыши
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
TopLeftChange	Генерирует событие OnTopLeftChange.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDrawGrid
Основные события TDrawGrid

Полный список    TDrawGrid

Событие	Описание
OnColumnMoved	Происходит сразу после изменения позиции колонки.
OnDrawCell	Возникает при необходимости перерисовать изображение ячейки
OnGetEditMask	Наступает при начале редактирования и позволяет задать маску встроенного в ячейку редактора. Наступает только если Options включает опцию goEditing
OnGetEditText	Наступает при начале редактирования и позволяет задать текст встроенного в ячейку редактора. Наступает только если Options включает опцию goEditing
OnRowMoved	Событие наступает сразу после изменения позиции ряда.
OnSelectCell	Событие происходит перед выделением ячейки
OnSetEditText	Событие происходит, когда пользователь редактирует значение ячейки таблицы.
OnTopLeft Chage	Событие происходит сразу после изменения свойств TopRow или LeftCol.


Все события TDrawGrid

Специальные   TDrawGrid

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnColumnMoved	Происходит сразу после изменения позиции колонки.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawCell	Возникает при необходимости перерисовать изображение ячейки
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса.
OnGetEditMask	Наступает при начале редактирования и позволяет задать маску встроенного в ячейку редактора. Наступает только если Options включает опцию goEditing
OnGetEditText	Наступает при начале редактирования и позволяет задать текст встроенного в ячейку редактора. Наступает только если Options включает опцию goEditing
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnMouse WheelDown	Событие происходит при вращении шарика мыши вниз.
OnMouse WheelUp	Событие происходит при вращении шарика мыши вверх.
OnRowMoved	Событие наступает сразу после изменения позиции ряда.
OnSelectCell	Событие происходит перед выделением ячейки
OnSetEditText	Событие происходит, когда пользователь редактирует значение ячейки таблицы.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnTopLeft Chage	Событие происходит сразу после изменения свойств TopRow или LeftCol.


TShape - компонент

Иерархия   Свойства   Методы   События

Используется для отображения на форме геометрических фигур: квадратов, кругов и т.п.

Модуль extctrls

Описание

TShape позволяет отображать на форме простые геометрические фигуры, соответствующим образом заштрихованные. Основное свойство этого компонента - Shape (форма), которое может принимать значения: stRectangle - прямоугольник, stRoundRect - прямоугольник со скругленными углами, stSquare - квадрат, stRoundSquare - квадрат со скругленными углами, stEllipse - эллипс, stCircle - круг.

Свойство компонента Brush (кисть) типа TBrush, определяет заполнение фигуры: цвет (Brush.Color) и стиль (Brush.Style). Свойство Pen (перо) типа TPen определяет стиль линий.


Основные свойства TShape

Полный список    TShape

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Brush	Кисть - определяет цвет и стиль заполнения фигуры
Pen	Определяет атрибуты пера (стиль и цвет линии), используемого для рисования линий
Shape	Определяет фигуру: stRectangle - прямоугольник, stRoundRect - прямоугольник со скругленными углами, stSquare - квадрат, stRoundSquare - квадрат со скругленными углами, stEllipse - эллипс, stCircle - круг


TShape - компонент
Все свойства TShape

Основные свойства   TShape

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фигуры
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Height	Указывает высоту компонента в пикселях.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentShowHint	Включает и выключает использование родительского свойства ShowHint
Pen	Определяет атрибуты пера (стиль и цвет линии), используемого для рисования линий
Shape	Определяет фигуру: stRectangle - прямоугольник, stRoundRect - прямоугольник со скругленными углами, stSquare - квадрат, stRoundSquare - квадрат со скругленными углами, stEllipse - эллипс, stCircle - круг
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента при его вертикальном встраивании. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TShape

Все методы   TShape

Метод	Описание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
Hide	Делает компонент невидимым
Show	Делает видимым невидимый компонент.


Все методы TShape

Основные методы   TShape

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Create	Создает и инициализирует экземпляр компонента.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TShape

TShape

Событие	Описание
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TBevel - компонент

Иерархия   Свойства   Методы

Используется для рисования прямоугольной рамки и линий, изображенных как выпуклые или утопленные

Модуль extctrls

Описание

Компонент TBevel используется для рисования прямоугольной рамки и линий, изображенных как выпуклые или утопленные. Компонент формально не является панелью, он не может служить контейнером для компонентов. Например, с помощью TBevel нельзя сгруппировать радиокнопки. Однако, чисто зрительно компонент TBevel может использоваться как подобие панели, для визуального объединения группы каких-то элементов.

Стиль отображения TBevel определяется свойством Style, которое может принимать значения bsLowered - утопленный, и bsRaised - приподнятый. А контур компонента определяется свойством Shape, которое может принимать значения: bsBox - прямоугольник, bsFrame - рамка, bsSpacer - пунктирная рамка, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine - соответственной верхняя, нижняя, левая и правая линии.


Основные свойства TBevel

Полный список    TBevel

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
Shape	Определяет контур компонента: bsBox - прямоугольник, bsFrame - рамка, bsSpacer - пунктирная рамка, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine - соответственной верхняя, нижняя, левая и правая линии
Style	Определяет вид изображения: bsLowered - утопленный, и bsRaised - приподнятый


TBevel - компонент
Все свойства TBevel

Основные свойства   TBevel

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Height	Указывает высоту компонента в пикселях.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
Shape	Определяет контур компонента: bsBox - прямоугольник, bsFrame - рамка, bsSpacer - пунктирная рамка, bsTopLine, bsBottomLine, bsLeftLine, bsRightLine - соответственной верхняя, нижняя, левая и правая линии
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Style	Определяет вид изображения: bsLowered - утопленный, и bsRaised - приподнятый
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента при его вертикальном встраивании. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TBevel
Методы TBevel

TBevel

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Create	Создает и инициализирует экземпляр компонента.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


TScrollBox - компонент

Иерархия   Свойства   Методы   События

Панель с прокруткой

Модуль forms

Описание

Компонент TScrollBox предназначен для создания области, в которой могут размещаться компоненты, занимающие площадь большую, чем сам TScrollBox. Например, компонент TScrollBox можно использовать для размещения длинных текстовых строк или больших инструментальных панелей, которые исходя из соображений экономии площади окна нецелесообразно отображать целиком. Если размеры TScrollBox меньше, чем размещенные компоненты, то появляются полосы прокрутки, которые позволяют пользователю перемещаться по всем размещенным в TScrollBox компонентам.

Разместить в пределах небольшой области ScrollBox большие компоненты или много компонентов, занимающих в сумме большую площадь, можно в процессе проектирования, например, с помощью такого приема. Увеличьте временно размер TScrollBox так, чтобы в этом компоненте поместилось все, что вы хотите разместить. Проведите необходимое размещение. А затем сократите размеры TScrollBox до требуемых.

Свойство BorderStyle определяет стиль рамки компонента TScrollBox. Свойство AutoScroll позволяет задать автоматическое появление необходимых полос прокрутки, если размер размещенных компонентов превышает размер области по горизонтали, вертикали или в обоих измерениях. Если по каким-то соображениям это нежелательно, вы можете сами управлять появлением горизонтальной и вертикальной полос с помощью свойств HorzScrollBar и VertScrollBar соответственно. Но в этом случае вы должны сами задавать ряд свойств полосы прокрутки и, прежде всего, Range - размер в пикселях прокручиваемой области. Значение перемещения при однократном нажатии пользователем кнопки прокрутки может рассчитываться компонентом автоматически исходя из размеров области и окна, если свойство полосы прокрутки Smooth установлено в true. В противном случае вы должны задать величину единичного перемещения в свойстве Increment.


Основные свойства TScrollBox

Полный список

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoScroll	Позволяет задать автоматическое появление необходимых полос прокрутки, если размер размещенных компонентов превышает размер области по горизонтали, вертикали или в обоих измерениях
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
HorzScrollBar	Определяет горизонтальную полосу прокрутки, позволяя управлять ее появлением и задавать ее свойства. Используется при AutoScroll = false
VertScrollBar	Определяет вертикальную полосу прокрутки, позволяя управлять ее появлением и задавать ее свойства. Используется при AutoScroll = false


TScrollBox - компонент
Все свойства TScrollBox

Основные свойства   TScrollBox

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом - разделом меню, кнопкой и др.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoScroll	Позволяет задать автоматическое появление необходимых полос прокрутки, если размер размещенных компонентов превышает размер области по горизонтали, вертикали или в обоих измерениях
AutoSize	Определяет, будут ли размеры компонента автоматически соответствовать его содержанию.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения на допустимые изменения размеров компонента при изменении размеров окна приложения для поддержания нормальных пропорций между отдельными частями окна. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HorzScroll Bar	Определяет горизонтальную полосу прокрутки, позволяя управлять ее появлением и задавать ее свойства. Используется при AutoScroll = false
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
VertScroll Bar	Определяет вертикальную полосу прокрутки, позволяя управлять ее появлением и задавать ее свойства. Используется при AutoScroll = false
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TScrollBox

Полный список    TScrollBox

Метод	Описание
DisableAuto Range	Временно запрещает автоматическую прокрутку. Применяется при перестроении компонентов на панели
EnableAuto Range	Разрешает автоматическую прокрутку, отменяя действие ранее вызванного метода DisableAutoRange
ScrollBy	Осуществляет прокрутку на заданные значения по вертикали и горизонтали
ScrollingView	Прокручивает видимую область так, чтобы был виден указанный компонент


Все методы TScrollBox

Основные методы   TScrollBox

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
DisableAuto Range	Временно запрещает автоматическую прокрутку. Применяется при перестроении компонентов на панели
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EnableAuto Range	Разрешает автоматическую прокрутку, отменяя действие ранее вызванного метода DisableAutoRange
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта.
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Осуществляет прокрутку на заданные значения по вертикали и горизонтали
ScrollingView	Прокручивает видимую область так, чтобы был виден указанный компонент
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Устанавливает текст компонента в определённом буфере
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TScrollBox

TScrollBox

Событие	Описание
OnCanResize	Событие происходит при попытке изменить размеры компонента.
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnConstrainted Resize	Событие происходит сразу после события OnCanResize
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnMouseWheel	Наступает при вращении шарика мыши
OnMouse WheelDown	Наступает при вращении шарика мыши вниз, если не было обработано событие OnMouseWheel
OnMouse WheelUp	Наступает при вращении шарика мыши вверх, если не было обработано событие OnMouseWheel
OnResize	Событие происходит сразу после изменения размеров компонента.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUndock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


TCheckListBox - компонент

Иерархия   Свойства   Методы   События

Список строк с индикаторами

Модуль checklst

Описание

Компонент TCheckListBox аналогичен компоненту списка строк  TListBox, за исключением того, что рядом с каждый элементом находится окно с флажком - индикатор, который пользователь может включать и выключать, помечая элементы списока.

Основное свойство компонента, содержащее список строк, - Items, имеющее тип TStrings. Заполнить его во время проектирования можно, нажав кнопку с многоточием около этого свойства в окне Инспектора Объектов. Во время выполнения работать с этим свойством можно, пользуясь свойствами и методами класса TStrings - Clear, Add и другими.

Индекс выбранной пользователем строки определяется свойством ItemIndex, доступным только во время выполнения. Если ни одна строка не выбрана, то ItemIndex = -1. Начальное значение ItemIndex невозможно задать во время проектирования. По умолчанию ItemIndex = -1. Это означает, что ни один элемент списка не выбран. Если вы хотите задать этому свойству какое-то другое значение, т.е. установить выбор по умолчанию, который будет показан в момент начала работы приложения, то сделать это можно, например, в обработчике события OnCreate формы, введя в него оператор вида

ChecListBox1.ItemIndex:=0;

Свойство Columns определяет число столбцов, в которых будет отображаться список, если он не помещается целиком в окне компонента TCheckListBox.

Свойство Sorted позволяет упорядочить список по алфавиту. При Sorted = true новые строки в список добавляются не в конец, а по алфавиту.

Свойство Style, установленное в lbStandard (значение по умолчанию) соответствует списку строк. Другие значения Style позволяют отображать в списке не только текст, но и изображения.

Состояния индикаторов определяют два свойства: State и Checked. Оба эти свойства можно рассматривать как индексированные массивы, каждый элемент которого соответствует индексу строки. Эти свойства можно устанавливать программно или читать, определяя установки пользователя. Например, операторы

CheckListBox1.Checked[1]:=true;

CheckListBox1.State[2]:=cbGrayed;

устанавливают индикатор второй строки списка CheckListBox1 в состояние выбранного, а индикатор третьей строки - в промежуточное состояние (вспомним, что индексы начинаются с 0).

Оператор

for i:=0 to CheckListBox1.Items.Count - 1 do

  if CheckListBox1.Checked[i]

   then ...

проверяет состояние всех индикаторов списка и для выбранных пользователем строк осуществляет какие-то действия (в приведенном операторе на месте этих действий просто поставлено многоточие).

В компоненте CheckListBox имеется событие OnClickCheck, возникающее при каждом изменении пользователем состояния индикатора. Его можно использовать для обработки результатов изменения.


Основные свойства TCheckListBox

Полный список    TCheckListBox

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
AllowGrayed	Разрешает или запрещает появление в индикаторе третьего состояния cbGrayed
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
Checked	Индексированный массив, каждый элемент которого соответствует индексу строки и определяет, включен ли в ней индикатор (имеет ли он флажок)
Columns	Число столбцов, в которых будет отображаться список, если он не помещается целиком в окне
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ItemEnabled	Индексированный массив, определяющий доступность или недоступность каждого элемента списка. Индикатор недоступного элемента закрашивается серым цветом и не может быть переключен пользователем
ItemIndex	Указывает порядковый номер элемента, выделенного в списке
Items	Массив строк элементов списка типа TStrings
Selected	Индексированный массив,  указывающий для каждого элемента, выбран ли он
Sorted	Указывает, должны ли строки в списке автоматически сортироваться в алфавитном порядке
State	Индексированный массив, определяющий состояния всех индикаторов: cbUnchecked (не включен), cbChecked (включен), cbGrayed (в третьем состоянии)
Style	Определяет, будет ли окно списка стандартным, отображающим только текст, или будет позволять отображение также графических образов
TopIndex	Определяет индекс элемента, находящегося вверху окна


TCheckListBox - компонент
Все свойства TCheckListBox

Основные свойства   TCheckListBox

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
AllowGrayed	Разрешает или запрещает появление в индикаторе третьего состояния cbGrayed
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush, для наложения друг на друга нескольких изображений. Доступ только для чтения
Checked	Индексированный массив, каждый элемент которого соответствует индексу строки и определяет, включен ли в ней индикатор (имеет ли он флажок)
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
Columns	Число столбцов, в которых будет отображаться список, если он не помещается целиком в окне
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Flat	Определяет, имеет ли кнопка 3D бордюр, придающий кнопке выступающий или утопленный вид.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Integral Height	Определяет, отображает ли окно списков элементы полностью. Управляет высотой окна списков.
ImeMode	Определяет режим работы входного редактора метода IME - (input method editor).IME - внешний входной процессор для Азиатских языковых символов IME  - иероглифов, преобразующий их в код, пригодный для использования в приложениях Delphi.
ImeName	Указывает входной редактор метода (IME) для преобразования данных, вводимых  с клавиатуры в Азиатские языковые символы. IME - внешний входной процессор для Азиатских языковых символов. Значение ImeName определяет, какой IME используется для преобразования нажатий клавиши. IME перехватывает нажатия клавиш клавиатуры, преобразует их в Азиатские символы в конверсионном окне и посылает преобразованные символы в Delphi приложения.
ItemEnabled	Индексированный массив, определяющий доступность или недоступность каждого элемента списка. Индикатор недоступного элемента закрашивается серым цветом и не может быть переключен пользователем
ItemHight	Указывает высоту в пикселях элемента в окне списков.
ItemIndex	Указывает порядковый номер элемента, выделенного в списке
Items	Массив строк элементов списка типа TStrings
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
SelCount	Указывает количество выделенных элементов, если допускается выделение группы элементов.
Selected	Индексированный массив,  указывающий для каждого элемента, выбран ли он
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Sorted	Указывает, должны ли строки в списке автоматически сортироваться по алфавиту.
State	Индексированный массив, определяющий состояния всех индикаторов: cbUnchecked (не включен), cbChecked (включен), cbGrayed (в третьем состоянии)
Style	Определяет, будет ли окно списка стандартным, отображающим только текст, или будет позволять отображение также графических образов
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
TabWidth	Определяет число отступов, соответствующих символу табуляции
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего левого угла компонента относительно родителя или контейнера, в пикселях.
TopIndex	Определяет индекс элемента, находящегося вверху окна
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TCheckListBox

Полный список    TCheckListBox

Метод	Описание
Clear	Удаляет все элементы списка
ItemAtPos	Возвращает индекс элемента списка, соответствующего указанным координатам
ItemRect	Возвращает прямоугольник, описывающий указанный элемент списка


Все методы TCheckListBox

Основные методы   TCheckListBox

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет все элементы списка
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта.
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ItemAtPos	Возвращает индекс элемента списка, соответствующего указанным координатам
ItemRect	Возвращает прямоугольник, описывающий указанный элемент списка
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Перерисовывает изображение компонента на экране.
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Устанавливает текст компонента в определённом буфере
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновляет действие Action, связанное с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)


События TCheckListBox
Основные события TCheckListBox

Полный список    TCheckListBox

Событие	Описание
OnClickCheck	Наступает, когда пользователь изменяет состояние индикатора элемента списка
OnDrawItem	Наступает при необходимости перерисовать элемент списка
OnMeasureItem	Наступает при необходимости перерисовать элемент в списке с изменяемой высотой элементов


Все события TCheckListBox

Основные события   TCheckListBox

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnClickCheck	Наступает, когда пользователь изменяет состояние индикатора элемента списка
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawItem	Наступает при необходимости перерисовать элемент списка
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMeasureItem	Наступает при необходимости перерисовать элемент в списке с изменяемой высотой элементов
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TSplitter - компонент

Иерархия   Свойства   Методы   События

Разделитель панелей, используется для создания в приложении панелей с изменяемыми пользователем размерами

Модуль extctrls

Описание

Компонент TSplitter вставляется между двумя панелями, выровненными с помощью их свойства Align, и позволяет пользователю сдвигать границу между этими панелями. Последовательность операций по введению TSplitter во время проектирования может быть, например, следующая. Вы размещаете на форме панель TPanel (Panel1) и задаете у нее Align = alLeft. Панель займет левую часть окна. Затем вы размещаете на форме разделитель TSplitter и задайте у него Align = alLeft. Разделитель прижмется к правой стороне панели Panel1, которая уже выровнена в ту же сторону. Разделитель всегда надо выравнивать только после выравнивания соответствующей панели, так как иначе он прижмется просто к краю формы. После этого можно разместить на форме панель Panel2 и задать у нее Align = alClient. Разделитель окажется зажатым между Panel1 и Panel2.

Свойство ResizeStyle компонента TSplitter определяет поведение разделителя при перемещении его пользователем. По умолчанию это свойство равно rsPattern. Это означает, что пока пользователь тянет курсором мыши границу, перемещается только шаблон линии, указывая место намечаемого перемещения границы. Практически такая же картина наблюдается, если установить ResizeStyle = rsLine. При ResizeStyle = rsUpdate в процессе перетаскивания границы пользователем разделитель тоже перемещается и размеры панелей все время меняются. Это сопровождается постоянной перерисовкой панелей и наблюдается неприятное мерцание изображения. Если установить ResizeStyle = rsNone, то в процессе перетаскивания границы не перемещается ни сама граница, ни изображающая ее линия. Вряд ли это удобно пользователю.

Свойство MinSize компонента TSplitter устанавливает минимальный размер в пикселях обеих панелей, между которыми зажат разделитель.

К сожалению, в версиях Delphi, младше Delphi 5, свойство MinSize не всегда срабатывает верно. В Delphi 5 введено новое свойство компонента Splitter - AutoSnap. Если оно установлено в true (по умолчанию), то при перемещении границы возможны те же неприятности, что в младших версиях Delphi. Но если установить AutoSnap в true, то перемещение границы панелей сверх пределов, при которых размер одной из панелей станет меньше MinSize, просто блокируется. Так что можно рекомендовать всегда устанавливать AutoSnap в true. Впрочем, и это не решает всех задач, связанных с перемещением границ панелей, так как ограничение MinSize относится к обеим панелям, граница между которыми перемещается, а в ряде случаев желательно раздельно установить различные минимальные размеры одной и другой панели. Это проще сделать, задав в панелях соответствующие значения свойства Constraints.

Компонент TSplitter имеет событие OnMoved, которое наступает после конца перемещения границы. В обработчике этого события можно предусмотреть, если необходимо, упорядочение размещения компонентов на панелях, размеры которых изменились: переместить какие-то метки, изменить размеры компонентов и т.д.


Основные свойства TSplitter

Полный список    TSplitter

Свойство	Описание
Align	Определяет выравнивание разделителя в сторону уже выровненной панели
AutoSnap	Блокирует уменьшение размеров изменяемых панелей ниже MinSize
Beveled	Определяет (при значении true) объемное оформление разделителя, делающее его более заметным для пользователя
MinSize	Определяет минимальный размер панелей по обе стороны от разделителя
ResizeStyle	Определяет стиль перемещения разделителя во время выполнения


TSplitter - компонент
Все свойства TSplitter

Основные свойства   TSplitter

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSnap	Блокирует уменьшение размеров изменяемых панелей ниже MinSize
Beveled	Определяет (при значении true) объемное оформление разделителя, делающее его более заметным для пользователя
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush, для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Height	Указывает высоту компонента в пикселях.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MinSize	Определяет минимальный размер панелей по обе стороны от разделителя
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentColor	Указывает, где компонент отыскивает информацию о своём цвете.
ResizeStyle	Определяет стиль перемещения разделителя во время выполнения
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Доступ только для чтения.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TSplitter

Полный список    TSplitter

В компоненте объявлено только несколько защищенных матов, которые нельзя вызывать из приложения. Остальные методы компонент наследует от TControl


Все методы TSplitter

Основные методы   TSplitter

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
CanResize	Защищенный метод, определяющий реакцию разделителя на перемещение мыши. Вызывается методом DoCanResize для генерации события OnCanResize
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Create	Создает и инициализирует экземпляр компонента TSplitter.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом.
DoCanResize	Защищенный метод, генерирующий событие OnCanResize
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseDown	Защищенный метод, реагирующий на изменение размеров при нажатии кнопки мыши
MouseMove	Защищенный метод, реагирующий на перемещение курсора мыши
MouseUp	Защищенный метод, изменяющий размеры перестраиваемых компонентов при отпускании кнопки мыши
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Paint	Защищенный метод, перерисовывания разделителя
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
RequestAlign	Защищенный метод, изменяющий курсор над разделителем
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
StopSizing	Защищенный метод, срабатывающий при отпускании кнопки мыши и генерирующий событие OnMoved
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TSplitter
Основные события TSplitter

Все события   TSplitter

Событие	Описание
OnCanResize	Наступает, когда пользователь начинает передвигать разделитель. В обработчике можно запретить перемещение
OnMoved	Наступает после конца перемещения границы. В обработчике можно предусмотреть упорядочение размещения компонентов на панелях, размеры которых изменились


Все события TSplitter

Основные события   TSplitter

Событие	Описание
OnCanResize	Событие происходит, когда пользователь пытается передвинуть TSplitter с помощью мыши.
OnMoved	Событие происходит, когда пользователь изменил покрытие формы подокнами, используя TSplitter.
OnPaint	Событие происходит, когда TSplitter необходимо перерисовать.


TStaticText - компонент

Иерархия   Свойства   Методы   События

Метка, отображающая однострочный текст с возможностью задания стиля обрамления

Модуль stdctrls

Описание

TStaticText - оконный компонент, отображающий однострочный текст на форме, не подлежащий редактированию. TStaticText функционирует подобно метке TLabel, за исключением того, что он потомок TWinControl и поэтому имеет вид и многие свойства окна, включая возможность оформления более красивого обрамления надписи, чем в TLabel.

Текст метки задается свойством Caption. Шрифт надписи определяется свойством Font, цвет фона - свойством Color, а цвет надписи - подсвойством Color свойства Font. Размер меток TStaticText определяется свойством AutoSize. Если это свойство установлено в true, то вертикальный и горизонтальный размеры компонента определяются размером надписи. Если же AutoSize равно false, то выравнивание текста внутри компонента определяется свойством Alignment, которое позволяет выравнивать текст по левому краю, правому краю или центру клиентской области метки.

В метке TStaticText автоматически осуществляется перенос длинного текста по словам, если значение AutoSize установлено в false и размер компонента достаточен для размещения нескольких строк. Для того, чтобы в StaticText осуществлялся перенос при изменении пользователем размеров окна, надо осуществлять перерисовку компонента методом Repaint в обработчике события формы OnResize.

TStaticText имеет свойство BorderStyle, определяющее рамку текста - бордюр. При стиле BorderStyle = sbsNone метка TStaticText по виду не отличается от метки TLabel. Вероятно, если уж использовать бордюр, то наиболее приятный стиль BorderStyle = sbsSunken.


Основные свойства TStaticText

Полный список   TStaticText

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Alignment	Определяет способ выравнивания текста внутри компонента - по левому краю, правому краю, центру. Значение по умолчанию taLeftJustify - по левому краю.
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будет ли компонент автоматически изменять свои размеры, адаптируясь к размерам текста.
BorderStyle	Определяет стиль бордюра надписи
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Caption	Надпись метки
Color	Указывает цвет фона компонента.
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
FocusControl	Определяет оконный компонент, получающий фокус при нажатии пользователем клавиши быстрого доступа метки
Font	Определяет атрибуты шрифта.
ShowAccel Char	Определяет, как амперсант отображается в тексте метки


TStaticText - компонент
Все свойства TStaticText

Основные свойства   TStaticText

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Alignment	Определяет способ выравнивания текста внутри компонента - по левому краю, правому краю, центру. Значение по умолчанию taLeftJustify - по левому краю.
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будет ли компонент автоматически изменять свои размеры, адаптируясь к размерам текста.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Определяет стиль бордюра надписи
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Caption	Надпись метки
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
FocusControl	Определяет оконный компонент, получающий фокус при нажатии пользователем клавиши быстрого доступа метки
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ShowAccel Char	Определяет, как амперсант отображается в тексте метки
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TStaticText

Полный список    TStaticText

Метод	Описание
Hide	Делает компонент невидимым
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
Show	Делает видимым невидимый компонент


Все методы TStaticText

Основные методы   TStaticText

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, распределяемую предшествующим вызовом в методе NewInstance
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM
GetInterface	Извлекает интерфейс, опознаваемый данным идентификатором
GetInterface Entry	Возвращает вход для отдельного интерфейса, реализованного в классе
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает компонент
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TStaticText

TStaticText

Никаких специальных событий в компоненте нет

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TControlBar - компонент

Иерархия   Свойства   Методы   События

Используется для построения перестраиваемых инструментальных панелей с использованием технологии Drag&Doc

Модуль Extctrls

Описание

Компонент TControlBar, как и компонент TCoolBar, относится к числу перестраиваемых панелей и служит для составления сложных инструментальных панелей, состоящих из ряда других панелей, размещенных на полосах TControlBar. Отличие от TCoolBar заключается в широком применении техники перетаскивания и встраивания Drag&Doc, которую вы можете видеть в инструментальных панелях Delphi 5. На TControlBar можно поместить различные компоненты, например, инструментальные панели TToolBar, окна редактирования TEdit и др. Каждый компонент, попадая на TControlBar, получает полосу захвата, свойственную технологии Drag&Doc. В дальнейшем пользователь сможет все эти компоненты перемещать по TControlBar и даже вынимать из TControlBar, превращая в самостоятельные плавающие окна.

Свойство AutoDrag компонента TControlBar определяет, можно (при значении true), или нельзя простым перетаскиванием вынести полосу за пределы TControlBar. Но чтобы воспользоваться этой возможностью надо у компонентов, размещенных на TControlBar, установить свойства DragMode = dmAutomatic и DragKind = dkDock. Это будет означать автоматическое выполнение операций Drag&Doc. Если этого не сделать, допускается только перемещение компонентов по полосам TControlBar.

Свойства RowSize и RowSnap компонента TControlBar определяют процедуру встраивания. Свойство RowSize задает размеры полос, в которые могут встраиваться компоненты, а RowSnap определяет захват полосами встраиваемых компонентов.

Свойство AutoDock, установленное в true, обеспечивает временное встраивание компонента, перетаскиваемого над панелью, в TControlBar. Это позволяет пользователю наглядно представлять результат перетаскивания. Причем это относится не только к компонентам, первоначально находившимся на TControlBar, но и к любому перетаскиваемому и встраиваемому компоненту.


Основные свойства TControlBar

Полный список    TControlBar

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoDock	Обеспечивает временное встраивание компонента, перетаскиваемого над панелью, в TControlBar.
AutoDrag	Определяет, можно (при значении true), или нельзя простым перетаскиванием вынести полосу за пределы TControlBar
AutoSize	Определяет, будет ли высота панели автоматически подгоняться под размеры расположенных на ней компонентов
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
Picture	Определяет рисунок - шаблон, заполняющий фон панели
RowSize	Определяет высоту полос, на которых располагаются компоненты
RowSnap	Определяет захват полосами встраиваемых компонентов. Если RowSnap = true, то высота встраиваемых компонентов становится равной высоте полос RowSize


TControlBar - компонент
Все свойства TControlBar

Основные свойства   TControlBar

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
AutoDock	Обеспечивает временное встраивание компонента, перетаскиваемого над панелью, в TControlBar.
AutoDrag	Определяет, можно (при значении true), или нельзя простым перетаскиванием вынести полосу за пределы TControlBar
AutoSize	Определяет, будет ли высота панели автоматически подгоняться под размеры расположенных на ней компонентов
AutoSize	Определяет, будут ли размеры компонента автоматически соответствовать его содержанию.
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush, для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentColor	Указывает, где компонент отыскивает информацию о своём цвете.
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
Picture	Определяет рисунок - шаблон, заполняющий фон панели
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
RowSize	Определяет высоту полос, на которых располагаются компоненты
RowSnap	Определяет захват полосами встраиваемых компонентов. Если RowSnap = true, то высота встраиваемых компонентов становится равной высоте полос RowSize
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TControlBar
Специальные методы TControlBar

Полный список    TControlBar

Никаких специальных методов, вызываемых из приложения, в компоненте не объявлено.


Все методы TControlBar

Специальные методы   TControlBar

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Определяет, какой дочерний компонент имеется в указанной позиции.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода. Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Временно запрещает выравнивание дочерних компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
StickControls	Виртуальный метод окончательного размещения компонентов после перетаскивания
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TControlBar
Специальные события TControlBar

Полный список   TControlBar

Событие	Описание
OnBandDrag	Наступает, когда пользователь начинает перетаскивания указанного компонента. В обработчике можно запретить перетаскивание
OnBandInfo	Наступает при согласовании позиции встраиваемого в панель компонента
OnBandMove	Наступает при перемещении панели
OnBandPaint	Наступает при прорисовке полос панели
OnPaint	Наступает при прорисовке панели


Все события TControlBar

Специальные   TControlBar

Событие	Описание
OnBandDrag	Наступает, когда пользователь начинает перетаскивания указанного компонента. В обработчике можно запретить перетаскивание
OnBandInfo	Наступает при согласовании позиции встраиваемого в панель компонента
OnBandMove	Наступает при перемещении панели
OnBandPaint	Наступает при прорисовке полос панели
OnCanResize	Событие происходит при попытке произвести изменение размеров компонента.
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnConstrained Resize	Событие происходит сразу после OnCanResize.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetSiteInfo	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnPaint	Наступает при прорисовке панели
OnResize	Событие происходит сразу после изменения размеров компонента.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUndock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


Литература по TApplicationEvents
книга [2]:

раздел 9.4   - общее описание компонента, его методов и событий, примеры

раздел 7.6   - пример применения для отображения в ярлычке длинного текста окна редактирования

книга [3]:

раздел 1.7   - пример применения во фрейме

раздел 1.9   - пример применение для отображения подсказки в строке состояния

раздел 3.2.1 - пример применение для перехвата нажатия клавиш


TApplicationEvents - компонент

Иерархия   Свойства   Методы   События   Литература

Компонент TApplicationEvents перехватывает события приложения - объекта Application

Модуль Appevnts

Описание

Компонент TApplicationEvents перехватывает события приложения - объекта Application типа TApplication. Этот объект, не имеющий соответствующего ему компонента в VCL, имеет множество полезных событий. Компонент TApplicationEvents позволяет писать обработчики этих событий как обработчики событий невизуального компонента TApplicationEvents.

На каждой форме приложения можно разместить свой компонент TApplicationEvents. События объекта Application будут передаваться всем этим компонентам. Если вы хотите, чтобы событие передавалось прежде всего какому-то одному из них, примените к нему метод Activate, который поставит его в начало очереди компонентов TApplicationEvents. Если же вы при этом не хотите, чтобы другие компоненты TApplicationEvents получали события, примените к привилегированному компоненту метод CancelDispatch. Тогда после обработки события в данном компоненте другие компоненты TApplicationEvents вообще не будут реагировать на эти события.

Во многие обработчики событий компонента TApplicationEvents передается по ссылке параметр Handled. По умолчанию его значение равно false. Если вы обработали соответствующее событие и не хотите, чтобы оно далее обрабатывалось другими компонентами TApplicationEvents, надо в обработчике установить Handled = true. Если же вы оставите Handled = false, то событие будут пытаться обрабатывать другие компоненты TApplicationEvents (если они есть). Если событие так и останется необработанным, то его будет пытаться обработать активный компонент, а если не обработает - то активная форма. Предотвратить обработку события другими компонентами можно, используя описанный ранее метод CancelDispatch.


Основные свойства TApplicationEvents
Свойства TApplicationEvents

TApplicationEvents

Свойство	Описание
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Tag	Свойство, используемое пользователем по своему усмотрению.
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Основные методы TApplicationEvents

Полный список    TApplicationEvents

Метод	Описание
Activate	Ставит данный компонент в начало очереди компонентов TApplicationEvents. В результате все события передаются прежде всего этому компоненту
CancelDispatch	Предотвращает обработку текущего события  другими объектами TApplicationEvents


Все методы TApplicationEvents

Основные методы   TApplicationEvents

Метод	Описание
Activate	Ставит данный компонент в начало очереди компонентов TApplicationEvents. В результате все события передаются прежде всего этому компоненту
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
CancelDispatch	Предотвращает обработку текущего события  другими объектами TApplicationEvents
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует экземпляр компонента.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом.
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает COM и OLE исключения.


События TApplicationEvents

TApplicationEvents   литература

Событие	Описание
OnAction Execute	Возникает при выполнении действия, объявленного в компоненте TActionList, но не обработанного им (не написан соответствующий обработчик). В обработчик передается параметр Action - действие и по ссылке передается параметр Handled.
OnAction Update	Возникает при обновлении (Update) некоторого действия, объявленного в компоненте TActionList, но не обработанного им (не написан соответствующий обработчик). В обработчик передается параметр Action - действие и по ссылке передается параметр Handled
OnActivate	Возникает, когда приложение становится активным (при начале выполнения и в случаях, когда пользователь, перейдя к другим приложениям, вернулся в данное). Если это событие обработано в  TApplicationEvents, то предотвратить дальнейшую его обработку можно методом CancelDispatch
OnDeactivate	Возникает перед тем моментом, когда приложение перестает быть активным (пользователь переключается на другое приложение). Если событие обработано в TApplicationEvents, то предотвратить дальнейшую его обработку можно методом CancelDispatch
OnExeption	Возникает, когда в приложении сгенерировано исключение, которое нигде не перехвачено. В обработчик передается параметр Sender - источник исключения, и параметр E типа  Exception - объект исключения. В обработчике можно предусмотреть нестандартную обработку исключений на уровне приложения, например, русифицировать стандартные сообщения об исключениях и дать пользователю какие-то рекомендации
OnHelp	Возникает при запросе приложением справки. Это событие возникает, в частности, при выполнении методов приложения HelpContext, HelpJump и HelpCommand. Обработчик может использоваться для каких-то подготовительных операций. В обработчик передаются параметры - Command - команда API WinHelp, Data - параметр этой команды и по ссылке передается булев параметр CallHelp. Если его установить в true, то после завершения обработчика будет вызван WinHelp, в противном случае вызова WinHelp не будет.
OnHint	Возникает в момент, когда курсор мыши начинает перемещаться над компонентом или разделом меню, в котором определено свойство Hint. При этом свойство Hint компонента переносится в свойство Hint приложения (Application.Hint) и в обработчике данного события может отображаться, например, в строке состояния
OnIdle	Возникает, когда приложение начинает простаивать, ожидая, например, действий пользователя. В обработчик передается по ссылке булев параметр Done, который по умолчанию равен true. Если оставить его без изменения, то по окончании работы обработчика будет вызвана функция WaitMessage API Windows, которая займется в период ожидания другими приложениями. Если задать Done = false, то эта функция вызываться не будет. Это может снизить производительность Windows
OnMessage	Возникает, когда приложение получает сообщение Windows. В обработчике можно предусмотреть нестандартную обработку сообщения. В обработчик передается параметр Msg - полученное сообщение и по ссылке передается параметр Handled. Учтите, что в Windows передаются тысячи сообщений в секунду, так что обработчик OnMessage может серьезно снизить производительность приложения
OnMinimize	Возникает при сворачивании приложения
OnRestore	Возникает при восстановлении ранее свернутого приложения
OnShortCut	Возникает при нажатии пользователем клавиши, до того, как возникло стандартное событие OnKeyDown. Обработчик позволяет предусмотреть нестандартную реакцию на нажатие какой-то клавиши. В него передается параметр сообщения Windows Msg, поле CharCode которого (Msg.CharCode) содержит виртуальный код нажатой клавиши. Передается также по ссылке параметр Handled. Если задать ему значение true, то стандартные события OnKeyDown, OnKeyPress, OnKeyUp не наступят
OnShowHint	Возникает, когда приложение собирается отобразить ярлычок с текстом подсказки Hint. В обработчик передается по ссылке параметр HintStr - первая часть свойства Hint компонента, ярлычок которого должен отображаться. В обработчике этот текст можно изменить. Так же по ссылке передается параметр CanShow. Если в обработчике установить его равным false, то ярлычок отображаться не будет. Третий параметр, передаваемый по ссылке - HintInfo. Это структура, поля которой содержат информацию о ярлычке. В частности, имеется поле HintControl - компонент, сообщение которого должно отображаться в ярлычке, и поле HintStr - отображаемое сообщение. В обработчике это значение можно изменить


Литература по TApplicationEvents
книга [2] раздел 4.6.1 - общее описание компонента, его свойств, методики работы с Редактором Диаграмм


TChart - компонент

Свойства   Методы   События   литература

Компонент принадлежит к семейству компонентов TChart, которые используются для создания диаграмм и графиков

Модуль Chart

Описание

Компонент TChart является панелью, на которой можно создавать диаграммы и графики различных типов.

Свойства TChart удобно устанавливать специальным Редактором Диаграмм, вызываемым из Инспектора Объектов нажатием кнопки с многоточием около соответствующего свойства или двойным щелчком на компоненте TChart.

Компонент является контейнером объектов Series  типа TChartSeries - серий данных, характеризующихся различными стилями отображения. Каждый компонент может включать несколько серий. Свойства серий устанавливаются с помощью Редактора Диаграмм или программно.

Для задания отображаемых значений используются методы серий Series. Основные из них:

•	Clear	- очищает серию от занесенных ранее данных

•	Add	- позволяет добавить в диаграмму новую точку

•	AddXY	- позволяет добавить новую точку в график функции

Например, следующие операторы очищают серию Series1 и заносят в нее для отображения диаграммы четыре значения, задавая отображающие их цвета:

With Series1 do

begin

 Clear;

 Add(A1,'Цех 1',clYellow);

 Add(A2,'Цех 2',clBlue);

 Add(A3,'Цех 3',clRed);

 Add(A4,'Цех 4',clPurple);

end;

Следующие операторы заносят в серию Series2 значения, предназначенные для отображения графика синуса:

Series2.Clear;

for i:=0 to 100 do

 Series2.AddXY(0.02*Pi*i,sin(0.02*Pi*i),'',clRed);

Следующий оператор переносит данные серии Series1 в серию Series3, свойства которой, например, определяют отличный от Series1 тип диаграммы:

Series3.Assign(Series1);

Следующие операторы обеспечивают смену типа диаграммы, переключая видимость серий Series1 и Series3:

Series1.Active:= not Series1.Active;

Series3.Active:= not Series3.Active;

Свойство AllowPanning компонента TChart разрешает пользователю прокручивать графики и те типы диаграмм, в которых предусмотрены координатные оси. Прокрутку пользователь может осуществлять во время выполнения, нажимая правую кнопку мыши и буксируя ею график.

Свойство AllowZoom разрешает пользователю увеличивать размер выбранного фрагмента графика или диаграммы с осями координат, растягивая его на все видимое поле. Для этого пользователь должен с помощью левой кнопки мыши обвести рамкой требуемый фрагмент. Построение рамки вниз и вправо растягивает фрагмент на всю область изображения. Построение рамки вверх и влево восстанавливает исходный масштаб. Можно также восстановить исходный масштаб методом UndoZoom. Например, следующий оператор, вставленный в обработчик события OnMouseDown, восстанавливает масштаб, если пользователь нажимает кнопку мыши при нажатой клавише Alt:

if (ssAlt in Shift) then  Chart1.UndoZoom;

Можно также изменять масштаб методами ZoomPercent и ZoomRect.

По умолчанию весь график или диаграмма размещаются на одной странице, которая видна целиком. Но если задать MaxPointPerPage - максимальное число точек на страницу, то изображение будет автоматически разбито на несколько страниц (если, конечно, число точек серий больше, чем MaxPointPerPage). Последняя страница может оказаться неполной. На экране одновременно можно видеть одну страницу (она определяется свойством Page). Перемещение по страницам возможно с помощью прокрутки графика пользователем (если оно разрешено свойством AllowPanning) или с помощью свойств Page, NumPages (число страниц) и методов PreviousPage и NextPage. Отображение последней страницы определяется свойством ScaleLastPage.

Среди множества свойств серий можно отметить Mark - ярлычки, отображающие численные значения точек серии.

Множество свойств TChart определяют оформление графика - оси координат (они могут быть со всех 4-ех сторон), трехмерную имитацию отображения и т.п.


Основные свойства TChart

Полный список    TChart

Свойство	Описание
AllowPanning	Разрешение пользователю прокручивать графики и некоторые типы диаграмм (диаграммы с осями координат), нажимая правую кнопку мыши: pmNone - запрет прокрутки, pmHorizontal - горизонтальная прокрутка, pmVertical - вертикальная прокрутка, pmBoth - прокрутка в любых направлениях
AllowZoom	Разрешение пользователю увеличивать размер фрагмента графика и некоторых типов диаграмм (диаграммы с осями координат), обводя рамкой с помощью мыши требуемую область увеличения. Построение рамки вниз и вправо растягивает фрагмент на всю область изображения. Построение рамки вверх и влево восстанавливает исходный масштаб
AnimatedZoom	Определяет, будет ли при AllowZoom = true увеличение размера выполняться плавно (при значении true), или скачком
AnimatedZoom Steps	Задает число шагов, используемых при плавном изменении масштаба (при AnimatedZoom = true)
AxisVisible	При значении true видны те координатные оси, в которых свойство Visible = true. При значении AxisVisible = false все оси не видны
BackWall	Определяет множество атрибутов задней стенки трехмерного изображения осей координат (пространства между осями): видимость, цвет, размер, штриховку и т.п.
BottomAxis	Множество атрибутов, определяющих нижнюю координатную ось
BottomWall	Определяет множество атрибутов трехмерного изображения нижней оси координат: видимость, цвет, размер, штриховку и т.п.
ClipPoints	Определяет рисование последовательности точек в пределах координатных осей, предохраняя другие области от затирания. При значении false сдвиг графика приводит к тому, что его изображение выходит за пределы координатных осей
DepthAxis	Множество атрибутов, определяющих координатную ось, направленную в глубину
Foot	Оформление нижней части диаграммы: текст (Text) и атрибуты его форматирования
LeftAxis	Множество атрибутов, определяющих левую координатную ось
LeftWall	Определяет множество атрибутов трехмерного изображения левой оси координат: видимость, цвет, размер, штриховку и т.п.
Legend	Определяет текст и атрибуты изображения легенды - списка обозначений данных
MarginBottom	Размер нижнего поля, свободного от изображения
MarginLeft	Размер левого поля, свободного от изображения
MarginRight	Размер правого поля, свободного от изображения
MarginTop	Размер верхнего поля, свободного от изображения
MaxPointsPerPage	По умолчанию 0. Задание значения > 0 определяет число точек на страницу. Если в серии больше точек, изображение автоматически размещается на нескольких страницах. Перемещение по страницам возможно с помощью прокрутки графика пользователем (при AllowPanning = pmHorizontal или pmBoth) или с помощью свойств Page, NumPages и методов PreviousPage и NextPage
NumPages	Число страниц графика. Отлично от 1 только при MaxPointsPerPage > 0. Свойство времени выполнения
Page	Текущая видимая страница. Отлична от 1 при MaxPointsPerPage > 0. Свойство времени выполнения
RightAxis	Множество атрибутов, определяющих правую координатную ось
ScaleLast Page	Управляет способом отображения последней страницы при MaxPointsPerPage > 0. Значение true означает отображение в том же масштабе, как и другие страницы. При значении false масштаб выбирается исходя из числа точек (их на последней странице может быть меньше, чем на предыдущих)
Series	Индексированный список серий - объектов с множеством своих свойств и методов. Одно из основных из них - Active определяет активность серии
SeriesCount	Число серий в массивах Series и SeriesList
Title	Определяет текст надписи и атрибуты форматирования в верхней части компонента
TopAxis	Множество атрибутов, определяющих верхнюю координатную ось
View3D	Задает трехмерный характер изображения
View3DWalls	Определяет видимость левой и правой стенок объемного изображения координатных осей
Width3D	Определяет глубину при трехмерном изображении


TChart - компонент
Все свойства TChart

Основные свойства   TChart

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
AllowPanning	Разрешение пользователю прокручивать графики и некоторые типы диаграмм (диаграммы с осями координат), нажимая правую кнопку мыши: pmNone - запрет прокрутки, pmHorizontal - горизонтальная прокрутка, pmVertical - вертикальная прокрутка, pmBoth - прокрутка в любых направлениях
AllowZoom	Разрешение пользователю увеличивать размер фрагмента графика и некоторых типов диаграмм (диаграммы с осями координат), обводя рамкой с помощью мыши требуемую область увеличения. Построение рамки вниз и вправо растягивает фрагмент на всю область изображения. Построение рамки вверх и влево восстанавливает исходный масштаб
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AnimatedZoom	Определяет, будет ли при AllowZoom = true увеличение размера выполняться плавно (при значении true), или скачком
AnimatedZoomSteps	Задает число шагов, используемых при плавном изменении масштаба (при AnimatedZoom = true)
AutoSize	Определяет, будет ли высота панели автоматически подгоняться под размеры расположенных на ней компонентов
AxisVisible	При значении true видны те координатные оси, в которых свойство Visible = true. При значении AxisVisible = false все оси не видны
BackColor	Цвет фона графиков и некоторых типов диаграмм (диаграммы с осями координат)
BackImage	Определяет рисунок, заполняющий весь фон TChart (при BackImageInside = false) или только поле между осями координат (при BackImageInside = true)
BackImage Inside	При значении true ограничивает отображение рисунка BackImage только полем между осями координат
BackImage Mode	Определяет стиль отображения рисунка BackImage: pbmStretch - размер рисунка изменяется, подстраиваясь под размер всего поля, pbmTile - размер рисунка нормальный, но изображение (если оно мало) многократно повторяется, заполняя все поле, pbmCenter - рисунок нормального размера помещается в центре поля
BackWall	Определяет множество атрибутов задней стенки трехмерного изображения осей координат (пространства между осями): видимость, цвет, размер, штриховку и т.п.
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BottomAxis	Множество атрибутов, определяющих нижнюю координатную ось
BottomWall	Определяет множество атрибутов трехмерного изображения нижней оси координат: видимость, цвет, размер, штриховку и т.п.
Buffered Display	Определяет возможность использования режима, в котором диаграммы рисуются сначала на "внутренней" канве а затем результат показывается на экране. Это предотвращает мерцание изображения и при большом числе точек диаграммы может ускорить процесс её построения, так как лучше показать всю диаграмму полностью, чем рисовать каждую точку непосредственно на экране
CancelMouse	Заменяет вызов процедуры прерывания выполнения Abort. Используется в обработчиках событий OnClickSeries для различения операций прокрутки и указания масштабируемой области
Canvas	Канва для рисования. Методы канвы могут использоваться, чтобы нарисовать на графике или диаграмме какие-то дополнительные линии, сделать надписи и т.п.
Chart3D Percent	Определяет глубину трехмерного изображения (при View3D = true) в процентах от его размера в длину и высоту
ChartBounds	Определяет размер прямоугольника, описывающего изображение, когда оно отображалось в последний раз. Свойство времени выполнения только для чтения
ChartHeight	Высота изображения между верхней и нижней осями. Свойство времени выполнения только для чтения
ChartRect	Экранные координаты прямоугольника, описывающего изображение. Свойство времени выполнения только для чтения
ChartWidth	Ширина изображения между левой и правой осями. Свойство времени выполнения только для чтения
ClipPoints	Определяет рисование последовательности точек в пределах координатных осей, предохраняя другие области от затирания. При значении false сдвиг графика приводит к тому, что его изображение выходит за пределы координатных осей
Color	Цвет фона компонента
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DepthAxis	Множество атрибутов, определяющих координатную ось, направленную в глубина
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Foot	Оформление нижней части диаграммы: текст (Text) и атрибуты его форматирования
Frame	Атрибуты рамки графика или диаграммы с осями координат
Gradient	Определяет плавный переход цвета фона от цвета StartColor внизу до цвета EndColor вверху. Эффект виден только при Visible = true
Height	Указывает высоту компонента в пикселях.
Height3D	Определяет высоту в пикселях эффекта трехмерности. Свойство времени выполнения только для чтения
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LeftAxis	Множество атрибутов, определяющих левую координатную ось
LeftWall	Определяет множество атрибутов трехмерного изображения левой оси координат: видимость, цвет, размер, штриховку и т.п.
Legend	Определяет текст и атрибуты изображения легенды - списка обозначений данных
Locked	При значении false панель замещается инструментальной панелью сервера OLE, при значении true замещение не производится
MarginBottom	Размер нижнего поля, свободного от изображения
MarginLeft	Размер левого поля, свободного от изображения
MarginRight	Размер правого поля, свободного от изображения
MarginTop	Размер верхнего поля, свободного от изображения
MaxPointsPerPage	По умолчанию 0. Задание значения > 0 определяет число точек на страницу. Если в серии больше точек, изображение автоматически размещается на нескольких страницах. Перемещение по страницам возможно с помощью прокрутки графика пользователем (при AllowPanning = pmHorizontal или pmBoth) или с помощью свойств Page, NumPages и методов PreviousPage и NextPage
MaxZOrder	При трехмерном изображении определяет максимальное значение в глубину.  Каждая серия отображается со своим значением глубины, но если серий много, некоторые могут иметь одинаковое значение глубины. Свойство времени выполнения и только для чтения
Monochrome	Устанавливает черно-белое изображение
Monochrome Printing	Устанавливает печать в черно-белом варианте
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
NumPages	Число страниц графика. Отлично от 1 только при MaxPointsPerPage > 0. Свойство времени выполнения
Original Cursor	Возвращает исходное значение свойства Cursor
Page	Текущая видимая страница. Отлична от 1 при MaxPointsPerPage > 0. Свойство времени выполнения
ParentColor	Указывает, где компонент отыскивает информацию о своём цвете.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
Printing	Указывает, что в данный момент идет печать. Свойство времени выполнения только для чтения
PrintMargins	Структура, определяющая поля при печати. Можно устанавливать поля этой структуры PrintMargins.Left -левое, PrintMargins.Right - правое, PrintMargins.Top - верхнее, PrintMargins.Bottom - нижнее
Print Resolution	При печати определяет соотношение пикселей экрана и принтера. При значении 0 (по умолчанию) печать сохраняет пропорции экранного изображения. При значении < 0 при печати уменьшается шрифт и толщина линий
RightAxis	Множество атрибутов, определяющих правую координатную ось
ScaleLast Page	Управляет способом отображения последней страницы при MaxPointsPerPage > 0. Значение true означает отображение в том же масштабе, как и другие страницы. При значении false масштаб выбирается исходя из числа точек (их на последней странице может быть меньше, чем на предыдущих)
Series	Индексированный список серий - объектов с множеством своих свойств и методов. Одно из основных из них - Active определяет активность серии
SeriesCount	Число серий в массивах Series и SeriesList
SeriesHeight 3D	Указывает высоту отображения серий данных в трехмерном изображении (при View3D = true). Изменяется при изменении числа видимых серий, при изменении размеров компонента и при изменении Chart3DPercent. Свойство время выполнения только для чтения
SeriesList	Индексированный список указателей на все серии. Вариант свойства Series, но позволяющий, например, изменить последовательность значений глубины отдельных серий
SeriesWidth 3D	Указывает ширину отображения серий данных в трехмерном изображении (при View3D = true). Изменяется при изменении числа видимых серий, при изменении размеров компонента и при изменении Chart3DPercent. Свойство время выполнения только для чтения
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
Title	Определяет текст надписи и атрибуты форматирования в верхней части компонента
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
TopAxis	Множество атрибутов, определяющих верхнюю координатную ось
UseDock Manager	Указывает, используется ли диспетчер встраивания DockManager в процессе Drag&Doc
View3D	Задает трехмерный характер изображения
View3D Options	Обеспечивает доступ к свойствам, определяющим масштабирование, вращение и прокрутку изображения
View3DWalls	Определяет видимость левой и правой стенок объемного изображения координатных осей
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
Width3D	Определяет глубину при трехмерном изображении


Основные методы TChart

Полный список    TChart

Метод	Описание
ActiveSeries Legend	Возвращает активную серию с указанным индексом
AddSeries	Добавляет новую серию
Assign	Копирует все свойства указанной серии в данную
ChartXCenter	Средняя горизонтальная координата изображения
ChartYCenter	Средняя вертикальная координата изображения
CopyTo ClipBoard Metafile	Копирует всю область диаграммы в буфер Clipboard в формате метафайла
CopyToClip boardBitmap	Копирует всю область диаграммы в буфер в формате битовой карты
GetASeries	Возвращает первую активную серию
GetAxisSeries	Возвращает первую серию, связанную с указанной осью
LoadChartFrom File	Загружает изображение из указанного файла. Это может быть файл, ранее сохраненный методом SaveChartToFile
MaxXValue	Возвращает максимальное значение, отображаемое на горизонтальной оси
MaxYValue	Возвращает максимальное значение, отображаемое на вертикальной оси
MinXValue	Возвращает минимальное значение, отображаемое на горизонтальной оси
MinYValue	Возвращает минимальное значение, отображаемое на вертикальной оси
NextPage	Переходит к следующей странице (идентично выражению Page := Page+1)
NumPages	Возвращает количество страниц
PreviousPage	Переходит к следующей странице (идентично выражению Page := Page-1)
Print	Посылает изображение на печать
PrintLandScape	Задает альбомную (Landscape) ориентацию принтера.
Print Orientation	Посылает изображение на печать с заданной ориентацией. После печати прежняя ориентация восстанавливается.
PrintPortrait	Устанавливает книжную (вертикальную) ориентацию принтера
RemoveAll Series	Удаляет все серии из SeriesList
RemoveSeries	Удаляет указанную серию из SeriesList
RotateLabel	Рисует указанную строку текста, повернутую под указанным углом
SaveChart ToFile	Сохраняет изображение в файле с указанным именем. В дальнейшем он может быть загружен методом LoadChartFromFile
SaveToBitmap File	Сохраняет изображение в файле .bmp с указанным именем
SaveTo Metafile	Сохраняет изображение в метафайле с указанным именем
SaveTo MetafileEnh	Сохраняет изображение в метафайле Enhanced WMF с указанным именем
SeriesCount	Количество серий в компоненте (активных и неактивных)
SeriesDown	Пересылает серию на "задний план" - она будет рисоваться последней
SeriesTitle Legend	Возвращает заголовок указанной серии
SeriesUp	Пересылает серию на "передний план" - она будет рисоваться первой
UndoZoom	Восстанавливает исходный масштаб после изменения его пользователем
ZoomPercent	Осуществляет изменение (увеличение или уменьшение) масштаба заданием его в процентах. На характер процесса изменения оказывает влияние свойство AnimatedZoom
ZoomRect	Осуществляет изменение (увеличение или уменьшение) масштаба заданием координат новой отображаемой области. На характер процесса изменения оказывает влияние свойство AnimatedZoom


Все методы TChart

Основные методы   TChart

Метод	Описание
ActiveSeries Legend	Возвращает активную серию с указанным индексом
AddSeries	Добавляет новую серию
Assign	Копирует все свойства указанной серии в данную
BackWallRect	Возвращает область задней части диаграммы
CalcClicked Part	Определяет характеристики части диаграммы, расположенной по указанным координатам
CalcSize3D Walls	Вычисляет количество пикселей, необходимое для трехмерного отображения левой и нижней осей
CalcSize3D	Вычисляет количество пикселей, необходимое серии данных для трехмерного отображения
ChartPrintRect	Возвращает координаты прямоугольника принтера в пикселях принтера с учетом полей PrintMargins
ChartRegion Rect	Прямоугольник, ограниченный осями координат
ChartXCenter	Средняя горизонтальная координата изображения
ChartYCenter	Средняя вертикальная координата изображения
CheckData Source	Обновляет все значения точек серии данных (применяется для точек, получаемых из наборов данных)
CopyTo ClipBoard Metafile	Копирует всю область диаграммы в буфер Clipboard в формате метафайла
CopyTo ClipBoard Bitmap	Копирует всю область диаграммы в буфер в формате битовой карты.
Exchange Series	Меняет местами последовательность двух серий по координате Z
FontCanvas	Задает шрифт канвы. Используется для внутренних задач компонента
Formatted Legend	Возвращает строку текста легенды -  списка обозначений
FormattedValue Legend	Возвращает строку текста легенды -  списка обозначений, относящуюся к указанной серии
GetASeries	Возвращает первую активную серию
GetAxisSeries	Возвращает первую серию, связанную с указанной осью
GetCursorPos	Возвращает позицию курсора мыши
GetFreeSeries Color	Возвращает цвет серии из используемой по умолчанию палитры цветов
GetLabelSeries	Возвращает серию, связанную с указанной осью
GetRectangle	Возвращает прямоугольник панели
GetWidthHeight	Возвращает высоту и ширину панели
IsFreeSeries Color	Сообщает, используется ли указанный цвет какой-нибудь серией
IsScreenHigh Color	Возвращает True при установленном видеорежиме более 256 цветов
IsValidData Source	Определяет, является ли указанный набор данных источником для указанной серии
LoadChartFrom File	Загружает изображение из указанного файла. Это может быть файл, ранее сохраненный методом SaveChartToFile
MarkText	Возвращает форматированный текст ярлычка (свойства Mark) указанной точки указанной серии
MaxMarkWidth	Возвращает максимальную ширину ярлычков (свойства Mark)
MaxTextWidth	Возвращает максимальную ширину ярлычков (свойства Mark) активной серии
MaxXValue	Возвращает максимальное значение, отображаемое на горизонтальной оси
MaxYValue	Возвращает максимальное значение, отображаемое на вертикальной оси
MinXValue	Возвращает минимальное значение, отображаемое на горизонтальной оси
MinYValue	Возвращает минимальное значение, отображаемое на вертикальной оси
NextPage	Переходит к следующей странице (идентично выражению Page := Page+1)
NumPages	Возвращает количество страниц
PreviousPage	Переходит к следующей странице (идентично выражению Page := Page-1)
Print	Посылает изображение на печать
PrintLandScape	Задает альбомную (Landscape) ориентацию принтера.
Print Orientation	Посылает изображение на печать с заданной ориентацией. После печати прежняя ориентация восстанавливается.
PrintPartial	Посылает на принтер изображение, масштабированное в указанную рамку
PrintPartial Canvas	Посылает на принтер указанную часть изображения
PrintPartial CanvasToScreen	Отображает изображение на экране так, как оно будет выглядеть при печати
PrintPortrait	Устанавливает книжную (вертикальную) ориентацию принтера
ReCalc WidthHeight	Перевычисляет ширину и высоту изображения. Обычно вызывать этот метод не требуется
RemoveAll Series	Удаляет все серии из SeriesList
RemoveSeries	Удаляет указанную серию из SeriesList
RotateLabel	Рисует указанную строку текста, повернутую под указанным углом
SaveChart ToFile	Сохраняет изображение в файле с указанным именем. В дальнейшем он может быть загружен методом LoadChartFromFile
SaveToBitmap File	Сохраняет изображение в файле .bmp с указанным именем
SaveToMetafile	Сохраняет изображение в метафайле с указанным именем
SaveToMetafileEnh	Сохраняет изображение в метафайле Enhanced WMF с указанным именем
SeriesCount	Количество серий в компоненте (активных и неактивных)
SeriesDown	Пересылает серию на "задний план" - она будет рисоваться последней
SeriesTitle Legend	Возвращает заголовок указанной серии
SeriesUp	Пересылает серию на "передний план" - она будет рисоваться первой
SetInternal Canvas	Заменяет внутренний компонент канвы
Size3D	Возвращает горизонтальный и вертикальный размеры, используемые в трехмерном изображении
TeeCreate Metafile	Возвращает новый метафайл. После использования его надо уничтожить.
UndoZoom	Восстанавливает исходный масштаб после изменения его пользователем
XLabelText	Возвращает текст координаты X указанной точки указанной серии
ZoomPercent	Осуществляет изменение (увеличение или уменьшение) масштаба заданием его в процентах. На характер процесса изменения оказывает влияние свойство AnimatedZoom
ZoomRect	Осуществляет изменение (увеличение или уменьшение) масштаба заданием координат новой отображаемой области. На характер процесса изменения оказывает влияние свойство AnimatedZoom


События TChart
Специальные события TChart

Полный список   TChart

Событие	Описание
OnAfterDraw	Наступает после прорисовки всех серий. В обработчике нельзя изменять какие-то свойства, способные вызвать повторную прорисовку серий
OnAllow Scroll	Наступает перед прокруткой изображения. В обработчике можно указать величину прокрутки, а можно запретить прокрутку
OnClick	Наступает при щелчке на точке какой-то серии
OnClickAxis	Наступает при щелчке на оси координат
OnClick Background	Наступает при щелчке в точке фона, не относящейся к оси, серии или легенде
OnClick Legend	Наступает при щелчке на легенде - списке обозначений
OnClick Series	Наступает при щелчке на точке какой-то серии. В обработчике можно узнать серию и точку, на которой был щелчок
OnGetAxis Label	Наступает при рисовании метки оси
OnGetLegend Pos	Наступает перед отображением легенды. В обработчике можно определить и изменить координаты и цвет отображения
OnGetLegendRect	Наступает перед отображением легенды. В обработчике можно определить и изменить координаты и размеры отображения
OnGetLegendText	Наступает перед отображением легенды. В обработчике можно определить и изменить отображаемый текст
OnGetNext AxisLabel	Обработчик используется для неавтоматического изображения осей
OnPageChange	Наступает перед изменением свойства Page перед прорисовкой изображения новой страницы
OnScroll	Наступает перед очередной перерисовкой при прокрутке пользователем изображения правой кнопкой мыши
OnUndoZoom	Наступает при восстановлении масштаба с помощью метода UndoZoom и соответствующем изменении диапазона отображаемых значений
OnZoom	Наступает при увеличении изображения пользователем или методами ZoomRect и ZoomPercent


Все события TChart

Специальные   TChart

Событие	Описание
OnAfterDraw	Наступает после прорисовки всех серий. В обработчике нельзя изменять какие-то свойства, способные вызвать повторную прорисовку серий
OnAllow Scroll	Наступает перед прокруткой изображения. В обработчике можно указать величину прокрутки, а можно запретить прокрутку
OnClick Background	Наступает при щелчке в точке фона, не относящейся к оси, серии или легенде
OnClick Legend	Наступает при щелчке на легенде - списке обозначений
OnClick Series	Наступает при щелчке на точке какой-то серии. В обработчике можно узнать серию и точку, на которой был щелчок
OnClick	Наступает при щелчке на точке какой-то серии
OnClickAxis	Наступает при щелчке на оси координат
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте
OnGetAxis Label	Наступает при рисовании метки оси
OnGetLegend Pos	Наступает перед отображением легенды. В обработчике можно определить и изменить координаты и цвет отображения
OnGetLegendRect	Наступает перед отображением легенды. В обработчике можно определить и изменить координаты и размеры отображения
OnGetLegendText	Наступает перед отображением легенды. В обработчике можно определить и изменить отображаемый текст
OnGetNext AxisLabel	Обработчик используется для неавтоматического изображения осей
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnPageChange	Наступает перед изменением свойства Page перед прорисовкой изображения новой страницы
OnResize	Событие происходит сразу после изменения размеров компонента
OnScroll	Наступает перед очередной перерисовкой при прокрутке пользователем изображения правой кнопкой мыши
OnUndoZoom	Наступает при восстановлении масштаба с помощью метода UndoZoom и соответствующем изменении диапазона отображаемых значений
OnZoom	Наступает при увеличении изображения пользователем или методами ZoomRect и ZoomPercent


Литература по TTabControl
книга [2] раздел 7.3


TTabControl - компонент

Иерархия   Свойства   Методы   События   литература

Панель с управляющим элементом типа кнопки со многими положениями

Модуль comctrls

Описание

Компонент TTabControl позволяет создавать на форме панель с управляющим элементом типа кнопки со многими положениями (закладками). Внешне этот компонент выглядит так же, как TPageControl, но в отличие от него страниц не несколько, а всего одна. И надо написать соответствующие обработчики событий OnChanging и OnChange, чтобы определить, что именно должно происходить на панели при переключениях закладок пользователем.

Свойство Tabs типа TStrings определяет число положений переключателя и надписи на его закладках. Свойство Style определяет стиль отображения компонента: tsTabs - закладки, tsButtons - кнопки, tsFlatButtons - плоские кнопки. Свойство MultiLine определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд. Примером компонента с MultiLine = false является палитра компонентов в Delphi. Свойство TabPosition определяет место расположения ярлычков закладок: tpBottom - внизу, tpLeft - слева, tpRight - справа и tpTop - вверху компонента (это значение по умолчанию). Свойства TabHeight и TabWidth определяют высоту и ширину ярлычков закладок в пикселях. Если значения этих параметров заданы равными 0, то размеры ярлычков определяются автоматически по размерам надписей на них. Свойство Images дает ссылку на компонент TImageList, который содержит список изображений на ярлычках. Свойство ScrollOpposite определят способ перемещения закладок при размещении их в несколько рядов. Свойство - MultySelect разрешает множественный выбор закладок. Если это свойство установлено в true, то в обработчиках событий надо описать реакцию на такой выбор пользователя.

Текущее состояние переключателя определяется свойством TabIndex. Вы можете установить его в процессе проектирования, чтобы определить исходное состояние переключателя. А затем в обработчиках событий OnChanging и OnChange можете читать это свойство, чтобы определить, что именно выбрал пользователь.

Основные события компонента - OnChanging и OnChange. Первое из них происходит после щелчка пользователя на новой закладке. При этом в обработчик события передается по ссылке параметр AllowChange - разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет. Событие OnChange происходит сразу после переключения.

Применять компонент TabControl имеет смысл в тех приложениях, в которых нужен многопозиционный переключатель. Вы можете, конечно, имитировать с помощью TabControl поведение, аналогичное компоненту PageControl. Для этого достаточно, например, расположить в пределах TabControl две закрывающие друг друга панели и в обработчик события OnChange вставить оператор:

if TabControl1.TabIndex=0

 then Panel2.Visible:=false

 else Panel2.Visible:=true;

Если Panel2 - верхняя панель, то при выборе первой закладки (TabIndex = 0) она будет делаться невидимой и под ней будет проступать нижняя панель.

Но подобная имитация PageControl не имеет смысла, так как проще использовать сам компонент PageControl. А TabControl надо применять, если требуются какие-то перестроения в рамках одной панели.


Основные свойства TTabControl

Полный список    TTabControl

Свойство	Описание
Images	Ссылка на компонент TImageList, который содержит список изображений на ярлычках
MultiLine	Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд
MultiSelect	Разрешает или запрещает множественный выбор закладок
RaggedRight	Определяет, растягиваются ли ряды закладок на всю ширину компонента
ScrollOpposite	Определят способ перемещения закладок при размещении их в несколько рядов
Style	Определяет стиль отображения компонента: tsTabs - закладки, tsButtons - кнопки, tsFlatButtons - плоские кнопки
TabHeight	Высота ярлычков закладок в пикселях. При значении 0 определяется автоматически
TabIndex	Индекс выделенной закладки
TabPosition	Определяет место расположения ярлычков закладок: tpBottom - внизу, tpLeft - слева, tpRight - справа и tpTop - вверху компонента (это значение по умолчанию)
Tabs	Свойство типа TStrings, определяющее число положений переключателя и надписи на его закладках
TabWidth	Ширина ярлычков закладок в пикселях. При значении 0 определяется автоматически


TTabControl - компонент
Все свойства TTabControl

Основные свойства   TTabControl

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush, для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DisplayRect	Определяет прямоугольник, ограничивающий клиентскую область компонента.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния.
HostDockSite	Определяет контейнер, в который встроен данный компонент.
HotTrack	Определяет, подсвечиваются ли автоматически метки компонента под мышью.
Images	Ссылка на компонент TImageList, который содержит список изображений на ярлычках
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MultiLine	Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд
MultiSelect	Разрешает или запрещает множественный выбор закладок
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
OwnerDraw	Определяет, обрабатывает ли компонент свои собственные рисунки.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
RaggedRight	Определяет, растягиваются ли ряды закладок на всю ширину компонента
ScrollOpposite	Определят способ перемещения закладок при размещении их в несколько рядов
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Style	Определяет стиль отображения компонента: tsTabs - закладки, tsButtons - кнопки, tsFlatButtons - плоские кнопки
TabHeight	Высота ярлычков закладок в пикселях. При значении 0 определяется автоматически
TabIndex	Индекс выделенной закладки
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabPosition	Определяет место расположения ярлычков закладок: tpBottom - внизу, tpLeft - слева, tpRight - справа и tpTop - вверху компонента (это значение по умолчанию)
Tabs	Свойство типа TStrings, определяющее число положений переключателя и надписи на его закладках
TabStop	Определяет возможность пользователя выполнять табуляцию.
TabWidtn	Ширина ярлычков закладок в пикселях. При значении 0 определяется автоматически
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TTabControl

Полный список    TTabControl

Метод	Описание
GetHitTest InfoAt	Возвращает информацию о позиции указанной точки на панели
RowCount	Возвращает число рядов закладок (при MultiLine = true)
ScrollTabs	Прокручивает на заданную величину строку закладок, если закладки расположены в один ряд (при MultiLine = false)
TabRect	Возвращает прямоугольник, ограничивающий указанную закладку


Все методы TTabControl

Основные методы   TTabControl

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
Draw	Рисует графическое изображение в указанной позиции канвы.
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetHitTest InfoAt	Возвращает информацию о позиции указанной точки на панели
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterfaceEntry	Возвращает вход интерфейса, указанного идентификатором
GetInterfaceTable	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
IndexOfTabAt	Указывает индекс закладки в определённой позиции.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
RowCount	Возвращает число рядов закладок (при MultiLine = true)
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollTabs	Прокручивает на заданную величину строку закладок, если закладки расположены в один ряд (при MultiLine = false)
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
TabRect	Возвращает прямоугольник, ограничивающий указанную закладку
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TTabControl
Специальные события TTabControl

Полный список    TTabControl

Событие	Описание
OnChange	Событие происходит после переключения закладки
OnChanging	Событие происходит после щелчка пользователя на новой закладке. В обработчик передается по ссылке параметр AllowChange - разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет
OnDrawTab	Событие происходит перед прорисовкой закладки. Обработчик может использоваться для программного рисования закладки на канве
OnGetImage Index	Наступает перед отображением изображения, связанного с закладкой


Все события TTabControl

Специальные   TTabControl

Событие	Описание
OnChange	Событие происходит после переключения закладки
OnChanging	Событие происходит после щелчка пользователя на новой закладке. В обработчик передается по ссылке параметр AllowChange - разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawTab	Событие происходит перед прорисовкой закладки. Обработчик может использоваться для программного рисования закладки на канве
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetImage Index	Наступает перед отображением изображения, связанного с закладкой
OnGetSite Info	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUndock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


Литература по TTabControl
книга [2] раздел 7.3


TPageControl - компонент

Иерархия   Свойства   Методы   События   литература

Многостраничная панель с закладками

Модуль comctrls

Описание

Компонент TPageControl относится к группе многостраничных панелей, которые позволяют экономить пространство окна приложения, размещая на одном и том же месте страницы разного содержания. Выбор пользователем страницы производится щелчком на соответствующей закладке. Для создания компонента многопозиционного переключателя с одной единственной страницей вместо TPageControl нужно использовать TTabControl.

Во время проектирования работу со страницами проще всего производить, щелкнув на компоненте правой кнопкой мыши и выбрав из всплывшего меню соответствующий раздел: NewPage - создать новую страницу, NextPage или Previous Page - перейти к следующей или предыдущей странице. Каждая создаваемая страница является объектом типа TTabSheet. Это панель, на которой можно размещать любые управляющие компоненты, окна редактирования и т.п. Ее основные свойства:

Name	Имя, по которому можно ссылаться на страницу
Caption	Надпись, которая появляется на ярлычке закладки
PageIndex	Индекс, по которому можно ссылаться на страницу
ImageIndex	Индекс изображения, которое может появляться на ярлычке закладки
Из общих свойств компонента TPageControl можно отметить следующие:

Style	Определяет стиль отображения компонента
MultiLine	Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд
TabPosition	Определяет место расположения ярлычков закладок
TabHeight и TabWidth	Высота и ширина ярлычков закладок
Images	Ссылка на компонент TImageList, который содержит список изображений на ярлычках
Scroll Opposite	Определят способ перемещения закладок при размещении их в несколько рядов
ActivePage	Имя активной страницы
Pages [Integer]	Доступ к странице по индексу
PageCount	Количество страниц
В компоненте имеется ряд методов, позволяющих оперировать страницами, создавать их, уничтожать, переключать. Основные события компонента - OnChanging и OnChange. Первое из них происходит непосредственно перед переключением на другую страницу после щелчка пользователя на новой закладке. При этом в обработчик события передается по ссылке параметр AllowChange - разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет. Событие OnChange происходит сразу после переключения.


Основные свойства TPageControl

Полный список    TPageControl

Свойство	Описание
ActivePage	Имя активной страницы
Active PageIndex	Индекс активной страницы
Images	Ссылка на компонент TImageList, который содержит список изображений на ярлычках закладок. Свойства ImageIndex страниц содержат индексы, соответствующие именно этому списку
MultiLine	Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд
PageCount	Определяет количество страниц в свойств Pages
Pages	Индексированный список страниц - объектов типа TTabSheet
RaggedRight	Определяет, растягиваются ли ряды закладок на всю ширину компонента
ScrollOpposite	Определят способ перемещения закладок при размещении их в несколько рядов
Style	Определяет стиль отображения компонента: tsTabs - закладки, tsButtons - кнопки, tsFlatButtons - плоские кнопки
TabHeight	Высота ярлычков закладок в пикселях. При значении 0 определяется автоматически
TabPosition	Определяет место расположения ярлычков закладок: tpBottom - внизу, tpLeft - слева, tpRight - справа и tpTop - вверху компонента (это значение по умолчанию)
TabWidth	Ширина ярлычков закладок в пикселях. При значении 0 определяется автоматически


TPageControl - компонент
Все свойства TPageControl

Основные свойства   TPageControl

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
ActivePage	Имя активной страницы
Active PageIndex	Индекс активной страницы
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush, для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
DropDownCount	Определяет максимальное число элементов, отображаемое в раскрывающемся списке.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
HotTrack	Определяет, подсвечиваются ли автоматически метки компонента под мышью.
Images	Ссылка на компонент TImageList, который содержит список изображений на ярлычках закладок. Свойства ImageIndex страниц содержат индексы, соответствующие именно этому списку
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MultiLine	Определяет, будут ли закладки размещаться в несколько рядов, если все они не помещаются в один ряд
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
OwnerDraw	Определяет, обрабатывает ли компонент принадлежащие ему рисунки. Используется для отмены любого режима рисования, заданного по умолчанию.
PageCount	Определяет количество страниц в свойств Pages
Pages	Индексированный список страниц - объектов типа TTabSheet
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
RaggedRight	Определяет, растягиваются ли ряды закладок на всю ширину компонента
ScrollOpposite	Определят способ перемещения закладок при размещении их в несколько рядов
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Style	Определяет стиль отображения компонента: tsTabs - закладки, tsButtons - кнопки, tsFlatButtons - плоские кнопки
TabHeight	Высота ярлычков закладок в пикселях. При значении 0 определяется автоматически
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabPosition	Определяет место расположения ярлычков закладок: tpBottom - внизу, tpLeft - слева, tpRight - справа и tpTop - вверху компонента (это значение по умолчанию)
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
TabWidtn	Ширина ярлычков закладок в пикселях. При значении 0 определяется автоматически
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TPageControl

Полный список    TPageControl

Метод	Описание
CanShowTab	Определяет, может ли пользователь выбрать указанную закладку
FindNextPage	Возвращает следующую или предыдущую страницу по отношению к текущей
GetImageIndex	Определяет индекс изображения, используемый указанной страницей
RowCount	Возвращает число рядов закладок (при MultiLine = true)
SelectNextPage	Делает активной следующую или предыдущую видимую страницу


Все методы TPageControl

Основные методы   TPageControl

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
CanShowTab	Определяет, может ли пользователь выбрать указанную закладку
Change	Вызывается автоматически при смене страницы
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты владельца.
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
DoAddDock Client	Вызывается при встраивании на страницу нового компонента
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DockOver	Автоматически вызывается при перетаскиваемый над компонентом объекта, который может быть встроен
DoRemove DockClient	Вызывается при извлечении встроенного компонента из контейнера
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FindNextPage	Возвращает следующую или предыдущую страницу по отношению к текущей
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetChildren	Используется внутренне для каждой страницы
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetHitTest InfoAt	Возвращает информацию о позиции указанной точки на странице
GetImageIndex	Определяет индекс изображения, используемый указанной страницей
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetHelpContext	Возвращает контекст подсказки ID, связанный с пунктом меню
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetPageFrom DockClient	Возвращает страницу, в которой расположен указанный встроенный компонент
GetParent Component	Возвращает родителя компонента
GetSiteInfo	Возвращает информацию о встраиваемом элементе - области встраивания и возможности встраивания перетаскиваемого окна.
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
RowCount	Возвращает число рядов закладок (при MultiLine = true)
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SelectNextPage	Делает активной следующую или предыдущую видимую страницу
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetChildOrder	Изменяет позицию компонента в списке дочерних компонентов оконного элемента.
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
ShowControl	Отображает указанную страницу. Вызывается автоматически
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControlState	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TPageControl
Специальные события TPageControl

Полный список    TPageControl

Событие	Описание
OnChange	Событие происходит после переключения страницы
OnChanging	Событие происходит после щелчка пользователя на новой закладке. В обработчик передается по ссылке параметр AllowChange - разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет
OnDrawTab	Событие происходит перед прорисовкой закладки. Обработчик может использоваться для программного рисования закладки на канве
OnGetImage Index	Наступает перед отображением изображения, связанного с закладкой


Все события TPageControl

Специальные   TPageControl

Событие	Описание
OnChange	Событие происходит после переключения страницы
OnChanging	Событие происходит после щелчка пользователя на новой закладке. В обработчик передается по ссылке параметр AllowChange - разрешение переключения. Если в обработчике задать AllowChange = false, то переключение не произойдет
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawTab	Событие происходит перед прорисовкой закладки. Обработчик может использоваться для программного рисования закладки на канве
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetImage Index	Наступает перед отображением изображения, связанного с закладкой
OnGetSite Info	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUndock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


Литература по TImageList
книга [2] раздел 9.3

книга [3] раздел 1.6.2 (пример применения)


TImageList - компонент
TImageList - компонент и класс

Иерархия   Свойства   Методы   События   литература

Набор изображений одинаковых размеров, на которые можно ссылаться по индексам в меню, инструментальных панелях и др. компонентах

Модуль controls

Описание

Компонент TImageList представляет собой набор изображений одинакового размера, на которые можно ссылаться по индексам, начинающимся с нуля. Многие свойства Images различных компонентов являются ссылками на этот компонент. Компонент TImageList позволяет организовать эффективное и экономное управление множеством пиктограмм и битовых матриц. Компонент может включать в себя также монохромные битовые матрицы, содержащие маски для отображения прозрачности рисуемых изображений. Изображения в компонент TImageList могут загружаться в процессе проектирования с помощью редактора списков изображений.


Основные свойства TImageList

Полный список    TImageList

Свойство	Описание
AllocBy	Определяет количество изображений, на которое увеличивается список для добавления новых изображений.
BkColor	Определяет цвет фона, используемый при маскировании области изображений. Если BkColor равен clNone, изображение рисуется прозрачным с использованием маски. В противном случае BkColor определяет цвет вне маски. BkColor не влияет на изображение, если свойство Masked установлено в false.
BlendColor	Определяет цвет фона, используемый при рисовании изображения. Это цвет, который комбинируется с указанным цветом при значениях DrawingStyle, равных dsFocus и dsSelected. Значение clNone соответствует отсутствию комбинируемого цвета, а значение clDefault означает системный цвет выделения.
Count	Определяет число изображений в списке. Свойство только для чтения.
DrawingStyle	Указывает стиль, используемый при рисовании.
Height	Высота изображений в списке. При изменении этого свойства список очищается
ImageType	Определяет, использует ли компонент при рисовании само изображение или связанную с ним маску.
Masked	Определяет, содержит ли компонент маски, комбинируемые с изображениями.
Width	Ширина изображений в списке. При изменении этого свойства список очищается


TImageList - компонент
Все свойства TImageList

Основные свойства   TImageList

Свойство	Описание
AllocBy	Определяет количество изображений, на которое увеличивается список для добавления новых изображений.
BkColor	Определяет цвет фона, используемый при маскировании области изображений. Если BkColor равен clNone, изображение рисуется прозрачным с использованием маски. В противном случае BkColor определяет цвет вне маски. BkColor не влияет на изображение, если свойство Masked установлено в false.
BlendColor	Определяет цвет фона, используемый при рисовании изображения. Это цвет, который комбинируется с указанным цветом при значениях DrawingStyle, равных dsFocus и dsSelected. Значение clNone соответствует отсутствию комбинируемого цвета, а значение clDefault означает системный цвет выделения.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Count	Определяет число изображений в списке. Свойство только для чтения.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
Dragging	Указывает, находится ли изображение в процессе перетаскивания
DrawingStyle	Указывает стиль, используемый при рисовании.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Высота изображений в списке. При изменении этого свойства список очищается
ImageType	Определяет, использует ли компонент при рисовании само изображение или связанную с ним маску.
Masked	Определяет, содержит ли компонент маски, комбинируемые с изображениями.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
ShareImages	Определяет, уничтожается ли ссылка на список изображений после уничтожения самого списка.
Tag	Свойство, используемое пользователем по своему усмотрению.
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Width	Ширина изображений в списке. При изменении этого свойства список очищается


Основные методы TImageList

Полный список    TImageList

Метод	Описание
Add	Добавляет в компонент изображение и его маску. Возвращает индекс изображения или -1
AddIcon	Добавляет пиктограмму в компонент. Возвращает индекс изображения или -1
AddImages	Добавляет в компонент изображения из другого списка изображений
AddMasked	Добавляет в компонент изображение вместе с цветом, который используется, чтобы сгенерировать прозрачную маску.
CreateSize	Создает и инициализирует экземпляр компонента определённого размера.
DragLock	Заменяет изображение перетаскиваемого окна изображением из данного списка, рисует его в позиции, определяемой параметрами XPos и Ypos
DragMove	Заменяет изображение перетаскиваемого окна изображением из данного списка, определяя новую позицию координатами X и Y
DragUnlock	Устраняет связь между изображением данного списка и перетаскиваемым окном, которая использовалась в методах DragLock и DragMove
Draw	Рисует изображение, указанное индексом, в указанной позиции на соответствующей канве.
DrawOverlay	Рисует изображение и находящуюся над ним прозрачную оверлейную маску на соответствующей канве.
FileLoad	Загружает в список изображение из ресурсов (битовую матрицу, курсор или пиктограмму)
GetBitmap	Возвращает по указанному индексу указатель на битовую матрицу, хранящуюся в списке
GetHotSpot	Возвращает позицию рабочей точки (текущую позицию мыши), связанную с перетаскиваемым изображением
GetIcon	Возвращает по указанному индексу указатель на пиктограмму, хранящуюся в списке
GetImageBitmap	Возвращает ссылку на битовую матрицу, содержащую все изображения из списка изображений
GetInstRes	Загружает битовую матрицу, курсор или пиктограмму из ресурса в список изображений
GetMaskBitmap	Возвращает ссылку на битовую матрицу, содержащую все маски изображений из списка изображений.
GetResource	Загружает битовую матрицу, курсор или пиктограмму из ресурса в список изображений (для загрузки ресурса из пакета нужно использовать GetInstRes)
HideDragImage	Скрывает текущее перетаскиваемое изображение, если перед этим оно было видимым.
InsertIcon	Вставляет пиктограмму в указанную позицию списка изображений
InsertMasked	Вставляет битовую матрицу в указанную позицию списка изображений
Overlay	Включает индекс изображения в список изображений для использования в качестве оверлейной маски.
Register Changes	Регистрирует объект для последующих извещений об изменениях в списке изображений.
Replace	Заменяет изображение в списке новым изображением и оверлейной маской
ReplaceIcon	Заменяет изображение в списке новой пиктограммой.
ReplaceMasked	Заменяет изображение в списке новым изображением и маской.
ResInstLoad	Загружает ресурс в список изображений.
ResourceLoad	Загружает ресурс в список изображений (для загрузки ресурса из пакета нужно использовать RestInstLoad)
SetDragImage	Устанавливает изображение в списке изображений, которое должно быть показано во время операции перетаскивания Drag&Drop
ShowDragImage	Делает видимым текущее перетаскиваемое изображение, если до этого оно было невидимо
UnRegister Changes	Удаляет объект из списка зарегистрированных объектов изображений.


Все методы TButton
Все методы TImageList

Основные методы   TImageList

Метод	Описание
Add	Добавляет в компонент изображение и его маску. Возвращает индекс изображения или -1
AddIcon	Добавляет пиктограмму в компонент. Возвращает индекс изображения или -1
AddImages	Добавляет в компонент изображения из другого списка изображений
AddMasked	Добавляет в компонент изображение вместе с цветом, который используется, чтобы сгенерировать прозрачную маску.
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет все элементы списка или весь текст в объектах и компонентах определённого типа.
Create	Создает и инициализирует экземпляр компонента.
CreateSize	Создает и инициализирует экземпляр компонента определённого размера.
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет элемент с указанным индексом из списка.
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом.
DragLock	Заменяет изображение перетаскиваемого окна изображением из данного списка, рисует его в позиции, определяемой параметрами XPos и Ypos
DragMove	Заменяет изображение перетаскиваемого окна изображением из данного списка, определяя новую позицию координатами X и Y
DragUnlock	Устраняет связь между изображением данного списка и перетаскиваемым окном, которая использовалась в методах DragLock и DragMove
Draw	Рисует изображение, указанное индексом, в указанной позиции на соответствующей канве.
DrawOverlay	Рисует изображение и находящуюся над ним прозрачную оверлейную маску на соответствующей канве.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FileLoad	Загружает в список изображение из ресурсов (битовую матрицу, курсор или пиктограмму)
FindComponent	Ищет в списке Components компонент с заданным именем
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetBitmap	Возвращает по указанному индексу указатель на битовую матрицу, хранящуюся в списке
GetHotSpot	Возвращает позицию рабочей точки (текущую позицию мыши), связанную с перетаскиваемым изображением
GetIcon	Возвращает по указанному индексу указатель на пиктограмму, хранящуюся в списке
GetImageBitmap	Возвращает ссылку на битовую матрицу, содержащую все изображения из списка изображений
GetInstRes	Загружает битовую матрицу, курсор или пиктограмму из ресурса в список изображений
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetMaskBitmap	Возвращает ссылку на битовую матрицу, содержащую все маски изображений из списка изображений.
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetResource	Загружает битовую матрицу, курсор или пиктограмму из ресурса в список изображений (для загрузки ресурса из пакета нужно использовать GetInstRes)
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HasParent	Указывает, имеет ли компонент родителя
HideDragImage	Скрывает текущее перетаскиваемое изображение, если перед этим оно было видимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert	Вставляет элемент в заданную позицию в списке.
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertIcon	Вставляет пиктограмму в указанную позицию списка изображений
InsertMasked	Вставляет битовую матрицу в указанную позицию списка изображений
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
Move	Изменяет текущую позицию пера на заданную, ничего при этом не рисуя.
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
Overlay	Включает индекс изображения в список изображений для использования в качестве оверлейной маски.
Register Changes	Регистрирует объект для последующих извещений об изменениях в списке изображений.
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Replace	Заменяет изображение в списке новым изображением и оверлейной маской
ReplaceIcon	Заменяет изображение в списке новой пиктограммой.
ReplaceMasked	Заменяет изображение в списке новым изображением и маской.
ResInstLoad	Загружает ресурс в список изображений.
ResourceLoad	Загружает ресурс в список изображений (для загрузки ресурса из пакета нужно использовать RestInstLoad)
SafeCall Exception	Обрабатывает COM и OLE исключения.
SetDragImage	Устанавливает изображение в списке изображений, которое должно быть показано во время операции перетаскивания Drag&Drop
ShowDragImage	Делает видимым текущее перетаскиваемое изображение, если до этого оно было невидимо
UnRegister Changes	Удаляет объект из списка объектов, ранее зарегистрированных методом RegisterChanges
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается


События TImageList

TImageList

Событие	Описание
OnChange	Событие происходит при изменении списка изображений.


Литература по TRichEdit
книга [2]:

раздел 3.3.4  - общее описание компонента, его методов и событий, примеры

раздел 4.7.1  - пример печати

раздел 4.7.3  - пример использования при составлении отчетов

раздел 7.6    - пример использования совместно с полосой состояния

раздел 8.4    - применение совместно с диалогом выбора шрифта

книга [3]:

раздел 1.11.3 - пример печати

раздел 5.1    - пример запроса при закрытии формы

раздел П.1    - законченный пример текстового редактора


TRichEdit - компонент

Иерархия   Свойства   Методы   События   литература

Многострочное окно редактирования текстов в обогащенном формате .rtf, позволяющее производить выбор цвета, шрифта, поиск текста и т.д.

Модуль comctrls

Описание

Компонент TRichEdit представляет собой многофункциональное средство редактирования текстов, позволяющее работать с обогащенным форматом .rtf, т.е. выбирать различные атрибуты форматирования для разных фрагментов текста. В этом основное отличие TRichEdit от более простого компонента TMemo, в котором атрибуты форматирования одинаковы для всего текста.

Окно редактирования снабжено многими функциями, свойственными большинству редакторов. Например, в нем предусмотрены типичные комбинации "горячих" клавиш: Ctrl-C - копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X - вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V - вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z - отмена последней команды редактирования.

Свойство Lines, доступное как во время проектирования, так и во время выполнения, имеет множество свойств и методов типа TStrings, которые обычно используются для формирования и редактирования текста. Весь текст содержится в свойстве Text.

При желании изменить атрибуты вновь вводимого фрагмента текста вы можете задать свойство SelAttributes. Это свойство типа TTextAttributes, которое в свою очередь имеет подсвойства: Color (цвет), Name (имя шрифта), Size (размер), Style (стиль) и ряд других. Например, если приложение имеет компонент RichEdit и диалог выбора шрифта FontDialog1 типа TFontDialog, то следующий код позволит пользователю менять атрибуты вновь вводимого или выделенного текста:

if FontDialog1.Execute then

 with RichEdit1.SelAttributes do begin

  Color:=FontDialog1.Font.Color;

  Name:=FontDialog1.Font.Name;

  Size:=FontDialog1.Font.Size;

  Style:=FontDialog1.Font.Style;

 end;

RichEdit1.SetFocus;

В приведенном коде присваивается поочередно значение каждого свойства. Но этот текст можно кардинально сократить, воспользовавшись тем, что объекты SelAttributes и Font совместимы по типу. Поэтому можно присвоить сразу все свойства одного объекта другому:

if FontDialog1.Execute then

 RichEdit1.SelAttributes.Assign(FontDialog1.Font);

RichEdit1.SetFocus;

В компоненте имеется также свойство DefAttributes, содержащее атрибуты по умолчанию. Эти атрибуты действуют до того момента, когда изменяются атрибуты в свойстве SelAttributes. Но значения атрибутов в DefAttributes сохраняются и в любой момент эти значения могут быть методом Assign присвоены атрибутам свойства SelAttributes, чтобы вернуться к прежнему стилю.

За выравнивание, отступы и т.д. в пределах текущего абзаца отвечает свойство Paragraph типа TParaAttributes. Этот тип в свою очередь имеет ряд свойств:

Alignment	Определяет выравнивание текста
FirstIndent	Число пикселей отступа красной строки
Numbering	Управляет вставкой маркеров, как в списках
LeftIndent	Отступ в пикселях от левого поля
RightIndent	Отступ в пикселях от правого поля
TabCount	Количество позиций табуляции
Tab	Значения позиций табуляции в пикселях
Значения подсвойств свойства Paragraph можно задавать только в процессе выполнения приложения, например, в событии создания формы или при нажатии какой-нибудь кнопки. Значения подсвойств свойства Paragraph относятся к тому абзацу, в котором находится курсор. Например, каждый из следующих операторов осуществит соответственное выравнивание текущего абзаца:

RichEdit1.Paragraph.Alignment:=taLeftJustify; // Влево

RichEdit1.Paragraph.Alignment:=taCenter;   // По центру

RichEdit1.Paragraph.Alignment:=taRightJustify;// Вправо

Следующий оператор приведет к тому, что текущий абзац будет отображаться как список, т.е. с маркерами:

RichEdit1.Paragraph.Numbering:=nsBullet;

Уничтожение списка в текущем абзаце осуществляется оператором

RichEdit1.Paragraph.Numbering:=nsNone;


Основные свойства TRichEdit

Полный список    TRichEdit

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Alignment	Определяет способ выравнивания текста внутри компонента - по левому краю, правому краю, центру. Значение по умолчанию - по левому краю.
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения.
CaretPos	Указывает строку и символ расположения курсора. Доступ только для чтения
DefAttributes	Атрибуты форматирования, используемые по умолчанию
Default Converter	Определяет класс объекта TConversion, который используется для преобразования исходного формата файла во внутренний формат компонента при работе с файлами, не имеющими зарегистрированного расширения
Font	Определяет атрибуты шрифта.
HideSelection	Определяет, сохраняется ли выделение текста при переходе фокуса к другому компоненту
Lines	Строки текста - объект типа TStrings
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент.
Modified	Указывает, редактировался ли пользователем текст в компоненте.
PageRect	Определяет в твипсах (твипс - 1/20 пункта, пункт - 1/72 дюйма) размеры логической страницы при печати содержимого компонента.
Paragraph	Объект, определяющий форматирование текущего абзаца
PlainText	При обмене с файлом определяет, является ли текст простым или соответствует формату .rtf
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ReadOnly	Указывает, может ли пользователь изменять текст в компоненте.
SelAttributes	Описывает характеристики выделенного текста
SelLength	Определяет количество выделенных символов в строке
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
Text	Текст окна в виде одной строки
WantReturns	Указывает, можно ли вставить в текст символы возврата каретки
WantTabs	Указывает, можно ли вставить в текст символы табуляции
WordWrap	Указывает, переносится ли текст на новую строку, если он выходит за пределы правого поля.


TRichEdit - компонент
Все свойства TRichEdit

Основные свойства   TRichEdit

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Alignment	Определяет способ выравнивания текста внутри компонента - по левому краю, правому краю или центру.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения.
CaretPos	Указывает строку и символ расположения курсора. Доступ только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DefAttributes	Атрибуты форматирования, используемые по умолчанию
Default Converter	Определяет класс объекта TConversion, который используется для преобразования исходного формата файла во внутренний формат компонента при работе с файлами, не имеющими зарегистрированного расширения.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
GetCaretPos	Защищенный метод, возвращает позицию курсора.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
HideScroll Bars	Определяет, исчезает ли полоса прокрутки, когда в ней нет необходимости.
HideSelection	Определяет, сохраняется ли выделение текста при переходе фокуса к другому компоненту
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
ImeMode	Определяет режим работы входного редактора метода IME - (input method editor).IME - внешний входной процессор для Азиатских языковых символов IME  - иероглифов, преобразующий их в код, пригодный для использования в приложениях Delphi.
ImeName	Указывает входной редактор метода (IME) для преобразования данных, вводимых  с клавиатуры в Азиатские языковые символы. IME - внешний входной процессор для Азиатских языковых символов. Значение ImeName определяет, какой IME используется для преобразования нажатий клавиши. IME перехватывает нажатия клавиш клавиатуры, преобразует их в Азиатские символы в конверсионном окне и посылает преобразованные символы в Delphi приложения.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
Lines	Строки текста - объект типа TStrings
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент.
Modified	Указывает, редактировался ли пользователем текст в компоненте.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
PageRect	Определяет в твипсах (твипс - 1/20 пункта, пункт - 1/72 дюйма) размеры логической страницы при печати содержимого компонента.
Paragraph	Объект, определяющий форматирование текущего абзаца
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PlainText	При обмене с файлом определяет, является ли текст простым или соответствует формату .rtf
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ReadOnly	Указывает, может ли пользователь изменять текст в компоненте.
ScrollBars	Определяет наличие у компонента редактирования полос прокрутки.
SelAttributes	Описывает характеристики выделенного текста
SelLength	Определяет количество выделенных символов в строке
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Text	Текст окна в виде одной строки
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WantReturns	Указывает, можно ли вставить в текст символы возврата каретки
WantTabs	Указывает, можно ли вставить в текст символы табуляции
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.
WordWrap	Указывает, переносится ли текст на новую строку, если он выходит за пределы правого поля.


Основные методы TRichEdit

Полный список    TRichEdit

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Clear	Удаляет текст из окна
Clear Selection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте после этого не могут быть отменены.
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
CutTo Clipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
FindText	Ищет в тексте заданный фрагмент, в частности, может искать его как целое слово и с учетом или без учета регистра
PastFrom Clipboard	Переносит в окно текст из буфера Clipboard
Print	Форматирует и печатает текст компонента
SelectAll	Выделяет весь текст в окне редактирования
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo


Все методы TRichEdit

Основные методы   TRichEdit

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет текст из окна
Clear Selection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте после этого не могут быть отменены.
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
CopyToClipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT.
Create	Создает экземпляр TCustomRichEdit.
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
CutTo Clipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FindText	Ищет в тексте заданный фрагмент, в частности, может искать его как целое слово и с учетом или без учета регистра
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetSelTextBuf	Копирует выделенный текст в буфер и возвращает количество скопированных символов.
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
PastFrom Clipboard	Переносит в окно текст из буфера Clipboard
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Print	Форматирует и печатает текст компонента
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Register Conversion Format	Регистрирует связь между расширением файла и объектом TConversion, который может конвертировать исходный формат файла и обогащённый формат текста (RTF).
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SelectAll	Выделяет весь текст в окне редактирования
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetSelTextBuf	Заменяет выделенный текст строкой из буфера
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControlState	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)


События TRichEdit
Специальные события TRichEdit

Полный список    TRichEdit

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования
OnProtect Change	Событие происходит при попытке пользователя изменить текст, маркированный как защищённый
OnResize Request	Событие происходит, когда текст становится либо меньше, либо больше размеров окна компонентов.
OnSave Clipboard	Событие происходит при намерении ликвидировать окно компонента в условиях, когда компонент задерживает представление текста для копирования в Clipboard.
OnSelection Change	Событие происходит при изменении выделенного текста


Все события TRichEdit

Специальные   TRichEdit

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnMouseWheel	Наступает при вращении шарика мыши
OnMouseWheel Down	Наступает при вращении шарика мыши вниз, если не было обработано событие OnMouseWheel
OnMouseWheel Up	Наступает при вращении шарика мыши вверх, если не было обработано событие OnMouseWheel
OnProtect Change	Событие происходит при попытке пользователя изменить текст, маркированный как защищённый
OnResize Request	Событие происходит, когда текст становится либо меньше, либо больше размеров окна компонентов.
OnSave Clipboard	Событие происходит при намерении ликвидировать окно компонента в условиях, когда компонент задерживает представление текста для копирования в Clipboard.
OnSelection Change	Событие происходит при изменении выделенного текста.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по TTrackBar
книга [2] раздел 5.6


TTrackBar - компонент

Иерархия   Свойства   Методы   События   литература

Элемент управления в виде ползунка, который пользователь может перемещать курсором мыши или клавишами во время выполнения

Модуль comctrls

Описание

Компонент TTrackBar представляет собой элемент управления в виде ползунка, который пользователь может перемещать курсором мыши или клавишами во время выполнения. Таким образом, пользователь может управлять какими-то процессами: громкостью звука, размером изображения и т.п.

Основное свойство компонента - Position. При перемещении пользователем ползунка можно прочитать значение Position, характеризующее позицию, в которую пользователь переместил ползунок. Для возможности такого чтения служит событие OnChange. В обработчике этого события можно прочитать значение Position и использовать его для управления каким-то компонентом.

Свойство Position - целое, значение которого может изменяться в пределах, задаваемых свойствами Min и Max.

Свойство Orientation определяет ориентацию ползунка. Свойство TickMarks указывает размещение шкалы относительно компонента. Свойство TickStyle определяет способ изображения шкалы.

При TickStyle = tsAuto (автоматическое проставление меток) частота меток определяется свойством Frequency. Это свойство задает, сколько возможных значений Position лежит между метками.

  Свойства LineSize и PageSize определяют, насколько смещается ползунок, если пользователь управляет им с помощью соответственно клавиш со стрелками или клавишами PageUp и PageDown.

Свойства SelStart и SelEnd позволяют визуально выделить на шкале некоторый диапазон, который о чем-то говорит пользователю, например, рекомендуемый диапазон значений. При этом ничто не мешает пользователю выйти за пределы этого диапазона.


Основные свойства TTrackBar

Полный список    TTrackBar

Свойство	Описание
Frequency	Определяет, сколько возможных значений Position лежит между метками шкалы ползунка при TickStyle = tsAuto
LineSize	Определяет, насколько изменяется Position, если пользователь управляет ползунком с помощью клавиш со стрелками
Max	Максимальное значение Position
Min	Минимальное значение Position
Orientation	Определяет ориентацию ползунка: trHorizontal - горизонтальная, trVertical - вертикальная
PageSize	Определяет, насколько изменяется Position, если пользователь управляет ползунком клавишами PageUp и PageDown
Position	Определяет текущую позицию движка ползунка
SelEnd	Конечная точка выделенного на шкале диапазона, например, рекомендуемого диапазона значений
SelStart	Начальная точка выделенного на шкале диапазона, например, рекомендуемого диапазона значений
Slider Visible	Определяет видимость движка ползунка
ThumbLength	Определяет длину движка ползунка
TickMarks	указывает размещение шкалы относительно компонента: tmBottomRight - снизу или справа в зависимости от ориентации компонента, tmTopLeft - сверху или слева в зависимости от ориентации компонента, tmBoth - с обеих сторон
TickStyle	Определяет способ изображения шкалы: tsAuto - автоматическая прорисовка шкалы, tsNone - отсутствие шкалы, tsManual - программное рисование шкалы с помощью метода SetTick. Метки, начала и конца шкалы размещаются автоматически и в случае TickStyle = tsManual


TTrackBar - компонент
Все свойства TTrackBar

Основные свойства   TTrackBar

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
Frequency	Определяет, сколько возможных значений Position лежит между метками шкалы ползунка при TickStyle = tsAuto
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LineSize	Определяет, насколько изменяется Position, если пользователь управляет ползунком с помощью клавиш со стрелками
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Max	Максимальное значение Position
Min	Минимальное значение Position
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Orientation	Определяет ориентацию ползунка: trHorizontal - горизонтальная, trVertical - вертикальная
Owner	Определяет владельца данного компонента.
PageSize	Определяет, насколько изменяется Position, если пользователь управляет ползунком клавишами PageUp и PageDown
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentCtl3D	Определяет наследование свойства объемного изображения от родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
Position	Определяет текущую позицию движка ползунка
SelEnd	Конечная точка выделенного на шкале диапазона, например, рекомендуемого диапазона значений
SelStart	Начальная точка выделенного на шкале диапазона, например, рекомендуемого диапазона значений
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Slider Visible	Определяет видимость движка ползунка
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально этот порядок соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
ThumbLength	Определяет длину движка ползунка
TickMarks	указывает размещение шкалы относительно компонента: tmBottomRight - снизу или справа в зависимости от ориентации компонента, tmTopLeft - сверху или слева в зависимости от ориентации компонента, tmBoth - с обеих сторон
TickStyle	Определяет способ изображения шкалы: tsAuto - автоматическая прорисовка шкалы, tsNone - отсутствие шкалы, tsManual - программное рисование шкалы с помощью метода SetTick. Метки, начала и конца шкалы размещаются автоматически и в случае TickStyle = tsManual
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TTrackBar

Полный список    TTrackBar

Никаких специальных методов, кроме одного, в данном компоненте не используется.

Метод	Описание
SetTick	Добавляет метку в заданную позицию шкалы ползунка


Все методы TTrackBar

Основные методы   TTrackBar

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта.
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
SetTick	Добавляет метку в заданную позицию шкалы ползунка
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TTrackBar
Специальные события TTrackBar

Полный список    TTrackBar

Событие	Описание
OnChange	Событие происходит сразу после изменения свойства Position


Все события TTrackBar

Специальные   TTrackBar

Событие	Описание
OnChange	Событие происходит сразу после изменения Position
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по TProgressBar
книга [2] раздел 4.8.1


TProgressBar - компонент

Иерархия   Свойства   Методы   События   литература

Предназначен для отображения хода процессов, занимающих заметное время

Модуль comctrls

Описание

Компонент TProgressBar предназначен для отображения в стиле Windows 95/98 хода процессов, занимающих заметное время, например, копирования больших файлов, настройку приложения, установку приложения на компьютере и т.п. Другой компонент, выполняющий аналогичные функции - TGauge.

Компонент TProgressBar представляет собой горизонтальную или вертикальную полосу, заполняемую по мере развития отображаемого процесса.

Основное свойство компонента - Position. Это позиция, которую можно задавать по мере протекания процесса, начиная со значения Min в начале процесса, и кончая значением Max в конце. Свойство Orientation определяет горизонтальную или вертикальную ориентацию шкалы компонента. Свойство Smooth определяет непрерывное или дискретное отображение процесса.

Отображение хода процесса можно осуществлять, задавая значение позиции - Position. Например, если полная длительность процесса характеризуется значением целой переменной Count (объем всех копируемых файлов, число настроек, количество циклов какого-то процесса), а выполненная часть - целой переменной Current, то задавать позицию диаграммы в случае, если используются значения минимальной и максимальной позиции по умолчанию (т.е. 0 и 10), можно оператором

ProgressBar1.Position:=10 * Current div Count;

Можно поступать иначе: задать сначала значение максимальной величины равным Count, а затем в ходе процесса задавать позицию равной Current. Например:

ProgressBar1.Max:=Count;

...

ProgressBar1.Position:= Current;

Компонент ProgressBar имеет два метода, которыми тоже можно воспользоваться для отображения процесса: StepBy - увеличение позиции на заданную величину Delta,  и StepIt - увеличение позиции на один шаг, величина которого задается свойством Step.


Основные свойства TProgressBar

Полный список    TProgressBar

Свойство	Описание
Max	Определяет максимальное значение Position
Min	Определяет минимальное значение Position
Orientation	Ориентация шкалы компонента: pbHorizontal - горизонтальная, pbVertical - вертикальная. Если задана ориентация pbVertical, то компонент надо вытянуть по вертикали
Position	Позиция, которую можно задавать по мере протекания процесса, начиная со значения Min в начале процесса, и кончая значением Max в конце. Если минимальное и максимальное значения выражены в процентах, то позиция - это процент завершенной части процесса
Smooth	Непрерывное (при значении true) или дискретное отображение процесса
Step	Шаг приращения позиции, используемый в методе StepIt


TProgressBar - компонент
Все свойства TProgressBar

Основные свойства   TProgressBar

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Max	Определяет максимальное значение Position
Min	Определяет минимальное значение Position
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Orientation	Ориентация шкалы компонента: pbHorizontal - горизонтальная, pbVertical - вертикальная. Если задана ориентация pbVertical, то компонент надо вытянуть по вертикали
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
Position	Позиция, которую можно задавать по мере протекания процесса, начиная со значения Min в начале процесса, и кончая значением Max в конце. Если минимальное и максимальное значения выражены в процентах, то позиция - это процент завершенной части процесса
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Smooth	Непрерывное (при значении true) или дискретное отображение процесса
Step	Шаг приращения позиции, используемый в методе StepIt
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату Y верхнего левого угла компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TProgressBar

Полный список    TProgressBar

Метод	Описание
StepBy	Изменяет значение свойства Position на заданную величину
StepIt	Увеличивает значение свойства Position на величину, указанную в свойстве Step


Все методы TProgressBar

Основные методы   TProgressBar

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
StepBy	Изменяет значение свойства Position на заданную величину
StepIt	Увеличивает значение свойства Position на величину, указанную в свойстве Step
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TProgressBar

TProgressBar

Никаких специальных событий в компоненте нет

Событие	Описание
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по TUpDown
книга [2] раздел 3.4.2


TUpDown - компонент

Иерархия   Свойства   Методы   События   литература

Компонент представляет собой кнопку-счетчик, которая превращает связанное с ним окно редактирования в окно для ввода целых чисел

Модуль comctrls

Описание

Компонент TUpDown представляет собой пару кнопок со стрелками, подобными стрелкам счетчика. Щелкая мышью на этих кнопках, можно изменять численные значения величин, относящихся к компоненту, обслуживаемому этими кнопками. Как правило, TUpDown связывается с окном редактирования TEdit. В этом случае TEdit превращается в компонент, в котором пользователь может выбирать целое число, изменяя его кнопками со стрелками. Если к тому же установить в true свойство окна ReadOnly, то пользователь просто не сможет ввести в окно какой-либо свой текст и вынужден будет ограничиться выбором числа.

Основное свойство компонента TUpDown - Associate, связывающее кнопки со стрелками с одним из расположенных на форме оконных компонентов, обычно с TEdit.

Свойство AlignButton компонента TUpDown определяет, слева или справа от окна будут размещаться кнопки. Свойство Orientation определяет, расположатся ли кнопки по вертикали (одна под другой) или по горизонтали (одна рядом с другой. Свойство ArrowKeys определяет, будут ли управлять компонентом клавиши клавиатуры со стрелками. Свойство Thousands определяет наличие или отсутствие разделительного пробела между каждыми тремя цифрами разрядов вводимого число.

Свойства Min и Max компонента TUpDown задают соответственно минимальное и максимальное значения чисел, свойство Increment задает приращение числа при каждом нажатии на кнопку. Свойство Position определяет текущее значение числа. Это свойство можно читать, чтобы узнать, какое число задал пользователь. Его можно задать во время проектирования в диапазоне Min - Max. Тогда это будет значение числа по умолчанию, отображаемое в окне в начале выполнения приложения.

Свойство Wrap определяет, как ведет себя компонент при достижении максимального или минимального значений. Если Wrap = false, то при увеличении или уменьшении числа до максимального или минимального значения это число фиксируется на предельном значении и нажатие кнопки, пытающейся увеличить максимальное число или уменьшить минимальное, ни к чему не приводит. Если же Wrap = true, то попытка превысить максимальное число приводит к его сбросу на минимальное значение. Аналогично, попытка уменьшить минимальное число приводит к его сбросу на максимальное значение. Т.е. изменение чисел "закольцовывается".


Основные свойства TUpDown

Полный список    TUpDown

Свойство	Описание
AlignButton	Определяет, слева (при значении udLeft) или справа (при значении udRight) от окна редактирования будут размещаться кнопки
ArrowKeys	Определяет, будут ли управлять компонентом клавиши клавиатуры со стрелками
Associate	Связывает кнопки со стрелками с одним из размещенных на форме оконных компонентов, обычно с TEdit
Increment	Задает приращение числа (свойства Position) при каждом нажатии на кнопку
Max	Максимальное значение числа - свойства Position (не более 32767)
Min	Минимальное значение числа - свойства Position (не менее -32768)
Orientation	Определяет расположение кнопок: udHorizontal - кнопки влево-вправо одна рядом с другой, udVertical - кнопки вверх-вниз одна под другой
Position	Текущее значение числа
Thousands	Определяет наличие или отсутствие разделительного пробела между каждыми тремя цифрами разрядов вводимого число
Wrap	При значении true попытка пользователя выйти за пределы значений Min - Max приводит к "закольцовыванию" значений (максимальное перебрасывается на минимальное и наоборот). При значении false аналогичная попытка приводит к фиксации числа на предельном значении


TUpDown - компонент
Все свойства TUpDown

Основные свойства   TUpDown

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
AlignButton	Определяет, слева (при значении udLeft) или справа (при значении udRight) от окна редактирования будут размещаться кнопки
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
ArrowKeys	Определяет, будут ли управлять компонентом клавиши клавиатуры со стрелками
Associate	Связывает кнопки со стрелками с одним из размещенных на форме оконных компонентов, обычно с TEdit
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Increment	Задает приращение числа (свойства Position) при каждом нажатии на кнопку
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Max	Максимальное значение числа - свойства Position (не более 32767)
Min	Минимальное значение числа - свойства Position (не менее -32768)
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Orientation	Определяет расположение кнопок: udHorizontal - кнопки влево-вправо одна рядом с другой, udVertical - кнопки вверх-вниз одна под другой
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
Position	Текущее значение числа
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Thousands	Определяет наличие или отсутствие разделительного пробела между каждыми тремя цифрами разрядов вводимого число
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.
Wrap	При значении true попытка пользователя выйти за пределы значений Min - Max приводит к "закольцовыванию" значений (максимальное перебрасывается на минимальное и наоборот). При значении false аналогичная попытка приводит к фиксации числа на предельном значении


Основные методы TUpDown
Методы TUpDown

TUpDown

Никаких специальных методов в компоненте нет

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterfaceEntry	Возвращает вход интерфейса, указанного идентификатором
GetInterfaceTable	Возвращает указатель структуре содержащей все интерфейсы, реализованные в данном классе
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TUpDown
Специальные события TUpDown

Полный список    TUpDown

Событие	Описание
OnChanging	Наступает перед измением значения Position. В обработчике можно запретить изменение
OnChangingEx	Наступает перед измением значения Position. В обработчике можно запретить изменение. В отличие от OnChanging можно определить намечаемое значение Position и направление изменения (уменьшение, увеличение, выход за допустимые пределы)
OnClick	Наступает при щелчке пользователя на кнопке компонента. В обработчике можно определить кнопку, на которой произведен щелчок


Все события TUpDown

Специальные   TUpDown

Событие	Описание
OnChanging	Наступает перед измением значения Position. В обработчике можно запретить изменение
OnChangingEx	Наступает перед измением значения Position. В обработчике можно запретить изменение. В отличие от OnChanging можно определить намечаемое значение Position и направление изменения (уменьшение, увеличение, выход за допустимые пределы)
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при щелчке пользователя на кнопке компонента. В обработчике можно определить кнопку, на которой произведен щелчок
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.


Литература по THotKey
книга [2] раздел 6.3


THotKey - компонент

Иерархия   Свойства   Методы   События   литература

Обеспечивает возможность задания самим пользователем горячих клавиш, определяющих быстрый доступ к разделам меню

Модуль comctrls

Описание

THotKey является вспомогательным компонентом, обеспечивающим возможность задания самим пользователем горячих клавиш, определяющих быстрый доступ к разделам меню. К тому же этот компонент позволяет задать такие сочетания горячих клавиш, которые не предусмотрены в выпадающем списке свойства разделов меню ShortCut.

Компонент THotKey внешне выглядит как обычное окно редактирования TEdit. Но если в него входит пользователь, то оно переводит нажимаемые им клавиши в тип TShortCut, хранящий комбинацию горячих клавиш. Например, если пользователь нажимает клавиши Ctrl-ф, то в окне HotKey появится текст "Ctrl + ф".

Основное свойство компонента - THotKey, равное по умолчанию комбинации клавиш Alt-A. Это свойство можно прочесть и присвоить свойству ShortCut какого-то раздела меню. Например, оператор

MOpen.ShortCut:=HotKey1.HotKey;

присваивает разделу меню с именем MOpen комбинацию клавиш, заданную в компоненте HotKey1.

Свойство Modifiers указывает модификатор - вспомогательную клавишу, нажимаемую перед символьной. Это свойство является множеством, которое может включать значения hkShift, hkCtrl, hkAlt, hkExt, что соответствует клавишам Shift, Ctrl, Alt, Extra. По умолчанию Modifiers =[hkAlt]. Если вы хотите, например, задать вместо этого значения в качестве модификатора клавишу Ctrl, вы должны выполнить оператор:

HotKey1.Modifiers:=[hkCtrl];

Свойство InvalidKeys задает недопустимые клавиши или их комбинации. Это свойство является множеством, которое может включать значения hcNone, hcShift, hcCtrl, hcAlt, hcShiftCtrl, hcShiftAlt, hcCtrlAlt, hcShiftCtrlAlt, что соответствует отсутствию модификатора и клавишам Shift, Ctrl, Alt, Shift-Ctrl, Shift-Alt, Ctrl-Alt, Shift-Ctrl-Alt. Если вы хотите задать программно значение свойства HotKey, то можете это сделать, например, операторами

HotKey1.HotKey:=ord('F');

HotKey1.Modifiers:=[hkAlt];

Эти операторы зададут комбинацию горячих клавиш Alt-F.


Основные свойства THotKey

Полный список    THotKey

Свойство	Описание
HotKey	Содержит текущую комбинацию горячих клавиш
InvalidKeys	Задает недопустимые клавиши или их комбинации. Это свойство является множеством, которое может включать значения hcNone, hcShift, hcCtrl, hcAlt, hcShiftCtrl, hcShiftAlt, hcCtrlAlt, hcShiftCtrlAlt, что соответствует отсутствию модификатора и клавишам Shift, Ctrl, Alt, Shift-Ctrl, Shift-Alt, Ctrl-Alt, Shift-Ctrl-Alt
Modifiers	Указывает модификатор - вспомогательную клавишу, нажимаемую перед символьной: множество, которое может включать значения hkShift, hkCtrl, hkAlt, hkExt, что соответствует клавишам Shift, Ctrl, Alt, Extra


THotKey - компонент
Все свойства THotKey

Основные свойства   THotKey

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будут ли размеры компонента автоматически соответствовать его содержанию.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
HotKey	Содержит текущую комбинацию горячих клавиш
InvalidKeys	Задает недопустимые клавиши или их комбинации. Это свойство является множеством, которое может включать значения hcNone, hcShift, hcCtrl, hcAlt, hcShiftCtrl, hcShiftAlt, hcCtrlAlt, hcShiftCtrlAlt, что соответствует отсутствию модификатора и клавишам Shift, Ctrl, Alt, Shift-Ctrl, Shift-Alt, Ctrl-Alt, Shift-Ctrl-Alt
Left	Указывает ширину компонента при его горизонтальном размещении в контейнере. Свойство только для чтения.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Modifiers	Указывает модификатор - вспомогательную клавишу, нажимаемую перед символьной: множество, которое может включать значения hkShift, hkCtrl, hkAlt, hkExt, что соответствует клавишам Shift, Ctrl, Alt, Extra
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TActiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы THotKey
Методы THotKey

THotKey

Никаких специальных методов в компоненте нет

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектомMessage.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FindItem	Размещает и возвращает пункт меню
FindNext Control	Возвращает следующий в последовательности табуляции оконный дочерний элемент.
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События THotKey

THotKey

Никаких специальных событий в компоненте нет

Событие	Описание
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.


Литература по TAnimate
книга [2] раздел 4.8.2

книга [3] раздел 6.2.3


TAnimate - компонент

Иерархия   Свойства   Методы   События   литература

Используется для воспроизведения немых клипов AVI, подобных используемым в Windows изображениям копирования файлов и т.п.

Модуль comctrls

Описание

Компонент TAnimate позволяет воспроизводить на форме стандартные видео клипы Windows (типа копирования файлов, поиска файлов и т.п.) и немые видео файлы .avi - Audio Video Interleaved. Эти файлы представляют собой последовательность кадров битовых матриц. Они могут содержать и звуковую дорожку, но компонент TAnimate воспроизводит только немые клипы AVI. Он работает только с неуплотненными файлами AVI или с клипами AVI, уплотненными с использованием RLE - run-length encoding.

TAnimate может воспроизводить клипы AVI из ресурсов, из файлов или из библиотеки Shell32.dll, если приложение работает с Windows 95/98 или NT.

Во время проектирования в компонент TAnimate можно загрузить кадры клипа AVI, указав такие свойства, как FileName - имя файла и CommonAVI - стандартный клип Windows. Можно также просматривать клип по кадрам, щелкнув на компоненте правой кнопкой мыши и выбирая разделы всплывающего меню Next Frame (Следующий кадр) или Previous Frame (Предыдущий кадр). Это позволит вам выбрать фрагмент клипа и воспроизводить его методом Play, если вы не хотите воспроизводить клип полностью.

В компоненте TAnimate предусмотрены события OnClose, OnOpen, OnStart и OnStop, генерируемые соответственно в моменты закрытия и открытия компонента, начала и окончания воспроизведения.


Основные свойства TAnimate

Полный список    TAnimate

Свойство	Описание
Active	Указывает, должен ли компонент воспроизводить клип. Установка в true запускает воспроизведение кадров, начиная со StartFrame и кончая StopFrame, столько раз, сколько указано в свойстве Repetitions. Установка в false прерывает воспроизведение. Перед активацией компонент должен быть открыт
AutoSize	Указывает, что размер компонента автоматически устанавливается равным размерам кадров
Center	Определяет центровку изображения в клиентской области компонента, если размеры клиентской области ClientHeight или ClientWidth не совпадают с соответствующими размерами кадра FrameHeight и FrameWidth. Если центровка не задана, изображение позиционируется в верхнем левом углу клиентской области.
CommonAVI	Указывает клип Windows из библиотеки Shell32.dll
FileName	Указывает имя воспроизводимого файла. Установка FileName автоматически приводит к установке CommonAVI = aviNone, очищает ResName и сбрасывает на 0 ResHandle и ResID.
FrameCount	Определяет общее количество кадров в клипе AVI. Свойство только для чтения.
FrameHeight	Высота, необходимая для полного отображения кадров. Если свойство AutoSize установлено а true, высота клиентской области компонента автоматически устанавливается равной FrameHeight. Свойство только для чтения.
FrameWidth	Ширина, необходимая для полного отображения кадров. Если свойство AutoSize установлено а true, ширина клиентской области компонента автоматически устанавливается равной FrameWidth. Свойство только для чтения.
Open	Указывает, открыт ли компонент, т.е. загружен ли клип. При задании клипа свойствами CommonAVI, FileName, ResName или ResID, компонент открывается автоматически. Установка в false освобождает ресурсы, используемые клипом. При установке в true свойство StartFrame устанавливается в 1, а свойство StopFrame - во FrameCount.
Repetitions	Определяет число повторений воспроизведения заданной последовательности кадров после установки Active в true. После воспроизведения заданного числа раз, свойство Active устанавливается в false. Значение 0 указывает на неограниченное число повторений. Тогда воспроизведение должно прерываться свойством Active или методом Stop. Метод Play перекрывает значение Repetitions значением своего параметра Count.
ResHandle	Обеспечивает доступ к дескриптору Windows для модуля, содержащего клип AVI в ресурсах. После установки ResHandle надо установить ResID или ResName,  чтобы определить конкретный используемый ресурс. Если ResHandle не задано, используется экземпляр выполняемого модуля. Установка ResHandle автоматически очищает FileName и устанавливает CommonAVI в aviNone.
ResID	Указывает идентификатор клипа в ресурсах. Установка ResHandle автоматически очищает FileName и ResName, устанавливает CommonAVI в aviNone.
ResName	Указывает имя клипа в ресурсах. Установка ResHandle автоматически очищает FileName, устанавливает CommonAVI в aviNone и ResID в 0.
StartFrame	Указывает первый воспроизводимый кадр. Если StartFrame = 1, клип воспроизводится с начала. Метод Play перекрывает значение StartFrame значением своего параметра FromFrame
StopFrame	Указывает последний воспроизводимый кадр. Если StopFrame = 0, клип воспроизводится с начала. Метод Play перекрывает значение StopFrame значением своего параметра ToFrame.
Timers	Указывает, должно ли воспроизведение синхронизироваться сообщениями таймера, или оно выполняется асинхронно как самостоятельный процесс. Синхронизация позволяет согласовать изображение с другими операциями, например, с воспроизведением звука
Transparent	Определяет, должен ли цвет фона клипа заменяться цветом, указанным в свойстве Color компонента или родительского окна, если в компоненте ParentColor установлено в true.


Все свойства TAnimate

Основные свойства   TAnimate

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Active	Указывает, должен ли компонент воспроизводить клип. Установка в true запускает воспроизведение кадров, начиная со StartFrame и кончая StopFrame, столько раз, сколько указано в свойстве Repetitions. Установка в false прерывает воспроизведение. Перед активацией компонент должен быть открыт
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Указывает, что размер компонента автоматически устанавливается равным размерам кадров
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Center	Определяет центровку изображения в клиентской области компонента, если размеры клиентской области ClientHeight или ClientWidth не совпадают с соответствующими размерами кадра FrameHeight и FrameWidth. Если центровка не задана, изображение позиционируется в верхнем левом углу клиентской области.
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Определяет цвет фона компонента.
CommonAVI	Указывает клип Windows из библиотеки Shell32.dll
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
FileName	Указывает имя воспроизводимого файла. Установка FileName автоматически приводит к установке CommonAVI = aviNone, очищает ResName и сбрасывает на 0 ResHandle и ResID.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
FrameCount	Определяет общее количество кадров в клипе AVI. Свойство только для чтения.
FrameHeight	Высота, необходимая для полного отображения кадров. Если свойство AutoSize установлено а true, высота клиентской области компонента автоматически устанавливается равной FrameHeight. Свойство только для чтения.
FrameWidth	Ширина, необходимая для полного отображения кадров. Если свойство AutoSize установлено а true, ширина клиентской области компонента автоматически устанавливается равной FrameWidth. Свойство только для чтения.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Open	Указывает, открыт ли компонент, т.е. загружен ли клип. При задании клипа свойствами CommonAVI, FileName, ResName или ResID, компонент открывается автоматически. Установка в false освобождает ресурсы, используемые клипом. При установке в true свойство StartFrame устанавливается в 1, а свойство StopFrame - во FrameCount.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentColor	Указывает, где компонент отыскивает информацию о своём цвете.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TActiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
Repetitions	Определяет число повторений воспроизведения заданной последовательности кадров после установки Active в true. После воспроизведения заданного числа раз, свойство Active устанавливается в false. Значение 0 указывает на неограниченное число повторений. Тогда воспроизведение должно прерываться свойством Active или методом Stop. Метод Play перекрывает значение Repetitions значением своего параметра Count.
ResHandle	Обеспечивает доступ к дескриптору Windows для модуля, содержащего клип AVI в ресурсах. После установки ResHandle надо установить ResID или ResName,  чтобы определить конкретный используемый ресурс. Если ResHandle не задано, используется экземпляр выполняемого модуля. Установка ResHandle автоматически очищает FileName и устанавливает CommonAVI в aviNone.
ResID	Указывает идентификатор клипа в ресурсах. Установка ResHandle автоматически очищает FileName и ResName, устанавливает CommonAVI в aviNone.
ResName	Указывает имя клипа в ресурсах. Установка ResHandle автоматически очищает FileName, устанавливает CommonAVI в aviNone и ResID в 0.
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
StartFrame	Указывает первый воспроизводимый кадр. Если StartFrame = 1, клип воспроизводится с начала. Метод Play перекрывает значение StartFrame значением своего параметра FromFrame
StopFrame	Указывает последний воспроизводимый кадр. Если StopFrame = 0, клип воспроизводится с начала. Метод Play перекрывает значение StopFrame значением своего параметра ToFrame.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Timers	Указывает, должно ли воспроизведение синхронизироваться сообщениями таймера, или оно выполняется асинхронно как самостоятельный процесс. Синхронизация позволяет согласовать изображение с другими операциями, например, с воспроизведением звука
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
Transparent	Определяет, должен ли цвет фона клипа заменяться цветом, указанным в свойстве Color компонента или родительского окна, если в компоненте ParentColor установлено в true.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TAnimate

Полный список    TAnimate

Метод	Описание
CanAutoSize	Автоматически вызывается при AutoSize = true и разрешает начать изменение размеров, начиная с событий OnCanResize и OnConstrainedResize, и кончая OnResize
Create	Конструктор Create устанавливает в true свойства AutoSize, Center, Transparent, устанавливает StartFrame в 1 и задает ControlStyle = [csReflector].
Play	Воспроизводит заданную последовательность кадров видео клипа.
Reset	Очищает значения StartFrame и StopFrame и отображает первый кадр клипа. Осуществляется закрытие и открытие компонента, генерируются события OnClose и OnOpen. Компонент остается открытым, но неактивным.
Seek	Отображает кадр, указанный единственным параметром метода типа SmallInt. Значение параметра не должно превышать FrameCount. Вызов Seek устанавливает Open в true.
Stop	Прерывает воспроизведение клипа. Эквивалентен установке Active в false.


Все методы TAnimate

Основные методы   TAnimate

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanAutoSize	Автоматически вызывается при AutoSize = true и разрешает начать изменение размеров, начиная с событий OnCanResize и OnConstrainedResize, и кончая OnResize
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Конструктор Create устанавливает в true свойства AutoSize, Center, Transparent, устанавливает StartFrame в 1 и задает ControlStyle = [csReflector].
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Play	Воспроизводит заданную последовательность кадров видео клипа.
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
Reset	Очищает значения StartFrame и StopFrame и отображает первый кадр клипа. Осуществляется закрытие и открытие компонента, генерируются события OnClose и OnOpen. Компонент остается открытым, но неактивным.
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
Seek	Отображает кадр, указанный единственным параметром метода типа SmallInt. Значение параметра не должно превышать FrameCount. Вызов Seek устанавливает Open в true.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Stop	Останавливает демонстрацию последовательности изображений клипа.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


Ообытия TAnimate
События TAnimate

TAnimate

Событие	Описание
OnClose	Происходит после закрытия компонента, когда Open устанавливается в false.
OnOpen	Происходит после открытия компонента, когда Open устанавливается в true. В обработчике этого события удобно устанавливать Repetitions, StartFrame и StopFrame или задавать поиск нужного кадра
OnStart	Происходит сразу после начала воспроизведения при установке Active в true или при вызове Play. Обработчик события можно использовать для запуска процессов, которые должны быть синхронизированы с воспроизведением клипа
OnStop	Событие наступает сразу после окончания демонстрации клипа компонентом


Литература по DateTimePicker
книга [2] раздел 3.4.3


TDateTimePicker - компонент

Иерархия   Свойства   Методы   События   литература

Используется для ввода дат и времени с раскрывающимся календарем

Модуль comctrls

Описание

TDateTimePicker - визуальный компонент, спроектированный для ввода дат или времени. В режиме dmComboBox он похож на список или выпадающий список с изображением календаря. Дату можно выбрать из этого календаря. И дату, и время можно также выбирать стрелками прокрутки или нажатием клавиш. При этом всегда гарантируется правильный формат и значение как даты, так и времени. Для дат (свойства Date) могут быть заданы максимальное и минимальное значения (MaxDate и MinDate). При попытке пользователя задать дату вне этого диапазона ему будет выдано соответствующее сообщение (генерируется исключение EDateTimeError) и неверная дата не будет воспринята.

Свойства Date, MaxDate и MinDate в процессе проектирования задаются в принятом в вашей системе формате даты, например, дд.мм.гг. В процессе выполнения эти свойства программно могут задаваться в виде значения типа TDateTime, например, 35065, или с помощью функции StrToDate, например:

DateTimePicker1.Date:=StrToDate('1.12.99');

Свойство Time в процессе проектирования задается в принятом в вашей системе формате времени, например, чч.мм.сс. В процессе выполнения это свойство программно может задаваться в виде значения типа TDateTime или с помощью функции StrToDate, например:

DateTimePicker1.Date:=StrToTime('12.0.0');


Основные свойства TDateTimePicker

Полный список    TDateTimePicker

Свойство	Описание
CalAlignment	Выравнивание выпадающего календаря влево или вправо при длине компонента большей, чем длина календаря; действует только при Kind = dtkDate и DateMode = dmComboBox
CalColors	Цвета, используемые при отображении календаря
Checked	Указывает, следует ли за датой и временем окно с отметкой выбора(галочкой или флажком). По умолчанию - true. Значение false обычно применяется совместно с установленным в true свойством ShowCheckbox
Date	Дата типа Date, введенная пользователем или установленная программой. То же, что DateTime
DateFormat	Определяет формат представления даты - короткий или полный.
DateMode	Определяет способ выбора даты в компоненте: dmComboBox - выбор из раскрывающегося календаря, dmUpDown - установка с помощью кнопок со стрелками
DateTime	Дата типа TDateTime, введенная пользователем или установленная программой. То же, что Date
Kind	Тип компонента: dtkDate - ввод даты, dtkTime - ввод времени
MaxDate	Максимальная дата, которую можно ввести. Если в свойство Date будет введено большее значение, сгенерируется исключение EDateTimeError.
MinDate	Минимальная дата, которую можно ввести. Если в свойство Date будет введено меньшее значение, сгенерируется исключение EDateTimeError.
ParseInput	Делает возможным событие OnUserInput.
ShowCheckbox	Отображение индикатора. Установка в true проводится обычно одновременно с установкой в false свойства Checked.
Time	Время, введенное пользователем или установленное программой.


TDateTimePicker - компонент
Все свойства TDateTimePicker

Основные свойства   TDateTimePicker

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CalAlignment	Выравнивание выпадающего календаря влево или вправо при длине компонента большей, чем длина календаря; действует только при Kind = dtkDate и DateMode = dmComboBox
CalColors	Цвета, используемые при отображении календаря
Checked	Указывает, следует ли за датой и временем окно с отметкой выбора(галочкой или флажком). По умолчанию - true. Значение false обычно применяется совместно с установленным в true свойством ShowCheckbox
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
Date	Дата типа Date, введенная пользователем или установленная программой. То же, что DateTime
DateFormat	Определяет формат представления даты - короткий или полный.
DateMode	Определяет способ выбора даты в компоненте: dmComboBox - выбор из раскрывающегося календаря, dmUpDown - установка с помощью кнопок со стрелками
DateTime	Дата типа TDateTime, введенная пользователем или установленная программой. То же, что Date
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
DroppedDown	Определяет компонент как раскрывающийся вниз.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
Kind	Тип компонента: dtkDate - ввод даты, dtkTime - ввод времени
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxDate	Максимальная дата, которую можно ввести. Если в свойство Date будет введено большее значение, сгенерируется исключение EDateTimeError.
MinDate	Минимальная дата, которую можно ввести. Если в свойство Date будет введено меньшее значение, сгенерируется исключение EDateTimeError.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
ParseInput	Делает возможным событие OnUserInput.
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ShowCheckbox	Отображение индикатора. Установка в true проводится обычно одновременно с установкой в false свойства Checked.
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Time	Время, введенное пользователем или установленное программой.
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TDateTimePicker

Полный список    TDateTimePicker

Метод	Описание
BoldDays	Задает даты, выделяемые в календаре жирным шрифтом. Используется в обработчике события OnGetMonthInfo (пока не реализовано)


Все методы TDateTimePicker

Основные методы   TDateTimePicker

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BoldDays	Задает даты, выделяемые в календаре жирным шрифтом. Используется в обработчике события OnGetMonthInfo (пока не реализовано)
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControlState	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDateTimePicker
Специальные события TDateTimePicker

Полный список    TDateTimePicker

Событие	Описание
OnChange	Событие происходит при вводе даты или времени.
OnCloseUp	Событие происходит при закрытии раскрывающегося календаря.


Все события TDateTimePicker

Специальные   TDateTimePicker

Событие	Описание
OnChange	Событие происходит при вводе даты или времени.
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnCloseUp	Событие происходит при закрытии раскрывающегося календаря.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDropDown	Событие происходит,когда пользователь открывает раскрывающийся календарь щелкая на стрелке на правой стороне компонента.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUserInput	Событие происходит, когда пользователь печатает непосредственно в окне редактирования компонента.


Литература по TMonthCalendar
книга [2] раздел 3.4.3


TMonthCalendar - компонент

Иерархия   Свойства   Методы   События   литература

Компонент предоставляет возможность ввода дат с выбором из календаря

Модуль Comctrls

Описание

Компонент TMonthCalendar - это календарь, в котором пользователь может выбирать даты или диапазон дат.

Компонент похож на компонент TDateTimePicker, работающий в режиме ввода дат. Но в TMonthCalendar предусмотрены некоторые дополнительные возможности: можно допустить множественный выбор дат в некотором диапазоне (свойство MultiSelect), можно отображать в календаре номера недель с начала года (свойство WeekNumbers), перестраивать календарь, задавая первый день каждой недели (свойство FirstDayOfWeek) и т.п. Для некоторых офисных приложений все это достаточно удобно.

Для дат (свойства Date) могут быть заданы максимальное и минимальное значения (MaxDate и MinDate). Дату вне этого диапазона пользователь выбрать не сможет. Свойства Date, MaxDate и MinDate в процессе проектирования задаются в принятом в вашей системе формате даты, например, дд.мм.гг. В процессе выполнения эти свойства программно могут задаваться в виде значения типа TDate, например, 35065, или с помощью функции StrToDate, например:

MonthCalendar1.Date:=StrToDate('1.12.99');

При разрешении выбора диапазона дат (MultiSelect = true) начальное значение диапазона содержится в свойстве Date, а конечное значение - в свойстве EndDate. Свойство MaxSelectRange задает максимальное количество дней, которое пользователь может выбрать, выделяя диапазон дат.

Метод BoldDays позволяет выделять в отображаемом месяце какие-то даты (например, праздники) жирным шрифтом. Для этого оператор вызова BoldDays вставляется в обработчик события OnGetMonthInfo, наступающего при каждой смене отображаемого месяца. Например, следующий оператор выделит в отображаемом месяце жирным шрифтом даты 1 и 9:

MonthCalendar1.BoldDays([1,9], MonthBoldInfo);

Следующий оператор сделает то же самое, но только для мая:

if Month = 5

  then MonthCalendar1.BoldDays([1,9], MonthBoldInfo);


Основные свойства TMonthCalendar

Полный список    TMonthCalendar

Свойство	Описание
CalColors	Цвета, используемые при отображении календаря
Date	Дата типа TDate, введенная пользователем или установленная программой. При MultiSelect = true Date - начальная дата диапазона
EndDate	При MultiSelect = true - конечная дата диапазона (типа TDate)
FirstDayOfWeek	Определяет день с которого начинается неделя
MaxDate	Максимальное значение даты, которую пользователь может выбрать на календаре.
MaxSelectRange	Определяет максимальное количество дней, которое пользователь может выбрать, выделяя диапазон дат (при MultiSelect = true)
MinDate	Минимальное значение даты, которую пользователь может выбрать на календаре.
MultiSelect	Разрешает выбор диапазона дат
ShowToday	Определяет, указывается ли внизу календаря текущая дата.
ShowToday Circle	Определяет, помечается ли кружком текущая дата
WeekNumbers	Определяет, указываются ли с левой стороны календаря номера недель с начала года


TMonthCalendar - компонент
Все свойства TMonthCalendar

Основные свойства   TMonthCalendar

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будут ли размеры компонента автоматически соответствовать его содержанию.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CalColors	Цвета, используемые при отображении календаря
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
Date	Дата типа TDate, введенная пользователем или установленная программой. При MultiSelect = true Date - начальная дата диапазона
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
EndDate	При MultiSelect = true - конечная дата диапазона (типа TDate)
FirstDayOfWeek	Определяет день с которого начинается неделя
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxDate	Максимальное значение даты, которую пользователь может выбрать на календаре.
MaxSelectRange	Определяет максимальное количество дней, которое пользователь может выбрать, выделяя диапазон дат (при MultiSelect = true)
MinDate	Минимальное значение даты, которую пользователь может выбрать на календаре.
MultiSelect	Разрешает выбор диапазона дат
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
ShowToday	Определяет, указывается ли внизу календаря текущая дата.
ShowToday Circle	Определяет, помечается ли кружком текущая дата
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
WeekNumbers	Определяет, указываются ли с левой стороны календаря номера недель с начала года
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TMonthCalendar

Полный список    TMonthCalendar

Метод	Описание
BoldDays	Задает даты, выделяемые в календаре жирным шрифтом. Используется в обработчике события OnGetMonthInfo


Все методы TMonthCalendar

Основные методы   TMonthCalendar

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BoldDays	Задает даты, выделяемые в календаре жирным шрифтом. Используется в обработчике события OnGetMonthInfo.
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanAutoSize	Указывает, может ли компонент автоматически изменять свои размеры, Автоматически вызывается при AutoSize = true и разрешает начать изменение размеров, начиная с событий OnCanResize и OnConstrainedResize, и кончая OnResize чтобы соответствовать своему содержанию.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Constained Resize	Перезаписывает унаследованный метод ConstrainedResize. Защищенный метод
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParams	Переопределяет унаследованный метод CreateParams. Защищенный метод
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetCalendar Handle	Возвращает ссылку на окно календаря. Защищенный метод
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MsgSetCal Colors	Устанавливает цвета календаря. Защищенный метод
MsgSetDate Time	Устанавливает текущие время и дату в календаре. Защищенный метод
MsgSetRange	Устанавливает выделение календаря. Защищенный метод
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TMonthCalendar
Специальные события TMonthCalendar

Полный список    TMonthCalendar

Событие	Описание
OnGetMonth Info	Вызывается каждый раз при отображении в календаре нового месяца. В обработчик этого события может вставляться вызов метода BoldDays, который обеспечивает выделение жирным шрифтом определенных дат определенного месяца


Все события TMonthCalendar

Специальные   TMonthCalendar

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetMonth Info	Вызывается каждый раз при отображении в календаре нового месяца. В обработчик этого события может вставляться вызов метода BoldDays, который обеспечивает выделение жирным шрифтом определенных дат определенного месяца
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по TTreeView
книга [2] раздел 3.6.3


TTreeView - компонент

Иерархия   Свойства   Методы   События   литература

Служит для отображения иерархических данных в виде дерева, в котором пользователь может выбрать нужный ему узел или узлы

Модуль comctrls

Описание

Компонент TTreeView представляет собой окно для отображения иерархических данных в виде дерева, в котором пользователь может выбрать нужный ему узел или узлы. Иерархическая информация может быть самой разной: структура некоторого предприятия, структура документации учреждения, структура отчета и т.п. С каждым узлом дерева могут быть связаны некоторые данные.

Основным свойством TTreeView, содержащим информацию об узлах дерева, является индексированный список узлов Items. Каждый узел является объектом типа TTreeNodes, обладающим своими свойствами и методами.

Во время проектирования формирование дерева осуществляется в окне редактора узлов дерева, которое вызывается двойным щелчком на компоненте TTreeView или нажатием кнопки с многоточием около свойства Items в окне Инспектора Объектов. Для каждого нового узла дерева можно указать ряд свойств: Text - надпись, появляющаяся в дереве около данного узла, ImageIndex и SelectedIndex - индексы пиктограмм, отображаемых для узла, который соответственно не выделен и выделен пользователем в данный момент. Эти индексы соответствуют списку изображений, хранящихся в отдельном компоненте TImageList, на который указывает свойство Images компонента TTreeView. Свойство узла  - StateIndex позволяет добавить вторую пиктограмму в данный узел, не зависящую от состояния узла. Подобная пиктограмма может просто служить дополнительной характеристикой узла. Индекс, указываемый как StateIndex, соответствует списку изображений, хранящихся в отдельном компоненте TImageList, указанном в свойстве StateImages компонента TTreeView.

Множество методов объектов типа TTreeNodes позволяет перестраивать дерево во время выполнения приложения.


Основные свойства TTreeView

Полный список    TTreeView

Свойство	Описание
AutoExpand	Определяет, раскрываются ли и свертываются ли узлы автоматически в зависимости от выбора в просматриваемом дереве.
Canvas	Канва дерева. Ее свойства и метода можно использовать в обработчиках событий OnCustomDraw и OnCustomDrawItem для рисования собственных изображений
ChangeDelay	Определяет задержку между моментом выбора узла и моментом события OnChange
DropTarget	Определяет, какой элемент дерева появляется в результате операции перетаскивания Drag&Drop
HotTrack	Определяет, выделяются ли цветом элементы, над которыми проходит курсор мыши
Images	Определяет, какой список изображений TImageList, связан с деревом.
Indent	Определяет отступ, в пикселях, отделяющий родительские узлы от дочерних при раскрытии списка дочерних узлов.
Items	Индекисрованный список узлов дерева
ReadOnly	Указывает, может ли пользователь изменять текст надписей узлов дерева
RightClick Select	Определяет, возвращает ли свойство Selected узлы, выбранные с помощью правой кнопки мыши
RowSelect	Определяет, выделяется ли цветом ряд выделенного элемента
Selected	Выбранный узел дерева
ShowButtons	Определяет, отображаются ли кнопки со знаками "+" (раскрыть узел) и "-" (свернуть узел) с левой стороны каждого родительского элемента
ShowLines	Определяет, видны ли линии, связывающие дочерние узлы с соответствующими родительскими узлами
ShowRoot	Определяет, отображаются ли линии, соединяющие узлы верхнего уровня дерева с его корнем
SortType	Позволяет автоматически сортировать ветви и узлы дерева: stNone - дерево не сортируется, stText - сортировка по алфавиту, stData - сортировка по связанным с узлами объектам Data, stBoth - сортировка одновременно по тексту и объектам Data или любым иным способом. Для использования этих возможностей сортировки надо написать обработчик события OnCompare
StateImages	Список изображений TImageList, используемый для добавления вторых пиктограмм в узлы. Подобные пиктограммы могут служить дополнительной характеристикой отдельных узлов
ToolTips	Определяет, снабжены ли элементы дерева подсказками
TopItem	Определяет самый верхний видимый узел


TTreeView - компонент
Все свойства TTreeView

Основные свойства   TTreeView

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoExpand	Определяет, раскрываются ли и свертываются ли узлы автоматически в зависимости от выбора в просматриваемом дереве.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Канва дерева. Ее свойства и метода можно использовать в обработчиках событий OnCustomDraw и OnCustomDrawItem для рисования собственных изображений
ChangeDelay	Определяет задержку между моментом выбора узла и моментом события OnChange
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
DropTarget	Определяет, какой элемент дерева появляется в результате операции перетаскивания Drag&Drop
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hide Selection	Определяет, сохраняется ли визуальный обзор выделенного текста при переходе фокуса к другому компоненту.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
HotTrack	Определяет, выделяются ли цветом элементы, над которыми проходит курсор мыши
Images	Определяет, какой список изображений TImageList, связан с деревом.
Indent	Определяет отступ, в пикселях, отделяющий родительские узлы от дочерних при раскрытии списка дочерних узлов.
Items	Индексированный список узлов дерева
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Включает и выключает использование свойства объемного изображения родительского компонента
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ReadOnly	Указывает, может ли пользователь изменять текст надписей узлов дерева
RightClick Select	Определяет, возвращает ли свойство Selected узлы, выбранные с помощью правой кнопки мыши
RowSelect	Определяет, выделяется ли цветом ряд выделенного элемента
Selected	Выбранный узел дерева
ShowButtons	Определяет, отображаются ли кнопки со знаками "+" (раскрыть узел) и "-" (свернуть узел) с левой стороны каждого родительского элемента
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
ShowLines	Определяет, видны ли линии, связывающие дочерние узлы с соответствующими родительскими узлами
ShowRoot	Определяет, отображаются ли линии, соединяющие узлы верхнего уровня дерева с его корнем
SortType	Позволяет автоматически сортировать ветви и узлы дерева: stNone - дерево не сортируется, stText - сортировка по алфавиту, stData - сортировка по связанным с узлами объектам Data, stBoth - сортировка одновременно по тексту и объектам Data или любым иным способом. Для использования этих возможностей сортировки надо написать обработчик события OnCompare
StateImages	Список изображений TImageList, используемый для добавления вторых пиктограмм в узелы. Подобные пиктограммы могут служить дополнительной характеристикой отдельных узлов
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
ToolTips	Определяет, снабжены ли элементы дерева подсказками
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
TopItem	Определяет самый верхний видимый узел
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TTreeView

Полный список    TTreeView

Метод	Описание
AlphaSort	Обеспечивает алфавитную последовательность узлов независимо от значения SortType, но при отсутствии обработчика событий OnCompare (если обработчик есть, то при выполнении метода AlphaSort происходит обращение к этому обработчику). Отличие метода от задания значения SortType = stText заключается в том, что изменение надписей узлов приводит к автоматической пересортировке дерева только при SortType = stText
CustomSort	Сортирует узлы в последовательности, определяемой указанной функцией
FullCollapse	Свертывает все узлы дерева
FullExpand	Раскрывает все узлы дерева
GetNodeAt	Возвращает узел, найденный в указанной позиции
IsEditing	Указывает, редактируется ли в данный момент пользователем надпись узла
LoadFromFile	Считывает указанный и загружает данные в дерево
LoadFromStream	Загружает в дерево данные из потока
SaveToFile	Сохраняет дерево в файле с указанным именем
SaveToStream	Записывает данные дерева в поток


Все методы TTreeView

Основные методы   TTreeView

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
AlphaSort	Обеспечивает алфавитную последовательность узлов независимо от значения SortType, но при отсутствии обработчика событий OnCompare (если обработчик есть, то при выполнении метода AlphaSort происходит обращение к этому обработчику). Отличие метода от задания значения SortType = stText заключается в том, что изменение надписей узлов приводит к автоматической пересортировке дерева только при SortType = stText
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CustomSort	Сортирует узлы в последовательности, определяемой указанной функцией
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChil dControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FullCollapse	Свертывает все узлы дерева
FullExpand	Раскрывает все узлы дерева
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetHitTest InfoAt	Возвращает информацию о позиции точки относительно области клиента данного компонента.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetNodeAt	Возвращает узел, найденный в указанной позиции
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsEditing	Указывает, редактируется ли в данный момент пользователем надпись узла
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
LoadFromFile	Считывает указанный и загружает данные в дерево
LoadFromStream	Загружает в дерево данные из потока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
SaveToFile	Сохраняет дерево в файле с указанным именем
SaveToStream	Записывает данные дерева в поток
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TTreeView
Специальные события TTreeView

Полный список    TTreeView

Событие	Описание
OnAdvanced CustomDraw	Событие происходит в процессе прорисовки дерева. Обработчик может использоваться для нестандартного рисования на канве
OnAdvanced CustomDraw Item	Событие происходит в процессе рисования узлов дерева. Обработчик может использоваться для нестандартного рисования узлов на канве
OnChange	Событие происходит после перемещения выделения на другой узел
OnChanging	Событие происходит перед перемещением выделения на другой узел. Обработчик позволяет запретить  перемещение
OnCollapsed	Событие происходит после свертывания узла
OnCollapsing	Событие происходит перед свертыванием узла. Обработчик позволяет запретить  перемещение
OnCompare	Событие происходит во время сравнения двух узлов в процессе сортировки узлов дерева. Обработчик должен сообщить, какой из двух переданных в него узлов должен быть расположен выше другого
OnCustomDraw	Событие происходит перед прорисовкой дерева. Обработчик может использоваться для нестандартного изображения дерева на канве
OnCustomDraw Item	Событие происходит перед прорисовкой узла. Обработчик может использоваться для нестандартного изображения узла на канве
OnDeletion	Событие происходит при удалении узла из дерева
OnEdited	Событие происходит после редактирования пользователем надписи узла
OnEditing	Событие происходит, когда пользователь начинает редактировать надпись узла. Обработчик позволяет запретить редактирование
OnExpanded	Событие происходит после раскрытия узла
OnExpanding	Событие происходит перед раскрытием узла. Обработчик позволяет запретить раскрытие
OnGetImage Index	Событие происходит, когда отыскивается индекс изображения узла перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения
OnGetSelected Index	Событие происходит, когда отыскивается индекс изображения выбранного узла перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения


Все события TTreeView

Специальные   TTreeView

Событие	Описание
OnAdvanced CustomDraw	Событие происходит в процессе прорисовки дерева. Обработчик может использоваться для нестандартного рисования на канве
OnAdvanced CustomDraw Item	Событие происходит в процессе рисования узлов дерева. Обработчик может использоваться для нестандартного рисования узлов на канве
OnChange	Событие происходит после перемещения выделения на другой узел
OnChanging	Событие происходит перед перемещением выделения на другой узел. Обработчик позволяет запретить  перемещение
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnCollapsed	Событие происходит после свертывания узла
OnCollapsing	Событие происходит перед свертыванием узла. Обработчик позволяет запретить  перемещение
OnCompare	Событие происходит во время сравнения двух узлов в процессе сортировки узлов дерева. Обработчик должен сообщить, какой из двух переданных в него узлов должен быть расположен выше другого
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnCustomDraw	Событие происходит перед прорисовкой дерева. Обработчик может использоваться для нестандартного изображения дерева на канве
OnCustomDraw Item	Событие происходит перед прорисовкой узла. Обработчик может использоваться для нестандартного изображения узла на канве
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDeletion	Событие происходит при удалении узла из дерева
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEdited	Событие происходит после редактирования пользователем надписи узла
OnEditing	Событие происходит, когда пользователь начинает редактировать надпись узла. Обработчик позволяет запретить редактирование
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnExpanded	Событие происходит после раскрытия узла
OnExpanding	Событие происходит перед раскрытием узла. Обработчик позволяет запретить раскрытие
OnGetImage Index	Событие происходит, когда отыскивается индекс изображения узла перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения
OnGetSelected Index	Событие происходит, когда отыскивается индекс изображения выбранного узла перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по TListView
книга [2] раздел 3.6.3


TListView - компонент

Иерархия   Свойства   Методы   События   литература

Позволяет отображать в стиле Windows 95/98 данные в виде списков, таблиц, крупных и мелких пиктограмм

Модуль comctrls

Описание

Компонент TListView позволяет отображать в стиле Windows 95/98 данные в виде списков, таблиц, крупных и мелких пиктограмм. С подобным отображением все вы сталкиваетесь, раскрывая папки Windows.

Стиль отображения информации определяется свойством ViewStyle, которое может устанавливаться в процессе проектирования или программно во время выполнения. Основное свойство компонента, описывающее состав отображаемой информации - Items. Во время проектирования оно может быть установлено специальным редактором, вызываемым щелчком на кнопке с многоточием рядом с этим свойством в окне Инспектора Объектов. В нем можно вводить новые узлы и дочерние узлы. Смысл дочерних узлов - это информация, которая появляется только в режиме vsReport (в виде таблицы). Для каждого нового узла можно указать ряд свойств. Свойство Caption - это надпись, появляющаяся около пиктограммы. Для дочерних узлов это свойство соответствует надписи, появляющейся в с ячейках таблицы в режиме vsReport. Свойство ImageIndex определяет индекс пиктограммы. Индексы соответствуют спискам изображений, хранящихся в отдельных компонентах TImageList, на которые указывают свойства LargeImages (для режима vsIcon) и SmallImages (для режимов vsSmallIcon, vsList и vsReport) компонента TListView. Свойство узла StateIndex позволяет добавить вторую пиктограмму в данный объект для его дополнительной характеристики. Индекс соответствует списку изображений, хранящихся в отдельном компоненте TImageList, указанном в свойстве StateImages компонента TListView.

Свойство Columns определяет список заголовков таблицы в режиме vsReport при свойстве ShowColumnHeaders (показать заголовки), установленном в true. Свойство Checkboxes определяет отображение индикатора с флажком около каждого элемента списка. Индикаторы можно устанавливать программно или их может изменять пользователь во время выполнения. Тогда узнать программно, установлен ли индикатор в некотором элементе Items[i], можно проверкой его свойства Checked.

Свойства HotTrack и HotTrackStyles определяют появление выделения при перемещении курсора над элементом списка и стиль этого выделения. Свойство HoverTime задает в миллисекундах задержку появления такого выделения.

Свойство списка Selected определяет выделенный пользователем элемент списка. Свойство DragMode определяет режим перетаскивания элементов списка.

Метод Arrange позволяет упорядочить пиктограммы в режимах vslcon и vsSmallIcon.

Свойство WorkAreas определяет рабочую область (прямоугольную рамку), в которой осуществляется выравнивание пиктограмм в режимах vsIcon и vsSmallIcon. Свойство WorkAreas представляет собой индексированный список, аналогичный Items, но совершенно независимый от него. Если WorkAreas - пустой список (ни одна область в него не добавлена), то упорядочивание пиктограмм производится в пределах всей клиентской области ListView. Добавление новой рабочей области осуществляется методом Add. Свойство рабочей области Rect типа TRect определяет границы области. Свойство Color определяет цвет рамки, обрамляющей область. Свойство DisplayName определяет подпись под рамкой. И рамка, и подпись отображаются только в случае, если свойство списка ShowWorkAreas установлено в true.

Упорядочивание пиктограмм происходит в пределах той области, в которой они находятся. Способ упорядочивания определяется соответствующим заданием свойства SortType, определяющего характер сортировки.


Основные свойства TListView

Полный список    TListView

Свойство	Описание
AllocBy	Устанавливает количество элементов списка, которое может быть запомнено в памяти
Checkboxes	Определяет, будет ли около элементом списка изображаться индикатор с флажком
Column	Список заголовков таблицы в режиме vsReport при свойстве ShowColumnHeaders (показать заголовки), установленном в true
ColumnClick	Определяет, ведет ли себя заголовок столбца подобно кнопке (генерируется ли при щелчке на нем событие OnColumnClick)
Columns	Список столбцов списка, позволяющий добавлять и удалять объекты столбцов
DropTarget	Определяет, какой элемент списка является приемником операции перетаскивания Drag&Drop
FlatScroll Bar	Определяет, имеют ли полосы прокрутки списков плоский (не объемный) вид
FullDrag	Определяет, перерисовываются ли заголовки при перетаскивании
GridLines	Определяет, рисуются ли линии, отделяющие друг от друга элементы в списке
HotTrack	Определяет, подсвечиваются ли автоматически элементы списка при прохождении над ними курсора мыши
HotTrackStyle	Определяет стиль подсветки элементов списка при прохождении над ними курсора мыши.
HoverTime	Определяет время (в миллисекундах) задержки мыши над элементом, необходимое для его выбора
IconOptions	Определяет способ упорядочивания пиктограмм, отображенных в списке
ItemFocused	Указывает, какой элемент имеет фокус
Items	Индексированный список элементов, отображаемых компонентом
LargeImages	Ссылка на компонент TImageList, содержащий пиктограммы для режима vsIcon
MultiSelect	Определяет, можно ли выбрать одновременно больше, чем один элемент списка.
OwnerData	Определяет, является ди список виртуальным - списком, который может содержать очень много элементов, но которым надо управлять программно с помощью обработчиков событий OnData, OnDataFind, OnDataHint, OnDataStateChange)
OwnerDraw	Определяет, содержит ли компонент нестандартные изображения, создаваемые в обработчиках событий OnCustomDraw, OnCustomDrawItem, OnCustomDrawSubItem
ReadOnly	Указывает, может ли пользователь изменять текст в элементах
RowSelect	Определяет, может ли быть выбрана полная строка списка в режиме vsReport
SelCount	Число выбранных элементов (может быть > 1 только при MultiSelect = true
Selected	Указывает, первый выбранный элемент в списке
ShowColumns Headers	Определяет, отображаются ли заголовки столбцов в режиме vsReport
ShowWorkAreas	Определяет, отображаются ли рабочие области (если они заданы в WorkAreas)
SmallImages	Ссылка на компонент TImageList, содержащий пиктограммы для режимов vsSmallIcon, vsList и vsReport
SortType	Позволяет автоматически сортировать элементы списка: stNone - список не сортируется, stText - сортировка по алфавиту, stBoth - сортировка любым иным способом. При stBoth для сортировки надо написать обработчик события OnCompare
StateImages	Список изображений TImageList, используемый для добавления вторых пиктограмм в элементы. Подобные пиктограммы могут служить дополнительной характеристикой отдельных элементов
TopItem	Указывает самый верхний видимый элемент в режимах  vsReport и vsList
ViewOrigin	Определяет координаты верхнего левого угла списка относительно видимой области компонента списков в режимах vsIcon vsSmallIcon
ViewStyle	Определяет способ отображения элементов списка: vsIcon - крупные значки, vsSmallIcon - мелкие значки, vsList - список, vsReport - таблица
VisibleRow Count	Определяет количество элементов, которые могут разместиться вертикально в видимой области списка в режимах  vsList и vsReport
WorkAreas	Определяет отдельные рабочие области, на которые делится клиентская область списка


TListView - компонент
Все свойства TListView

Основные свойства   TListView

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
AllocBy	Устанавливает количество элементов списка, которое может быть запомнено в памяти
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundingRect	Описывает прямоугольник, ограничивающий элементы в списке. Свойство только для чтения.
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Канва списка. Ее свойства и метода можно использовать в обработчиках событий OnCustomDraw и OnCustomDrawItem для рисования собственных изображений
Checkboxes	Определяет, будет ли около элементом списка изображаться индикатор с флажком
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента, цвет текста объекта TFont и др..
Column	Список заголовков таблицы в режиме vsReport при свойстве ShowColumnHeaders (показать заголовки), установленном в true
ColumnClick	Определяет, ведет ли себя заголовок столбца подобно кнопке (генерируется ли при щелчке на нем событие OnColumnClick)
Columns	Список столбцов списка, позволяющий добавлять и удалять объекты столбцов
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
DropTarget	Определяет, какой элемент списка является приемником операции перетаскивания Drag&Drop
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
FlatScroll Bar	Определяет, имеют ли полосы прокрутки списков плоский (не объемный) вид
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
FullDrag	Определяет, перерисовываются ли заголовки при перетаскивании
GridLines	Определяет, рисуются ли линии, отделяющие друг от друга элементы в списке
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
HideSelection	Определяет, сохраняется ли выделение текста при переходе фокуса к другому компоненту.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
HotTrack	Определяет, подсвечиваются ли автоматически элементы списка при прохождении над ними курсора мыши
HotTrackStyle	Определяет стиль подсветки элементов списка при прохождении над ними курсора мыши.
HoverTime	Определяет время (в миллисекундах) задержки мыши над элементом, необходимое для его выбора
IconOptions	Определяет способ упорядочивания пиктограмм, отображенных в списке
ItemFocused	Указывает, какой элемент имеет фокус
Items	Индексированный список элементов, отображаемых компонентом
LargeImages	Ссылка на компонент TImageList, содержащий пиктограммы для режима vsIcon
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MultiSelect	Определяет, можно ли выбрать одновременно больше, чем один элемент списка.
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
OwnerData	Определяет, является ди список виртуальным - списком, который может содержать очень много элементов, но которым надо управлять программно с помощью обработчиков событий OnData, OnDataFind, OnDataHint, OnDataStateChange)
OwnerDraw	Определяет, содержит ли компонент нестандартные изображения, создаваемые в обработчиках событий OnCustomDraw, OnCustomDrawItem, OnCustomDrawSubItem
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ReadOnly	Указывает, может ли пользователь изменять текст в элементах
RowSelect	Определяет, может ли быть выбрана полная строка списка в режиме vsReport
SelCount	Число выбранных элементов (может быть > 1 только при MultiSelect = true
Selected	Указывает, первый выбранный элемент в списке
ShowColumns Headers	Определяет, отображаются ли заголовки столбцов в режиме vsReport
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
ShowWork Areas	Определяет, отображаются ли рабочие области (если они заданы в WorkAreas)
SmallImages	Ссылка на компонент TImageList, содержащий пиктограммы для режимов vsSmallIcon, vsList и vsReport
SortType	Позволяет автоматически сортировать элементы списка: stNone - список не сортируется, stText - сортировка по алфавиту, stBoth - сортировка любым иным способом. При stBoth для сортировки надо написать обработчик события OnCompare
StateImages	Список изображений TImageList, используемый для добавления вторых пиктограмм в элементы. Подобные пиктограммы могут служить дополнительной характеристикой отдельных элементов
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
TopItem	Указывает самый верхний видимый элемент в режимах  vsReport и vsList
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
ViewOrigin	Определяет координаты верхнего левого угла списка относительно видимой области компонента списков в режимах vsIcon vsSmallIcon
ViewStyle	Определяет способ отображения элементов списка: vsIcon - крупные значки, vsSmallIcon - мелкие значки, vsList - список, vsReport - таблица
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
VisibleRow Count	Определяет количество элементов, которые могут разместиться вертикально в видимой области списка в режимах  vsList и vsReport
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.
WorkAreas	Определяет отдельные рабочие области, на которые делится клиентская область списка


Основные методы TListView

Полный список    TListView

Метод	Описание
AlphaSort	Обеспечивает алфавитную последовательность элементов независимо от значения SortType, но при отсутствии обработчика событий OnCompare (если обработчик есть, то при выполнении метода AlphaSort происходит обращение к этому обработчику)
Arrange	Упорядочивает пиктограммы в списке в режиме vslcon или vsSmallIcon
CustomSort	Сортирует элементы в последовательности, определяемой указанной функцией
FindCaption	Возвращает элемент с указанной надписью
FindData	Возвращает элемент списка, связанный с указанным объектом
GetHitTestInfo At	Возвращает информацию об области списка, в которой расположена указанная точка
GetItemAt	Возвращает элемент списка, находящийся в указанной позиции
GetNearestItem	Возвращает элемент списка, ближайший к указанной точке в заданном направлении.
GetNextItem	Возвращает элемент, следующий в заданном направлении после другого указанного элемента
GetSearch String	Возвращает  строку, полученную в результате ускоренного (посимвольного) поиска элементов списка
IsEditing	Указывает, редактируется ли в данный момент пользователем надпись элемента
Scroll	Прокручивает содержимое списка на заданную в пикселях величину по горизонтали и вертикали
StringWidth	Определяет размер в пикселях указанной строки, если она будет отображена текущим шрифтом списка
UpdateItems	Перерисовывает элементы списка, находящиеся в заданном диапазоне индексов


Все методы TListView

Основные методы   TListView

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
AlphaSort	Обеспечивает алфавитную последовательность элементов независимо от значения SortType, но при отсутствии обработчика событий OnCompare (если обработчик есть, то при выполнении метода AlphaSort происходит обращение к этому обработчику)
Arrange	Упорядочивает пиктограммы в списке в режиме vslcon или vsSmallIcon
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CustomSort	Сортирует элементы в последовательности, определяемой указанной функцией
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindCaption	Возвращает элемент с указанной надписью
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FindData	Возвращает элемент списка, связанный с указанным объектом
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetHitTestInfoAt	Возвращает информацию об области списка, в которой расположена указанная точка
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetItemAt	Возвращает элемент списка, находящийся в указанной позиции
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetNearestItem	Возвращает элемент списка, ближайший к указанной точке в заданном направлении.
GetNextItem	Возвращает элемент, следующий в заданном направлении после другого указанного элемента
GetParent Component	Возвращает родителя компонента
GetSearch String	Возвращает  строку, полученную в результате ускоренного (посимвольного) поиска элементов списка
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsEditing	Указывает, редактируется ли в данный момент пользователем надпись элемента
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
Scroll	Прокручивает содержимое списка на заданную в пикселях величину по горизонтали и вертикали
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
StringWidth	Определяет размер в пикселях указанной строки, если она будет отображена текущим шрифтом списка
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UpdateItems	Перерисовывает элементы списка, находящиеся в заданном диапазоне индексов
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TListView
Специальные события TListView

Полный список    TListView

Событие	Описание
OnAdvanced CustomDraw	Событие происходит в процессе прорисовки списка. Обработчик может использоваться для нестандартного рисования на канве
OnAdvanced CustomDraw Item	Событие происходит в процессе рисования элементов списка. Обработчик может использоваться для нестандартного рисования элементов на канве
OnAdvanced CustomDraw SubItem	Событие происходит в процессе рисования вторичных элементов списка. Обработчик может использоваться для нестандартного рисования элементов на канве
OnChange	Событие происходит после перемещения выделения на другой элемент
OnChanging	Событие происходит перед перемещением выделения на другой элемент. Обработчик позволяет запретить  перемещение
OnColumn Click	Событие происходит, когда пользователь щелкает на заголовке столбца в списке
OnCompare	Событие происходит во время сравнения двух элементов в процессе сортировки списка. Обработчик должен сообщить, какой из двух переданных в него элементов должен предшествовать другому
OnCustom Draw	Событие происходит перед прорисовкой списка. Обработчик может использоваться для нестандартного изображения списка на канве
OnCustom DrawItem	Событие происходит перед прорисовкой элемента. Обработчик может использоваться для нестандартного изображения элемента на канве
OnData	Событие происходит перед отображением элемента в списке.
OnDataFind	Событие происходит при получении списком запроса на поиск методами FindData и FindCaption
OnDataHint	Событие происходит при изменении видимой части списка, например, при прокрутке списка пользователем
OnDataState Change	Событие происходит при изменении состояний группы элементов
OnDeletion	Событие происходит при удалении элемента списка
OnDrawItem	Событие происходит при необходимости нарисовать элемент в списке.
OnEdited	Событие происходит после редактирования пользователем надписи элемента списка
OnEditing	Событие происходит, когда пользователь начинает редактировать надпись элемента списка. Обработчик позволяет запретить редактирование
OnGetImage Index	Событие происходит, когда отыскивается индекс изображения элемента перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения
OnGetSub ItemImage	Событие происходит, когда отыскивается индекс изображения элемента второго уровня перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения
OnInfoTip	Событие происходит, когда пользователь задерживает курсор мыши над элементом списка
OnInsert	Событие происходит после того, как в список вставлен новый элемент
OnSelect Item	Событие происходит, когда элемент выбран в списке


Все события TListView

Специальные   TListView

Событие	Описание
OnAdvanced CustomDraw	Событие происходит в процессе прорисовки списка. Обработчик может использоваться для нестандартного рисования на канве
OnAdvanced CustomDraw Item	Событие происходит в процессе рисования элементов списка. Обработчик может использоваться для нестандартного рисования элементов на канве
OnAdvanced CustomDraw SubItem	Событие происходит в процессе рисования вторичных элементов списка. Обработчик может использоваться для нестандартного рисования элементов на канве
OnChange	Событие происходит после перемещения выделения на другой элемент
OnChanging	Событие происходит перед перемещением выделения на другой элемент. Обработчик позволяет запретить  перемещение
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnColumn Click	Событие происходит, когда пользователь щелкает на заголовке столбца в списке
OnCompare	Событие происходит во время сравнения двух элементов в процессе сортировки списка. Обработчик должен сообщить, какой из двух переданных в него элементов должен предшествовать другому
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnCustom Draw	Событие происходит перед прорисовкой списка. Обработчик может использоваться для нестандартного изображения списка на канве
OnCustom DrawItem	Событие происходит перед прорисовкой элемента. Обработчик может использоваться для нестандартного изображения элемента на канве
OnData	Событие происходит перед отображением элемента в списке.
OnDataFind	Событие происходит при получении списком запроса на поиск методами FindData и FindCaption
OnDataHint	Событие происходит при изменении видимой части списка, например, при прокрутке списка пользователем
OnDataState Change	Событие происходит при изменении состояний группы элементов
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDeletion	Событие происходит при удалении элемента списка
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawItem	Событие происходит при необходимости нарисовать элемент в списке.
OnEdited	Событие происходит после редактирования пользователем надписи элемента списка
OnEditing	Событие происходит, когда пользователь начинает редактировать надпись элемента списка. Обработчик позволяет запретить редактирование
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetImage Index	Событие происходит, когда отыскивается индекс изображения элемента перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения
OnGetSub ItemImage	Событие происходит, когда отыскивается индекс изображения элемента второго уровня перед тем, как его нарисовать. Обработчик может использоваться для изменения изображения
OnInfoTip	Событие происходит, когда пользователь задерживает курсор мыши над элементом списка
OnInsert	Событие происходит после того, как в список вставлен новый элемент
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnSelect Item	Событие происходит, когда элемент выбран в списке
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по THeaderControl
книга [2] раздел 3.6.2


THeaderControl - компонент

Иерархия   Свойства   Методы   События   литература

Заголовок, состоящий из ряда секций, причем пользователь во время выполнения приложения может их перемещать

Модуль comctrls

Описание

Компонент THeaderControl позволяет вводить в приложение заголовок, состоящий из ряда секций, причем пользователь во время выполнения приложения может их перемещать.

Основное свойство компонента THeaderControl - Sections. Оно является списком объектов  типа THeaderSection, каждый из которых описывает одну секцию заголовка. Свойство Sections можно задать во время проектирования, с помощью редактора заголовков, который вы можете вызвать, нажав кнопку с многоточием рядом с этим свойством в Инспекторе Объектов или просто сделав двойной щелчок на компоненте THeaderControl.

В редакторе заголовков можно добавлять секции, а затем в окне Инспектора Объектов задавать их свойства: Text - текст заголовка, MinWidth и MaxWidth - соответственно минимальная и максимальная ширина секции в пикселях, Width - значение ширины по умолчанию.

При изменении ширины секции во время выполнения генерируется событие OnSectionResize. В обработчик этого события надо вставить операторы, синхронно изменяющие ширину того, заголовком чего является секция: это может быть столбец какой-то таблицы, какая-то панель и т.п.

Свойство AllowClick, равное по умолчанию true, определяет поведение секции как кнопки при щелчке пользователя на ней. В этом случае при щелчке генерируется событие OnSectionClick компонента HeaderControl, в обработчик которого и надо вставить операторы, выполняющие необходимые действия.

Свойство Style может иметь значение hsText - в этом случае в заголовке отображается значение свойства Text, или hsOwnerDraw - в этом случае отображается то, что рисуется непосредственно на канве операторами, записанными в обработчике события OnDrawSection компонента HeaderControl.


Основные свойства THeaderControl

Полный список    THeaderControl

Свойство	Описание
Canvas	Канва компонента. Ее свойства и методы можно использовать в обработчиках событий OnCustomDraw и OnCustomDrawItem для рисования собственных изображений
DragReorder	Определяет, может ли пользователь изменять порядок заголовков, используя операцию перетаскивания Drag&Drop
Font	Определяет атрибуты шрифта
FullDrag	Определяет, перерисовываются ли заголовки при их перетаскивании
HotTrack	Определяет подсвечивание заголовков при прохождении над ними курсора мыши
Images	Список изображений TImageList, которые могут отображаться в заголовках
Sections	Список секций заголовков
Style	Определяет стиль заголовков: hsButtons - как кнопки, hsFlat - плоские


THeaderControl - компонент
Все свойства THeaderControl

Основные свойства   THeaderControl

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Канва компонента. Ее свойства и методы можно использовать в обработчиках событий OnCustomDraw и OnCustomDrawItem для рисования собственных изображений
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
DragReorder	Определяет, может ли пользователь изменять порядок заголовков, используя операцию перетаскивания Drag&Drop
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта
FullDrag	Определяет, перерисовываются ли заголовки при их перетаскивании
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
HotTrack	Определяет подсвечивание заголовков при прохождении над ними курсора мыши
Images	Список изображений TImageList, которые могут отображаться в заголовках
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
Sections	Список секций заголовков
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
Style	Определяет стиль заголовков: hsButtons - как кнопки, hsFlat - плоские
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы THeaderControl

THeaderControl

Никаких специальных методов в компоненте нет

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет заголовки компонента
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События THeaderControl
Специальные события THeaderControl

Полный список    THeaderControl

Событие	Описание
OnDrawSection	Событие происходит, когда секция заголовка нуждается в перерисовке, например при выборе или изменении размера
OnSectionClick	Событие происходит при щелчке мышью на одном из заголовков
OnSectionDrag	Событие происходит при перетаскивании секции на новое место
OnSectionResize	Событие происходит при изменении размера секции
OnSectionTrack	Событие отслеживает перемещение границы секции


Все события THeaderControl

Специальные   THeaderControl

Событие	Описание
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawSection	Событие происходит, когда секция заголовка нуждается в перерисовке, например при выборе или изменении размера
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnSectionClick	Событие происходит при щелчке мышью на одном из заголовков
OnSectionDrag	Событие происходит при перетаскивании секции на новое место
OnSectionResize	Событие происходит при изменении размера секции
OnSectionTrack	Событие отслеживает перемещение границы секции
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по TStatusBar
книга [2] раздел 7.6


TStatusBar - компонент

Иерархия   Свойства   Методы   События   литература

Представляет собой ряд панелей, отображающих полосу состояния в стиле Windows

Модуль comctrls

Описание

Компонент TStatusBar размещается обычно внизу окна и представляет собой полосу состояния из одной или нескольких панелей. В этих панелях пользователю сообщается какая-то текущая информация о режиме работы, даются подсказки и т.п.

Свойство SimplePanel компонента TStatusBar определяет, включает ли полоса состояния одну или множество панелей. Если SimplePanel = true, то вся полоса состояния представляет собой единственную панель, текст которой задается свойством SimpleText. Если же SimplePanel = false, то полоса состояния является набором панелей, задаваемых свойством Panels. В этом случае свойство SizeGrip определяет, может ли пользователь изменять размеры панелей в процессе выполнения приложения.

Каждая панель полосы состояния является объектом типа TStatusPanels. Свойства панелей вы можете задавать специальным редактором наборов, который можно вызвать тремя способами: из Инспектора Объектов кнопкой с многоточием около свойства Panels, двойным щелчком на компоненте TStatusBar или из контекстного меню, выбрав команду Panels Editor. В окне редактора вы можете перемещаться по панелям, добавлять новые или уничтожать существующие. При перемещении по панелям в окне Инспектора Объектов вы будете видеть их свойства.

Основное свойство каждой панели - Text, в который заносится отображаемый в панели текст. Другое существенное свойство панели - Width (ширина). Свойство Style определяет стиль панели: psText - текстовая, psOwnerDraw - предназначена для изображений на канве.

 Программный доступ к текстам отдельных панелей можно осуществлять двумя способами: через индексированное свойство Panels или через его индексированное подсвойство Items. Например, два следующих оператора дадут идентичный результат:

StatusBar1.Panels[0].Text := 'текст 1';

или

StatusBar1.Panels.Items[0].Text := 'текст 1';

Количество панелей полосы состояния можно определит из подсвойства Count свойства Panels. Например, следующий оператор очищает тексты всех панелей:

for i:= 0 to StatusBar1.Panels.Count -1 do
 StatusBar1.Panels[i].Text := '';

Свойство AutoHint, установленное в true, обеспечивает автоматическое отображение в первой панели полосы состояния вторых частей подсказок (свойства Hint) тех компонентов, над которыми перемещается курсор мыши. Причем отображение происходит независимо от значения свойства ShowHint этих компонентов. Конечно, панель должна быть текстовой (Style = psText).

Свойство SizeGrip определяет наличие в нижнем правом углу полосы состояния захвата, позволяющего пользователю изменять размер полосы. Если при этом полоса выровнена по нижнему краю формы (Align = alBottom), то одновременно будет изменяться и размер окна приложения.


Основные свойства TStatusBar

Полный список    TStatusBar

Свойство	Описание
Align	Определяет способ выравнивания полосы состояния на форме
AutoHint	Определяет автоматическое отображение в первой панели полосы состояния вторых частей подсказок Hint тех компонентов, над которыми перемещается курсор мыши
Canvas	Канва, позволяющая рисовать на панели в обработчике события OnDrawPanel
Panels	Собрание панелей - объектов типа TStatusPanel
SimplePanel	Определяет, отображает ли полоса состояния одну или несколько панелей
SimpleText	Содержит строку, которая отображается в полосе состояния при SimplePanel = true
SizeGrip	Определяет наличие в нижнем правом углу полосы состояния захвата, позволяющего пользователю изменять размер полосы, а при Align = alBottom - и размер формы
UseSystemFont	Определяет, используется ли в полосе состояния системный шрифт


TStatusBar - компонент
Все свойства TStatusBar

Основные свойства   TStatusBar

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания полосы состояния на форме
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoHint	Определяет автоматическое отображение в первой панели полосы состояния вторых частей подсказок Hint тех компонентов, над которыми перемещается курсор мыши
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Канва, позволяющая рисовать на панели в обработчике события OnDrawPanel
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Panels	Собрание панелей - объектов типа TStatusPanel
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode.
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
SimplePanel	Определяет, отображает ли полоса состояния одну или несколько панелей
SimpleText	Содержит строку, которая отображается в полосе состояния при SimplePanel = true
SizeGrip	Определяет наличие в нижнем правом углу полосы состояния захвата, позволяющего пользователю изменять размер полосы, а при Align = alBottom - и размер формы
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UseSystem Font	Определяет, используется ли в полосе состояния системный шрифт
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TStatusBar
Методы TStatusBar

TStatusBar

Никаких специальных полезных для пользователю методов в компоненте не объявлено

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DoHint	Защитный метод, определяющий, имеется ли определенный пользователем обработчик события OnHint
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TStatusBar
Специальные события TStatusBar

Полный список    TStatusBar

Событие	Описание
OnDrawPanel	Событие происходит при необходимости перерисовать панель состояния, например при изменении пользователем ее размеров. Наступает только если стиль панели psOwnerDraw
OnHint	Наступает перед тем, как в полосе состояния должна отображаться подсказка. Обработчик отменяет действие свойства AutoHint и должен сам обеспечивать отображение подсказки


Все события TStatusBar

Специальные   TStatusBar

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnDrawPanel	Событие происходит при необходимости перерисовать панель состояния, например при изменении пользователем ее размеров. Наступает только если стиль панели psOwnerDraw
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnHint	Наступает перед тем, как в полосе состояния должна отображаться подсказка. Обработчик отменяет действие свойства AutoHint и должен сам обеспечивать отображение подсказки
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Литература по TToolBar
книга [2] раздел 7.4

книга [3] раздел 1.6.2


TToolBar - компонент

Иерархия   Свойства   Методы   События   литература

Инструментальная панель для быстрого доступа к часто используемым функциям приложения с помощью инструментальных быстрых кнопок

Модуль comctrls

Описание

Компонент TToolBar является инструментальной панелью и управляет компоновкой инструментальных быстрых кнопок и других компонентов. Размещаемые на панели компоненты автоматически располагаются рядами и упорядочиваются по размерам.

Для занесения на панель TToolBar кнопок надо щелкнуть на TToolBar правой кнопкой мыши и выбрать из всплывшего меню команду New Button. На форме появится очередная кнопка - объект типа TToolButton. Это не совсем обычная кнопка, так как ее вид и поведение определяется ее свойством Style, которое по умолчанию равно tbsButton - кнопка. Кнопка этого стиля похожа на кнопку TSpeedButton. Изображение на кнопке определяется свойством ImageIndex. Оно определяет индекс изображения, хранящегося во внешнем компоненте TImageList. Указание на этот компонент может задаваться такими свойствами компонента TToolBar, как Images, DisabledImages (указывает на список изображений кнопок в недоступном состоянии) и HotImages (указывает на список изображений кнопок в моменты, когда над ними перемещается курсор мыши).

Свойство MenuItem позволяет задать раздел главного или контекстного меню, который дублируется данной кнопкой. При установке этого свойства, если в соответствующем разделе меню было задано изображение и установлен текст подсказок (свойство Hint), то это же изображение появится на кнопке и тот же текст появится в свойстве Hint кнопки. Передадутся из раздела меню в кнопку также значения свойств Enabled  и Visible. Свойство Wrap, установленное в true, приводит к тому, что после этой кнопки ряд кнопок на панели прерывается и следующие кнопки размещаются в следующем ряду.

Теперь вернемся к свойству Style, задающему стиль кнопки. Значение Style = tbsCheck определяет, что после щелчка пользователя на кнопке она остается в нажатом состоянии. Повторный щелчок на кнопке возвращает ее в отжатое состояние. Поведение такой кнопки подобно кнопкам TSpeedButton и определяется аналогичными свойствами AllowAllUp и Down. Если при этом в нескольких кнопках установлено свойство Grouped = true, то эти кнопки образуют группу, из которой только одна кнопка может находиться в нажатом состоянии.

Значение Style = tbsDropDown соответствует кнопке в виде выпадающего списка. Этот стиль удобен для воспроизведения выпадающего меню. Если для подобной кнопки задать в качестве свойства MenuItem головной раздел меню, то в выпадающем списке автоматически будут появляться разделы выпадающего меню. Можно вместо свойства MenuItem задать свойство DropDownMenu, определяющее контекстное меню (компонент TPopupMenu), которое будет отображаться в выпадающем списке.

Значение Style = tbsSeparator приводит к появлению разделителя, позволяющего отделить друг от друга кнопки разных функциональных групп. Значение Style = tbsDivider приводит к появлению разделителя другого типа - в виде вертикальной линии.

Свойство кнопки Indeterminate задает ее третье состояние - не нажатая и не отпущенная. Это свойство можно устанавливать в true во время выполнения, если в данном режиме кнопка не доступна.

Свойство Marked выделяет кнопку.

На панель Мы рассмотрели занесение на панель кнопок. Но в инструментальных панелях нередко используются и выпадающие списки. Например, для задания размера шрифта. Не представляет труда перенести на панель ToolBar такие компоненты, как ComboBox, SpinEdit и др.

Из общих свойств компонента TToolBar следует отметить ButtonHeight и ButtonWidth - высота и ширина кнопок в пикселях, и Wrapable - автоматический перенос кнопок в следующий ряд панели, если они не помещаются в предыдущем.

Свойства, определяющие вид панели: BorderWidth - ширина бордюра, EdgeInner и EdgeOuter - стиль изображения внутренней и внешней части панели (утопленный или выступающий), EdgeBorders - определяет изображение отдельных сторон панели (левой, правой, верхней, нижней).


Основные свойства TToolBar

Полный список    TToolBar

Свойство	Описание
Align	Определяет способ выравнивания панели (по умолчанию alTop)
ButtonCount	Указывает количество кнопок, в  компоненте
ButtonHeight	Высота кнопок
Buttons	Индексированный список объектов кнопок типа TToolButton
ButtonWidth	Ширина кнопок
Canvas	Канва, используемая для нестандартного изображения панели в обработчиках событий OnCustomDraw и OnCustomDrawItem
Disabled Images	Список изображений TImageList, используемых для недоступных кнопок
EdgeBorders	Определяет изображение отдельных сторон панели (левой, правой, верхней, нижней)
EdgeInner	Стиль изображения внутренней части панели (утопленный, выступающий или плоский)
EdgeOuter	Стиль изображения внешней части панели (утопленный, выступающий или плоский)
Flat	Определяет плоский или объемный вид кнопок
HotImages	Список изображений TImageList, используемых для кнопок в моменты, когда над ними перемещается курсор мыши
Images	Список изображений TImageList, используемых для кнопок
Indent	Определяет поле, отделяющее левый край компонента от расположенных в нем кнопок
List	При значении true выравнивает надписи (если они видимы) вправо, а изображения влево. При значении false - выравнивание по центру
RowCount	Определяет количество рядов кнопок на инструментальной панели. Свойство только для чтения.
ShowCaptions	Включает или отключает отображение надписей на кнопках
Wrapable	Определяет возможность автоматического образования новых рядов инструментальных кнопок, если они не помещаются на компоненте в один ряд


TToolBar - компонент
Все свойства TToolBar

Основные свойства   TToolBar

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будут ли размеры компонента автоматически соответствовать его содержанию.
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ButtonCount	Указывает количество кнопок, в  компоненте
ButtonHeight	Высота кнопок
Buttons	Индексированный список объектов кнопок типа TToolButton
ButtonWidth	Ширина кнопок
Canvas	Канва, используемая для нестандартного изображения панели в обработчиках событий OnCustomDraw и OnCustomDrawItem
Caption	Связывает с компонентом некоторую строку текста, поясняющую назначение компонента.
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
Disabled Images	Список изображений TImageList, используемых для недоступных кнопок
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
EdgeBorders	Определяет изображение отдельных сторон панели (левой, правой, верхней, нижней)
EdgeInner	Стиль изображения внутренней части панели (утопленный, выступающий или плоский)
EdgeOuter	Стиль изображения внешней части панели (утопленный, выступающий или плоский)
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Flat	Определяет плоский или объемный вид кнопок
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
HotImages	Список изображений TImageList, используемых для кнопок в моменты, когда над ними перемещается курсор мыши
Images	Список изображений TImageList, используемых для кнопок
Indent	Определяет поле, отделяющее левый край компонента от расположенных в нем кнопок
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
List	При значении true выравнивает надписи (если они видимы) вправо, а изображения влево. При значении false - выравнивание по центру
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentColor	Указывает, где компонент отыскивает информацию о своём цвете.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
RowCount	Определяет количество рядов кнопок на инструментальной панели. Свойство только для чтения.
ShowCaptions	Включает или отключает отображение надписей на кнопках
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
Transparent	Указывает, должен ли быть цвет фона изображения самой панели (не кнопок) прозрачным, чтобы сквозь него было видно лежащее позади изображение.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.
Wrapable	Определяет возможность автоматического образования новых рядов инструментальных кнопок, если они не помещаются на компоненте в один ряд


Основные методы TToolBar
Методы TToolBar

TToolBar

Новых методов, вызываемых из приложений, в компоненте не объявлено

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanAutoSize	Защищенный метод, определяющий, может ли панель автоматически подстроиться под размер ее компонентов
CancelMenu	Защищенный метод, вызывается при отмене меню, связанного с кнопкой
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ChangeScale	Защищенный метод, изменяет масштаб панели
CheckMenu Dropdown	Защищенный метод, вызывается автоматически при стиле кнопки tbsDropDown
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClickButton	Защищенный метод, имитирует щелчок на кнопке
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
Draw	Рисует графическое изображение в указанной позиции канвы.
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindButtonFrom Accel	Защищенный метод, возвращает кнопку с указанным быстрым доступом
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InitMenu	Защищенный метод, вызывается перед отображением меню, связанного с кнопкой стиля tbsDropDown
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
TrackMenu	Вызывает ClickButton указанной кнопки. Используется при нажатии клавиш быстрого боступа кнопки
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign
WrapButtons	Защищенный метод, переупорядочивает кнопки так, чтобы они заполняли всю панель


События TToolBar
Специальные события TToolBar

Полный список    TToolBar

Событие	Описание
OnAdvanced CustomDraw	Событие происходит перед прорисовкой панели. Обработчик может использоваться для нестандартного изображения фона панели на канве. Нестандартная прорисовка отдельных кнопок осуществляется в обработчиках OnCustomDrawButton или OnAdvancedCustomDrawButton. Отличается от OnCustomDraw организацией прорисовки
OnAdvanced CustomDraw Button	Событие происходит перед прорисовкой кнопок панели. Обработчик может использоваться для нестандартного изображения кнопок. Отличается от OnCustomDrawButton организацией прорисовки
OnCustomDraw	Событие происходит перед прорисовкой панели. Обработчик может использоваться для нестандартного изображения фона панели на канве. Нестандартная прорисовка отдельных кнопок осуществляется в обработчиках OnCustomDrawButton или OnAdvancedCustomDrawButton. Отличается от OnAdvancedCustomDraw организацией прорисовки
OnCustomDraw Button	Событие происходит перед прорисовкой кнопок панели. Обработчик может использоваться для нестандартного изображения кнопок. Отличается от OnAdvancedCustomDrawButton организацией прорисовки


Все события TToolBar

Специальные   TToolBar

Событие	Описание
OnAdvanced CustomDraw	Событие происходит перед прорисовкой панели. Обработчик может использоваться для нестандартного изображения фона панели на канве. Нестандартная прорисовка отдельных кнопок осуществляется в обработчиках OnCustomDrawButton или OnAdvancedCustomDrawButton. Отличается от OnCustomDraw организацией прорисовки
OnAdvanced CustomDraw Button	Событие происходит перед прорисовкой кнопок панели. Обработчик может использоваться для нестандартного изображения кнопок. Отличается от OnCustomDrawButton организацией прорисовки
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnCustom Draw	Событие происходит перед прорисовкой панели. Обработчик может использоваться для нестандартного изображения фона панели на канве. Нестандартная прорисовка отдельных кнопок осуществляется в обработчиках OnCustomDrawButton или OnAdvancedCustomDrawButton. Отличается от OnAdvancedCustomDraw организацией прорисовки
OnCustom DrawButton	Событие происходит перед прорисовкой кнопок панели. Обработчик может использоваться для нестандартного изображения кнопок. Отличается от OnAdvancedCustomDrawButton организацией прорисовки
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnGetSite Info	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUndock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


Литература по TCoolBar
книга [2] раздел 7.5


TCoolBar - компонент

Иерархия   Свойства   Методы   События   литература

Позволяет строить перестраиваемые панели, состоящие из полос, в которые могут включаться инструментальные панели и любые другие оконные компоненты

Модуль comctrls

Описание

Компонент TCoolBar позволяет строить перестраиваемые панели, состоящие из полос. В полосы могут включаться инструментальные панели TToolBar и любые другие оконные компоненты: окна редактирования, панели и т.п. Каждый из этих компонентов автоматически снабжается средствами перемещения его пользователем в пределах окна TCoolBar. В полосы могут вставляться и не оконные компоненты, например, метки. Но они не будут перемещаемыми.

Свойства полос вы можете задавать редактором полос, который можно вызвать тремя способами: из Инспектора Объектов кнопкой с многоточием около свойства Bands, двойным щелчком на компоненте TCoolBar или из контекстного меню, выбрав команду Bands Editor. В окне этого редактора вы можете перемещаться по полосам, добавлять новые полосы или уничтожать существующие. При перемещении по полосам в окне Инспектора Объектов вы будете видеть свойства полос. Свойство Control определяет размещенный на полосе компонент. Свойство Break определяет, занимает ли полоса весь соответствующий размер контейнера CoolBar, или обрывается. Свойство Text задает текст, который может появиться в начале соответствующей полосы. Вместо свойства Text (или наряду с ним) можно задать свойство ImageIndex - индекс списка изображений TImageList, ссылка на который задается свойством Images. Указанные таким образом изображения появятся в начале соответствующих полос.

Свойства MinHeight и MinWidth определяют минимальную высоту и ширину полосы при перестроениях пользователем полос панели. Свойство FixedSize определяет, фиксирован ли размер данной полосы, или он может изменяться пользователем. По умолчанию для всех полос FixedSize = false, т.е. все полосы перестраиваются. Но при желании размеры некоторых полос можно зафиксировать, задав для них FixedSize = true.

Для компонента TCoolBar в целом, помимо обычных для других панелей свойств, надо обратить внимание на свойство BandMaximize. Оно определяет действие, которым пользователь может установить максимальный размер полосы, не перетаскивая ее границу: bmNone - такое действие не предусмотрено, bmClick - щелчком мыши, bmDblClick - двойным щелчком.

Свойство FixedOrder, если его установить в true, не разрешит пользователю в процессе перемещений полос изменять их последовательность. Свойство Vertical указывает вертикальное или горизонтальное расположение полос.


Основные свойства TCoolBar

Полный список    TCoolBar

Свойство	Описание
Align	Определяет способ выравнивания панели (по умолчанию alTop)
BandBorder Style	Определяет наличие (bsSingle) или отсутствие (bsNone) рамки, окружающей панель
BandMaximize	Определяет действие, которым пользователь может установить максимальный размер полосы, не перетаскивая ее границу: bmNone - такое действие не предусмотрено, bmClick - щелчком мыши, bmDblClick - двойным щелчком
Bands	Собрание полос панели - объектов TCoolBand
BitMap	Изображение, заполняющее фон полос
EdgeBorders	Определяет изображение отдельных сторон панели (левой, правой, верхней, нижней)
EdgeInner	Стиль изображения внутренней части панели (утопленный, выступающий или плоский)
EdgeOuter	Стиль изображения внешней части панели (утопленный, выступающий или плоский)
FixedOrder	Разрешает (true) или не разрешает  (false) пользователю в процессе перемещения полос изменять их последовательность
FixedSize	Фиксирует размеры полос, не разрешая пользователю изменять их
Images	Список изображений TImageList, которые появятся в начале соответствующих полос (свойство полосы ImageIndex задает для нее изображение из этого списка)
ShowText	Определяет, отображаются ли в полосах надписи, заданные свойством Text полос
Vertical	Указывает вертикальное или горизонтальное расположение полос


TCoolBar - компонент
Все свойства TCoolBar

Основные свойства   TCoolBar

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания панели (по умолчанию alTop)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будут ли размеры компонента автоматически соответствовать его содержанию.
BandBorder Size	Определяет наличие (bsSingle) или отсутствие (bsNone) рамки, окружающей панель
BandMaximize	Определяет действие, которым пользователь может установить максимальный размер полосы, не перетаскивая ее границу: bmNone - такое действие не предусмотрено, bmClick - щелчком мыши, bmDblClick - двойным щелчком
Bands	Собрание полос панели - объектов TCoolBand
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BitMap	Изображение, заполняющее фон полос
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
EdgeBorders	Определяет изображение отдельных сторон панели (левой, правой, верхней, нижней)
EdgeInner	Стиль изображения внутренней части панели (утопленный, выступающий или плоский)
EdgeOuter	Стиль изображения внешней части панели (утопленный, выступающий или плоский)
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
FixedOrder	Разрешает (true) или не разрешает  (false) пользователю в процессе перемещения полос изменять их последовательность
FixedSize	Фиксирует размеры полос, не разрешая пользователю изменять их
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Images	Список изображений TImageList, которые появятся в начале соответствующих полос (свойство полосы ImageIndex задает для нее изображение из этого списка)
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentColor	Указывает, где компонент отыскивает информацию о своём цвете.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
ShowText	Определяет, отображаются ли в полосах надписи, заданные свойством Text полос
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Vertical	Указывает вертикальное или горизонтальное расположение полос
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TCoolBar
Методы TCoolBar

TCoolBar

Никаких специальных методов в компоненте нет

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControlState	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TCoolBar
Специальные события TCoolBar

Полный список    TCoolBar

Событие	Описание
OnChange	Наступает при изменении размера или местоположения полосы: ее свойств Break, Index или Width


Все события TCoolBar

Специальные   TCoolBar

Событие	Описание
OnChange	Наступает при изменении размера или местоположения полосы: ее свойств Break, Index или Width
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnGetSite Info	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseMove	Событие наступает при перемещении курсора мыши над компонентом.
OnMouseUp	Событие наступает при отпускании нажатой кнопки мыши над объектом.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUndock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


Литература по TPageScroller
книга [2] раздел 7.4


TPageScroller - компонент

Иерархия   Свойства   Методы   События   литература

Обеспечивает прокрутку больших окон, например, инструментальных панелей

Модуль Comctrls

Описание

Компонент TPageScroller обеспечивает прокрутку длинных панелей. Например, инструментальная панель, построенная на основе компонента TToolBar, может быть очень длинной и не помещаться в отведенном ей месте формы. Примером является палитра компонентов Delphi. В этих случаях может помочь компонент TPageScroller, обеспечивающий прокрутку панели. Собственно говоря, TPageScroller может прокручивать любой компонент, не обязательно панель TToolBar. Например, он может прокручивать какую-то панель вместе с размещенными на ней компонентами. В этом отношении он напоминает компонент TScrollBox. Но есть и заметные различия между этими двумя компонентами: TPageScroller прокручивает только один компонент и только в одном направлении - горизонтальном или вертикальном. Да и оформление управления прокруткой у TPageScroller не похоже на полосы прокрутки в TScrollBox.

Основное свойство компонента TPageScroller - Control. Оно указывает компонент, который должен размещаться и прокручиваться в окне TPageScroller. Благодаря наличию этого свойства вы можете проектировать свою инструментальную панель, например, TToolBar, не помещая ее заранее в окно TPageScroller и не задумываясь о ее размере. А после того, как вы спроектировали панель, можно ввести на форму компонент TPageScroller и установить его свойство Control. В этот момент ваша инструментальная панель переместится в окно компонента PageScroller и появится, если необходимо, кнопка прокрутки.

Свойство Margin компонента TPageScroller определяет размер полей в пикселях, которые оставляются между краем окна TPageScroller и прокручиваемым компонентом. По умолчанию эти поля равны нулю, но надо задать свойству Margin некоторое положительное значение. Иначе края прокручиваемого компонента могут быть плохо видны.

Свойство AutoScroll определяет, должна ли прокрутка осуществляться автоматически, как только курсор мыши пройдет над кнопкой прокрутки. В большинстве случаев лучше оставлять значение AutoScroll равным false, поскольку автоматическая прокрутка не очень удобна пользователю.


Основные свойства TPageScroller

Полный список    TPageScroller

Свойство	Описание
Align	Определяет способ выравнивания компонента на форме
AutoScroll	Определяет, должна ли прокрутка осуществляться автоматически, как только курсор мыши пройдет над кнопкой прокрутки
ButtonSize	Определяет размер стрелок компонента
Control	Указывает компонент, который должен размещаться и прокручиваться в окне TPageScroller.
DragScroll	Определяет, могут ли окна, размещенные в компоненте, быть приемниками операции перетаскивания Drag&Drop
Margin	Размер полей в пикселях, которые оставляются между краем окна TPageScroller и прокручиваемым компонентом. Если не задать некоторого положительного значения, края прокручиваемого компонента могут быть плохо видны
Orientation	Определяет вертикальное или горизонтальное расположение и прокрутку
Position	Определяет текущую позицию прокрутки


TPageScroller - компонент
Все свойства TPageScroller

Основные свойства   TPageScroller

Свойство	Описание
Action	Определяет действие, связанное с данным компонентом.
Align	Определяет способ выравнивания компонента на форме
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoScroll	Определяет, должна ли прокрутка осуществляться автоматически, как только курсор мыши пройдет над кнопкой прокрутки
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент, в координатах содержащего его контейнера. Началом координат считается левый верхний угол родительского окна.
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ButtonSize	Определяет размер стрелок компонента
ClientHeight	Указывает высоту клиентской области в пикселях. Может использоваться для чтения или изменения высоты клиентской области.
ClientOrigin	Указывает координаты положения на экране левого верхнего угла клиентской области компонента. Доступ только для чтения.
ClientRect	Указывает координаты углов клиентской области компонента. Доступ только для чтения.
ClientWidth	Указывает горизонтальный размер клиентской области в пикселях. Доступ только для чтения или изменения горизонтального размера клиентской области.
Color	Указывает цвет фона компонента.
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Указывает число компонентов, которыми владеет данный компонент.
Component Index	Указывает позицию компонента в массиве свойства Components.
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения размера (максимально допустимую ширину и высоту) компонента. Во избежание неопределённости нельзя устанавливать ограничения, конфликтующие со свойствами Align и Anchors. По умолчанию ограничения отсутствуют.
Control	Указывает компонент, который должен размещаться и прокручиваться в окне TPageScroller.
ControlCount	Информирует о количестве дочерних компонентов оконного элемента. Доступ только для чтения.
Controls	Указывает массив дочерних компонентов оконного элемента. Доступ только для чтения.
ControlState	Характеризует состояние компонента во время выполнения приложения.
ControlStyle	Принимает одно из  значений флагов, характеризующих стиль компонента (возможности изменения его размеров, получения различных сообщений, наличия потомков и др.).
Cursor	Определяет вид курсора мыши, когда он расположен в области компонента.
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется.
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заносится в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop (при значении свойства dkDrag), или Drag&Doc (при значении свойства dkDock).
DragMode	Определяет поведение компонента в процессе его перетаскивания.
DragScroll	Определяет, могут ли окна, размещенные в компоненте, быть приемниками операции перетаскивания Drag&Drop
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии "всплывающего" окна. Свойство только для чтения.
FloatingDock SiteClass	Определяет класс временного компонента, управляющего "плавающим" окном
Font	Определяет атрибуты шрифта.
Handle	Обеспечивает доступ к дескриптору окна. Доступ только для чтения.
Height	Указывает высоту компонента в пикселях.
HelpContext	Определяет номер, используемый в контекстно-зависимой справке.
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент.
Left	Указывает координату левого края компонента в пикселях, отсчитываемую от левой границы клиентской области родителя.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Margin	Размер полей в пикселях, которые оставляются между краем окна TPageScroller и прокручиваемым компонентом. Если не задать некоторого положительного значения, края прокручиваемого компонента могут быть плохо видны
Name	Обозначает имя компонента, по которому на него ссылаются другие компоненты.
Orientation	Определяет вертикальное или горизонтальное расположение и прокрутку
Owner	Определяет владельца данного компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент.
ParentColor	Указывает, где компонент отыскивает информацию о своём цвете.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет появление всплывающего меню, связанного с данным компонентом.
Position	Определяет текущую позицию прокрутки
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом.
Showing	Определяет, виден ли компонент в данный момент на экране. Доступ только для чтения.
TabOrder	Указывает позицию компонента в списке меток табуляции. Определяет порядок переключения фокуса между компонентами окна при нажатии клавиши Tab. Изначально соответствует порядку добавления компонентов на форму.
TabStop	Определяет возможность доступа пользователя к компоненту окна с помощью клавиши Tab.
Tag	Свойство, используемое пользователем по своему усмотрению.
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Указывает координату верхнего края компонента или формы в пикселях, отсчитываемую от верхней границы клиентской области родителя для компонента или верхнего края экрана для формы.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет видимость (при значении true)или невидимость (при значении false)компонента или раздела меню. Отличие от свойства доступности Enable в том, что недоступный раздел может быть видим, а при Visible = false раздел меню невидим, соседние разделы смыкаются, занимая пустующее место.
Width	Определяет горизонтальный размер компонента или формы в пикселях.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов.


Основные методы TPageScroller

Полный список    TPageScroller

Метод	Описание
GetButtonState	Возвращает состояние указанной кнопки компонента (нажата, недоступна, невидима и т.п.)


Все методы TPageScroller

Основные методы   TPageScroller

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
AlignControls	Выравнивает компоненты в содержащем их окне.
Assign	Копирует один объект в другой, создавая копию всех данных объекта.
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
BroadCast	Посылает сообщение каждому из дочерних компонентов оконного компонента.
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientToScreen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного компонента.
ControlAtPos	Указывает, какой дочерний компонент находится в указанной позиции внутри данного компонента.
Create	Создает и инициализирует экземпляр компонента.
CreateParams	Автоматически вызывается методом CreateWnd
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateWnd	Автоматически вызывается при первом создании оконного компонента или при его повторном создании после изменения каких-то свойств
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов.
Dispatch	Вызывает обработчик сообщения, полученного объектом.
Dock	Используется внутри класса для встраивания. Вызываться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop.
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает текстовые флаги, отражающие текущую установку свойства BiDiModе
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Разрешает выравнивание дочерних компонентов в окне, отменяя действие DisableAlign.
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает имя дочернего компонента.
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, инициирован ли оконный компонент (имеет ли входной фокус), то есть является ли оконный компонент активным.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом . Автоматически вызывается деструктором . Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылку интерфейса для компонентов, которые создавались из классов COM.
GetButtonState	Возвращает состояние указанной кнопки компонента (нажата, недоступна, невидима и т.п.)
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних оконных компонентов в порядке их табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создаёт дескриптор окна, если он ещё не существует.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым.
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Вызывает перестройку компонентов в окне.
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет определённый компонент из массива Controls.
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает COM и OLE исключения.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Устанавливает одновременно свойства Left, Top, Width и Height
SetFocus	Передает фокус элементу, активизирует его.
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент.
Update	Немедленно перерисовывает компонент.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Показывает оконный компонент, вызывая все обусловленные им родительские объекты, чтобы выполнить необходимые установки (ссылки и др.)
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TPageScroller
Специальные события TPageScroller

Полный список    TPageScroller

Событие	Описание
OnScroll	Наступает перед прокручиванием


Все события TPageScroller

Специальные   TPageScroller

Событие	Описание
OnClick	Событие соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя.
OnContext Popup	Защищенное событие, наступающее при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDblClick	Событие соответствует двойному щелчку мыши на компоненте.
OnDragDrop	Событие наступает в момент отпускания перетаскиваемого компонента над данным компонентом.
OnDragOver	Событие относится ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом.
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие наступает в момент получения элементом фокуса.
OnExit	Событие наступает в момент потери элементом фокуса
OnKeyDown	Событие наступает при нажатии пользователем любой клавиши.
OnKeyPress	Событие наступает при нажатии пользователем клавиши символа.
OnKeyUp	Событие наступает при отпускании пользователем любой клавиши.
OnMouseDown	Событие наступает в момент нажатия пользователем клавиши мыши над компонентом.
OnMouseWheel	Событие происходит при вращении шарика мыши.
OnResize	Событие происходит сразу после изменения размеров компонента.
OnScroll	Наступает перед прокручиванием
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBText - компонент

Иерархия   Свойства   Методы   События

Аналог обычной метки TLabel, связанный с данными

Модуль Dbctrls

Описание

DBText - аналог обычной метки TLabel, связанный с данными. Он позволяет отображать данные некоторого поля текущей записи набора данных, но не дает возможности их редактировать. Поле может быть различного типа: символьное, числовое, булево. Преобразование значения поля в строку текста, отображаемую в DBText, производится автоматически.

Свойства компонента, обеспечивающие связь с данными:

•	DataSource - источник данных типа TDataSource

•	DataField - имя поля, с которым связан компонент

•	Field - объект этого поля (только для чтения)

Большинство остальных свойств (Alignment, AutoSize, Anchors и др.) аналогичны свойствам компонента TLabel. Но в DBText отсутствует главное свойство метки - Caption (текст). Текст целиком и полностью определяется соответствующим полем текущей записи.


Основные свойства TDBText

Полный список    TDBText

Свойство	Описание
Alignment	Определяет выравнивание текста
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoSize	Указывает (при значении true) на автоматическое изменение горизонтального и вертикального размеров метки в соответствии с отображаемым текстом
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину компонента


Все свойства компонента TDBText
Все свойства TDBText

Основные свойства   TDBText

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Alignment	Определяет выравнивание текста
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoSize	Указывает (при значении true) на автоматическое изменение горизонтального и вертикального размеров метки в соответствии с отображаемым текстом
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет прямоугольник, описывающий компонент
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона .
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Множество флагов стиля компонента
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Height	Высота компонента или формы в пикселях
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
Transparent	Указывает, должен ли быть цвет фона изображения прозрачным, чтобы сквозь него было видно нижележащее изображение
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину компонента


Основные методы TDBText

Полный список    TDBText

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint


Все методы TDBText

Основные методы   TDBText

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Create	Создает и инициализирует экземпляр TDBText
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDBText

TDBText

Событие	Описание
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBEdit - компонент

Иерархия   Свойства   Методы   События

Представляет собой окно редактирования, которое может отображать и редактировать поле набора данных.

Модуль Dbctrls

Описание

TDBEdit - связанный с данными аналог обычного окна редактирования TEdit. Он позволяет отображать и редактировать данные полей различных типов: строка, число, булева величина. Преобразование значения поля в строку текста, отображаемую в TDBEdit, производится автоматически. Если задать в компоненте ReadOnly = true, то он, как и TDBText, будет служить элементом отображения, но несколько более изящным, чем TDBText.

Свойства компонента, обеспечивающие связь с данными:

•	DataSource - источник данных типа TDataSource

•	DataField - имя поля, с которым связан компонент

•	Field - объект этого поля (только для чтения)

Большинство остальных свойств (AutoSelect, AutoSize, CharCase и др.) аналогичны свойствам компонента TEdit. Но в TDBEdit главное свойство окна - Text недоступно во время проектирования. Текст в окне определяется соответствующим полем текущей записи и может изменяться пользователем или программно во время выполнения. Отредактированное значение в окне помещается в соответствующее поле набора данных.


Основные свойства TDBEdit

Полный список    TDBEdit

Свойство
AutoSelect	Определяет, будет ли автоматически выделяться весь текст при передаче фокуса в окно редактирования
AutoSize	Указывает, изменяется ли автоматически высота компонента, подстраиваясь под размер текста. По умолчанию false - не подстраивается
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CharCase	Указывает, приводится ли принудительно текст к верхнему или нижнему регистрам
Color	Указывает цвет фона компонента
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
EditMask	Определяет маску, которая указывает допустимую форму записи текста для данного компонента
EditText	Текст в окне с учетом форматирования
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Font	Определяет атрибуты шрифта
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент
Modified	Указывает, редактировался ли пользователем текст в компоненте
PasswordChar	Указывает символ, замещающий фактические символы,  напечатанные в компоненте. Используется для ввода паролей
PopupMenu	Идентифицирует всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
SelLength	Определяет количество выделенных символов в строке
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
SetFocus	Передает фокус элементу
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
Text	Текст в окне редактирования. Доступен только во время выполнения


Все свойства компонента TDBEdit
Все свойства TDBEdit

Основные свойства   TDBEdit

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
AutoSelect	Определяет, будет ли автоматически выделяться весь текст при передаче фокуса в окно редактирования
AutoSize	Указывает, изменяется ли автоматически высота компонента, подстраиваясь под размер текста. По умолчанию false - не подстраивается
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CharCase	Указывает, приводится ли принудительно текст к верхнему или нижнему регистрам
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона .
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
EditText	Текст в окне с учетом форматирования
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
IsMasked	Указывает, задана ли маска EditMask
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент
Modified	Указывает, редактировался ли пользователем текст в компоненте
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PasswordChar	Указывает символ, замещающий фактические символы,  напечатанные в компоненте. Используется для ввода паролей
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
SelLength	Определяет количество выделенных символов в строке
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Text	Текст в окне редактирования. Доступен только во время выполнения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TDBEdit

Полный список    TDBEdit

Метод	Описание
Clear	Удаляет текст из окна
ClearSelection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте не могут быть отменены.
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
CutToClipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
SelectAll	Выделяет весь текст в окне редактирования


Все методы TDBEdit

Основные методы   TDBEdit

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
Change	Защищенный метод ответа на изменение текста. Явным образом не вызывается
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет текст из окна
Clear Selection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте не могут быть отменены.
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
Create	Создает и инициализирует экземпляр TDBEdit
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CutTo Clipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание в окне дочерних компонентов
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EditCanModify	Защищенный метод, позволяющий определить, можно ли редактировать текст. Из приложения явным образом не вызывается
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
KeyDown	Защищенный метод перевода в режим редактирования. Из приложения вызываться не может
KeyPress	Защищенный метод перевода в режим редактирования. Из приложения вызываться не может
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
Notification	Предупреждение о получении сообщения дочерними компонентами. Явным образом в приложении не вызывается
PaintTo	Рисует компонент в заданное устройство
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
Reset	Защищенный метод прерывание исправлений. Из приложения не должен вызываться
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SelectAll	Выделяет весь текст в окне редактирования
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу
SetSelTextBuf	Заменяет текст окна строкой из буфера
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign
ValidateEdit	Проверяет соответствие текста маске


События TDBEdit
Специальные события TDBEdti

Полный список    TDBEdit

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования


Все события TDBEdit

Специальные   TDBEdit

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBMemo - компонент

Иерархия   Свойства   Методы   События

Позволяет отображать и редактировать данные поля, в частности, типа MEMO и BLOB

Модуль  Dbctrls

Описание

TDBMemo - связанный с данными аналог обычного многострочного окна редактирования TMemo. Он позволяет отображать и редактировать данные полей разных типов и, прежде всего, типов MEMO и BLOB.

Свойства компонента, обеспечивающие связь с данными:

•	DataSource - источник данных типа TDataSource

•	DataField - имя поля, с которым связан компонент

•	Field - объект этого поля (только для чтения)

Большинство остальных свойств и методов аналогичны свойствам и методам компонента TMemo. Но в TDBMemo главное свойство окна - Lines недоступно во время проектирования. Текст в окне определяется соответствующим полем текущей записи и может изменяться пользователем или программно во время выполнения. Отредактированное значение в окне помещается в соответствующее поле набора данных.

Свойство Lines, доступное во время выполнения, имеет множество свойств и методов типа TStrings, которые обычно используются для формирования и редактирования текста.


Основные свойства TDBMemo

Полный список    TDBMemo

Свойство
Alignment	Задает способ выравнивания текста
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoDisplay	Определяет автоматическое отображение значения поля
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CaretPos	Указывает строку и символ расположения курсора. Доступ только для чтения
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Font	Атрибуты шрифта
Lines	Строки текста - объект типа TStrings. Доступно только во время выполнения
Modified	Указывает, редактировался ли пользователем текст в компоненте
ReadOnly	Устанавливает данные только для чтения (при значении true)
ScrollBars	Определяет наличие полос прокрутки текста в окне
SelLength	Определяет количество выделенных символов в тексте
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
Text	Текст в окне в виде строки
WantTabs	Указывает, можно ли вставить в текст символы табуляции
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину компонента


Все свойства компонента TDBMemo
Все свойства TDBMemo

Основные свойства   TDBMemo

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Alignment	Задает способ выравнивания текста
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoDisplay	Определяет автоматическое отображение значения поля
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CaretPos	Указывает строку и символ расположения курсора. Доступ только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
Left	Координата левого края компонента в пикселях
Lines	Строки текста - объект типа TStrings. Доступно только во время выполнения
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент
Modified	Указывает, редактировался ли пользователем текст в компоненте
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
ScrollBars	Определяет наличие полос прокрутки текста в окне
SelLength	Определяет количество выделенных символов в тексте
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Text	Текст в окне в виде строки
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
WantTabs	Указывает, можно ли вставить в текст символы табуляции
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину компонента


Основные методы TDBMemo

Полный список    TDBMemo

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Clear	Удаляет текст из окна
Clear Selection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте не могут быть отменены.
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
CutTo Clipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
SelectAll	Выделяет весь текст в окне редактирования
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo


Все методы TDBMemo

Основные методы   TDBMemo

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
Change	Защищенный метод ответа на изменение текста. Явным образом не вызывается
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет текст из окна
Clear Selection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте не могут быть отменены.
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
Create	Создает и инициализирует экземпляр TDBMemo
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CutTo Clipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание в окне дочерних компонентов
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDocDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EditCanModify	Защищенный метод, позволяющий определить, можно ли редактировать текст. Из приложения явным образом не вызывается
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
KeyDown	Защищенный метод перевода в режим редактирования. Из приложения вызываться не может
KeyPress	Защищенный метод перевода в режим редактирования. Из приложения вызываться не может
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
Notification	Предупреждение о получении сообщения дочерними компонентами. Явным образом в приложении не вызывается
PaintTo	Рисует компонент в заданное устройство
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
Reset	Защищенный метод прерывание исправлений. Из приложения не должен вызываться
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SelectAll	Выделяет весь текст в окне редактирования
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу
SetSelTextBuf	Заменяет выделенный текст окна строкой из буфера
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRight ToLeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRight ToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign
WndProc	Обработчик указанного сообщения Windows. Используется для инициализации свойства WindowProc


События TDBMemo
Специальные события TDBMemo

Полный список    TDBMemo

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования


Все события TDBMemo

Специальные   TDBMemo

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBRichEdit - компонент

Иерархия   Свойства   Методы   События

Представляет собой многострочное окно редактирования - аналог TRichEdit, которое может отображать и редактировать значение поля, содержащее текст в обогащенном формате

Модуль Dbctrls

Описание

Компонент  TDBRichEdit дает возможность отображать и редактировать поле базы данных, содержащее текст в обогащенном формате RTF. Основные свойства, позволяющие осуществлять выборочное форматирование фрагментов текста - SelAttributes - объект типа TTextAttributes, форматирующий выделенный или вновь вводимый текст, и свойство Paragraph - объект типа TParaAttributes, форматирующий текущий абзац.

TDBRichEdit имеет свойство Text, в котором содержится текст окна редактирования. Свойство Lines типа TStrings представляет тот же текст, но разбитый на строки. Свойства и методы Lines позволяют редактировать текст поля. Однако, в отличие от TRichEdit, в TDBRichEdit это свойство недоступно во время проектирования, поскольку его содержание связано с данными, хранящимися в соответствующем поле базы данных.

Свойства компонента, обеспечивающие связь с данными:

•	DataSource - источник данных типа TDataSource

•	DataField - имя поля, с которым связан компонент

•	Field - объект этого поля (только для чтения)


Основные свойства TDBRichEdit

Полный список    TDBRichEdit

Свойство	Описание
Alignment	Задает способ выравнивания текста
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoDisplay	Определяет автоматическое отображение значения поля
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CaretPos	Указывает строку и символ расположения курсора. Доступ только для чтения
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DefAttributes	Атрибуты форматирования по умолчанию
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Lines	Строки текста - объект типа TStrings. Доступно только во время выполнения
Modified	Указывает, редактировался ли пользователем текст в компоненте
Paragraph	Атрибуты форматирования текущего параграфа. Является объектом типа TParaAttributes
ReadOnly	Устанавливает данные только для чтения (при значении true)
ScrollBars	Определяет наличие полос прокрутки текста в окне
SelAttributes	Атрибуты выделенного или вновь вводимого текста. Является объектом типа TTextAttributes
SelLength	Определяет количество выделенных символов в тексте
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
Text	Текст в окне в виде строки
WantTabs	Указывает, можно ли вставить в текст символы табуляции
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину компонента


Все свойства компонента TDBRichEdit
Все свойства TDBRichEdit

Основные свойства   TDBRichEdit

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Alignment	Задает способ выравнивания текста
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoDisplay	Определяет автоматическое отображение значения поля
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
CanUndo	Указывает, содержит ли компонент изменения, которые можно отменить. Доступ только для чтения
CaretPos	Указывает строку и символ расположения курсора. Доступ только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона .
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DefAttributes	Атрибуты форматирования по умолчанию
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClientCount	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
Floating DockSiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
Left	Координата левого края компонента в пикселях
Lines	Строки текста - объект типа TStrings. Доступно только во время выполнения
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MaxLength	Указывает максимальное количество символов, которое пользователь может вводить в компонент
Modified	Указывает, редактировался ли пользователем текст в компоненте
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Paragraph	Атрибуты форматирования текущего параграфа. Является объектом типа TParaAttributes
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
ScrollBars	Определяет наличие полос прокрутки текста в окне
SelAttributes	Атрибуты выделенного или вновь вводимого текста. Является объектом типа TTextAttributes
SelLength	Определяет количество выделенных символов в тексте
SelStart	Указывает позицию первого выделенного символа в тексте или, если выделения нет, то позицию курсора
SelText	Текст, выделенный в окне
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Text	Текст в окне в виде строки
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
WantTabs	Указывает, можно ли вставить в текст символы табуляции
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов
WordWrap	Указывает, переносится ли текст на новую строку, если он превышает ширину компонента


Основные методы TDBRichEdit

Полный список    TDBRichEdit

Метод	Описание
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Clear	Удаляет текст из окна
Clear Selection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте не могут быть отменены.
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
CutTo Clipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
SelectAll	Выделяет весь текст в окне редактирования
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo


Все методы TDBRichEdit

Основные методы   TDBRichEdit

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
Change	Защищенный метод ответа на изменение текста. Явным образом не вызывается
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет текст из окна
Clear Selection	Удаляет текст, выделенный в окне
ClearUndo	Очищает буфер отмены команд редактирования, так что никакие изменения в тексте не могут быть отменены.
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
CopyTo Clipboard	Копирует выделенный текст в компоненте редактирования в Clipboard в формате CF_TEXT
Create	Создает и инициализирует экземпляр TDBRichEdit
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CutTo Clipboard	Переносит выделенный текст в Сlipboard в формате CF_TEXT и уничтожает его в окне
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание в окне дочерних компонентов
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EditCanModify	Защищенный метод, позволяющий определить, можно ли редактировать текст. Из приложения явным образом не вызывается
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
KeyDown	Защищенный метод перевода в режим редактирования. Из приложения вызываться не может
KeyPress	Защищенный метод перевода в режим редактирования. Из приложения вызываться не может
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
Notification	Предупреждение о получении сообщения дочерними компонентами. Явным образом в приложении не вызывается
PaintTo	Рисует компонент в заданное устройство
PasteFrom Clipboard	Переносит в окно текст из буфера Clipboard
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
Reset	Защищенный метод прерывание исправлений. Из приложения не должен вызываться
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SelectAll	Выделяет весь текст в окне редактирования
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу
SetSelTextBuf	Заменяет выделенный текст окна строкой из буфера
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDBRichEdit
Специальные события TDBRichEdit

Полный список    TDBRichEdit

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования
OnProtect Change	Наступает при попытке изменить текст, помеченный как защищенный
OnResize Request	Наступает при попытке окна изменить размеры, чтобы отобразить весь текст
OnSave Clipboard	Наступает перед уничтожением окна, если буфер Clipboard требует в это время информацию из окна
OnSelection Change	Наступает при изменении выделения текста


Все события TDBRichEdit

Специальные   TDBRichEdit

Событие	Описание
OnChange	Наступает при изменении текста в окне редактирования
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает в момент прерывания или окончания встраивания компонента
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnProtect Change	Наступает при попытке изменить текст, помеченный как защищенный
OnResize Request	Наступает при попытке окна изменить размеры, чтобы отобразить весь текст
OnSave Clipboard	Наступает перед уничтожением окна, если буфер Clipboard требует в это время информацию из окна
OnSelection Change	Наступает при изменении выделения текста
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBImage - компонент

Иерархия   Свойства   Методы   События

Компонент позволяет отображать графические поля

Модуль Dbctrls

Описание

TDBImage - связанный с данными аналог обычного компонента TImage. Компонент позволяет отображать графические поля, например, фотографии сотрудников.

Свойства компонента, обеспечивающие связь с данными:

•	DataSource - источник данных типа TDataSource

•	DataField - имя поля, с которым связан компонент

•	Field - объект этого поля (только для чтения)

Большинство свойств и методов TDBImage подобны TImage. Однако, основное свойство компонента - Picture недоступно во время проектирования, поскольку связано с данными, хранящимися в соответствующем поле базы данных. Во время выполнения оно может изменяться программно или действиями пользователя, например, загрузкой изображения из буфера обмена Clipboard.


Основные свойства TDBImage

Полный список    TDBImage

Свойство
AutoDisplay	Определяет автоматическое отображение значения поля
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
Center	Указывает, должно ли изображение центрироваться в поле компонента, если его размеры меньше размеров поля. При значении false изображение располагается в верхнем левом углу поля. Свойство не действует, если AutoSize установлено в true или если Stretch установлено в true и Picture содержит не пиктограмму.
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Picture	Определяет отображаемый графический объект типа TPicture. Может загружаться программно, во время проектирования свойство недоступно
QuickDraw	Определяет, должно ли изображение отображаться с использованием палитры
ReadOnly	Устанавливает данные только для чтения (при значении true)
Stretch	Указывает, должны ли изменяться размеры изображения, подгоняясь под размеры компонента. Учтите, что изменение размеров изображения приведет к его искажению, если соотношение сторон графического объекта и компонента TImage не одинаково.


Все свойства компонента TDBImage
Все свойства TDBImage

Основные свойства   TDBImage

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoDisplay	Определяет автоматическое отображение значения поля
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Center	Определяет центровку изображения в клиентской области компонента, если размеры клиентской области ClientHeight или ClientWidth не совпадают с соответствующими размерами кадра FrameHeight и FrameWidth. Если центровка не задана, изображение позиционируется в верхнем левом углу клиентской области.
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона .
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
Picture	Определяет отображаемый графический объект типа TPicture. Может загружаться программно, во время проектирования свойство недоступно
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
QuickDraw	Определяет, должно ли изображение отображаться с использованием палитры
ReadOnly	Устанавливает данные только для чтения (при значении true)
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
Stretch	Указывает, должны ли изменяться размеры изображения, подгоняясь под размеры компонента. Учтите, что изменение размеров изображения приведет к его искажению, если соотношение сторон графического объекта и компонента TImage не одинаково.
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TDBImage

Полный список    TDBImage

Метод	Описание
CopyToClipboard	Копирует изображение в Clipboard
CutToClipboard	Переносит изображение в Сlipboard и уничтожает его в окне
LoadPicture	Загружает в компонент изображение, хранящееся в поле набора данных
PasteFromClipboard	Переносит в окно изображение из буфера Clipboard


Все методы TDBImage

Основные методы   TDBImage

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
ContainsControl	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
CopyToClipboard	Копирует изображение в Clipboard
Create	Создает и инициализирует экземпляр TDBImage
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CutToClipboard	Переносит изображение в Сlipboard и уничтожает его в окне
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание в окне дочерних компонентов
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDiMode FlagsReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeNotification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HandleAllocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
LoadPicture	Загружает в компонент изображение, хранящееся в поле набора данных
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
PaintTo	Рисует компонент в заданное устройство
PasteFrom Clipboard	Переносит в окно изображение из буфера Clipboard
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
RemoveComponent	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
Reset	Защищенный метод прерывание исправлений. Из приложения не должен вызываться
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Undo	Отменяет все изменения, хранившиеся в буфере отмены результатов редактирования с момента последнего вызова ClearUndo
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDBImage

TDBImage

Событие	Описание
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает в момент встраивания компонента
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBCheckBox - компонент

Иерархия   Свойства   Методы   События

Позволяет отображать и редактировать данные поля булева типа и некоторых других типов

Модуль  Dbctrls

Описание

DBCheckBox - связанный с данными аналог обычного индикатора TCheckBox. Он позволяет отображать и редактировать данные поля булева типа, а также символьного и числового типа. Если при выводе данных булево поле имеет значение true, то индикатор включается. А если в процессе редактирования пользователь включит или выключит индикатор, то соответственно значение true или false запишется в поле. Это один из способов обеспечить пользователю безошибочный ввод значений в булево поле.

Если поле символьное или числовое, то в свойство ValueChecked заносится строка, перечисляющая значения поля, при которых индикатор включается, а в свойстве ValueUnchecked перечисляются значения, при которых индикатор выключается. При значениях, не перечисленных ни в ValueChecked, ни в ValueUnchecked, индикатор переходит в третье состояние, отображая серый флажок(даже если нет разрешения на третье состояние - свойство AllowGrayed = false).

Включен или выключен индикатор можно определить по значению свойства Checked, но только во время выполнения. Более детально состояние индикатора можно определить по свойству State: cbChecked - включен, cbUnchecked - выключен, cbGrayed - третье состояние.

Свойства компонента, обеспечивающие связь с данными:

•	DataSource - источник данных типа TDataSource

•	DataField - имя поля, с которым связан компонент

•	Field - объект этого поля (только для чтения)

При переключении пользователем индикатора в поле заносится значение, определенное свойствами ValueChecked и ValueUnchecked (если в них записано по несколько значений, то заносится соответствующее первое значение).


Основные свойства TDBCheckBox

Полный список    TDBCheckBox

Свойство
Action	Определяет действие, связанное с данным элементом
Alignment	Определяет расположение надписи индикатора
AllowGrayed	Разрешает или запрещает появление в индикаторе третьего состояния cbGrayed
Checked	Определяет, включен ли индикатор (содержит ли он флажок)
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
ReadOnly	Устанавливает данные только для чтения (при значении true)
State	Определяет состояние индикатора: cbChecked - включен, cbUnchecked - выключен, cbGrayed - третье состояние.
ValueChecked	Определяет значения поля, соответствующие появлению флажка индикатора (выбранному состоянию)
ValueUnchecked	Определяет значения поля, соответствующие отсутствию флажка индикатора (не выбранному состоянию)


Все свойства компонента TDBCheckBox
Все свойства TDBCheckBox

Основные свойства   TDBCheckBox

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
Alignment	Определяет расположение надписи индикатора
AllowGrayed	Разрешает или запрещает появление в индикаторе третьего состояния cbGrayed
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Caption	Надпись на кнопке
Checked	Определяет, включен ли индикатор (содержит ли он флажок)
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
State	Определяет состояние индикатора: cbChecked - включен, cbUnchecked - выключен, cbGrayed - третье состояние.
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
ValueChecked	Определяет значения поля, соответствующие появлению флажка индикатора (выбранному состоянию)
Value Unchecked	Определяет значения поля, соответствующие отсутствию флажка индикатора (не выбранному состоянию)
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TDBCheckBox

Полный список    TDBCheckBox

Метод	Описание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом


Все методы TDBCheckBox

Основные методы   TDBCheckBox

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
ContainsControl	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Создает и инициализирует экземпляр TDBCheckBox
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание в окне дочерних компонентов
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDiMode FlagsReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeNotification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HandleAllocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
RemoveComponent	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDBCheckBox
Основные события TDBCheckBox

Полный список TDBCheckBox

Событие	Описание
OnClick	Наступает после щелчка мыши на компоненте. В обработчике события можно определить, в какое состояние переключился индикатор, по значениям свойств Checked и State


События TDBCheckBox
Все события TDBCheckBox

Основные события   TDBCheckBox

Событие	Описание
OnClick	Наступает после щелчка мыши на компоненте. В обработчике события можно определить, в какое состояние переключился индикатор, по значениям свойств Checked и State
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает в момент встраивания компонента
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBRadioGroup - компонент

Иерархия   Свойства   Методы   События

Представляет группу радиокнопок, связанных с базой данных

Модуль  Dbctrls

Описание

DBRadioGroup - связанный с данными аналог группы радиокнопок RadioGroup. Компонент позволяет отображать и редактировать поля с ограниченным множеством возможных значений.

Количество радиокнопок в группе и надписи около них определяются свойством Items. Это свойство во время проектирования удобно заполнять редактором, вызываемым из Инспектора Объектов. Значения полей, соответствующие кнопкам, заносятся в свойство Values в той же последовательности, в которой заносились кнопки в Items. Это свойство во время проектирования также удобно заполнять редактором, вызываемым из Инспектора Объектов.

Свойство Columns определяет число столбцов, в которых отображаются радиокнопки группы.

Свойства компонента, обеспечивающие связь с данными:

•	DataSource - источник данных типа TDataSource

•	DataField - имя поля, с которым связан компонент

•	Field - объект этого поля (только для чтения)

Значение поля в текущей записи можно найти в свойстве Value. При переключении пользователем кнопок в поле заносится значение из списка Values, соответствующее включенной кнопке. Определить во время выполнения, какая кнопка включена в данный момент, можно по индексу ItemIndex (0 - первая кнопка, -1 - ни одна кнопка не включена).


Основные свойства TDBRadioGroup

Полный список    TDBRadioGroup

Свойство
Caption	Надпись группы радиокнопок
Columns	Число столбцов кнопок в группе
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
ItemIndex	Индекс выбранной радиокнопки (0 - первая, -1 - не выбрана ни одна кнопка)
Items	Список надписей радиокнопок, входящих в группу
ReadOnly	Устанавливает данные только для чтения (при значении true)
Value	Строка значения поля в текущей записи
Values	Список значений полей, соответствующих радиокнопкам группы


Все свойства компонента TDBRadioGroup
Все свойства TDBRadioGroup

Основные свойства   TDBRadioGroup

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Caption	Надпись группы радиокнопок
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона
Columns	Число столбцов кнопок в группе
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля, с которым связан компонент
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, данные которого отображаются компонентом. Только для чтения
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
ItemIndex	Индекс выбранной радиокнопки (0 - первая, -1 - не выбрана ни одна кнопка)
Items	Список надписей радиокнопок, входящих в группу
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
Value	Строка значения поля в текущей записи
Values	Список значений полей, соответствующих радиокнопкам группы
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TDBRadioGroup

Полный список    TDBRadioGroup

Метод	Описание
CanModify	Определяет, разрешается ли запись в набор данных
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом


Все методы TDBRadioGroup

Основные методы   TDBRadioGroup

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
ContainsControl	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Создает и инициализирует экземпляр TDBRadioGroup
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание в окне дочерних компонентов
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDiMode Flags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDiMode FlagsReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeNotification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HandleAllocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
RemoveComponent	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetFocus	Передает фокус элементу
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDBRadioGroup
Специальные события TDBRadioGroup

Полный список    TDBRadioGroup

Событие	Описание
OnChange	Наступает при выделении пользователем новой радиокнопки. В обработчике события номер выделенной кнопки можно определить по значению ItemIndex


Все события TDBRadioGroup

Специальные   TDBRadioGroup

Событие	Описание
OnChange	Наступает при выделении пользователем новой радиокнопки. В обработчике события номер выделенной кнопки можно определить по значению ItemIndex
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnContext Popup	Наступает при вызове пользователем контекстного меню, связанного с компонентом (щелчком правой кнопкой мыши или иным способом)
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает в момент встраивания компонента
OnEndDrag	Наступает в момент прерывания или окончания перетаскивания компонента
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBLookupListBox и TDBLookupComboBox - компоненты

Иерархия Свойства   Методы   События

Обеспечивают отображение и управление полями просмотра, возможные значения которых берутся из ключевого поля другой таблицы

Модуль Dbctrls

Описание

Поле просмотра - это поле в одном наборе данных, значения которого берутся из какого-то поля другого набора данных. Пусть, например, имеется два набора данных (назовем их Table1 и Table2), с которыми связаны соответственно источники данных (назовем их DataSource1 и DataSource2). Пусть в этих наборах данных имеются поля - Field1 в Table1 и Field2 в Table2, которые могут служить ключами для связи этих наборов. Тогда в наборе данных Table2 можно ввести поле просмотра (назовем его Field2_Lookup) значение которого берется из некоторого поля LookupResultField в Table1 (см. подробнее в теме поля просмотра)

Значение поля просмотра можно отображать в специальных компонентах TDBLookupListBox - список, или TDBLookupComboBox - выпадающий список. В таком применении особенно удобен компонент DBLookupComboBox. В его окне отображается значение просматриваемого поля в текущей записи. Выбор другого значения из выпадающего списка означает редактирование значения поля просмотра. Компонент TDBLookupListBox работает так же, но в нем список все время развернут.

Подключение компонентов TDBLookupComboBox и TDBLookupListBox к полю просмотра обеспечивается свойствами DataSource  - источник данных (в нашем примере DataSource2), и DataField - имя поля просмотра (в нашем примере Field2_Lookup).

Компоненты TDBLookupComboBox и TDBLookupListBox могут обеспечить связь между таблицами, аналогичную создаваемой полями просмотра, и без введения полей просмотра. Пусть в рассмотренном примере нам не требуется вводить в таблицу Table2 поле Field2_Lookup. Но мы хотим обеспечить связь таблиц Table1 и Table2 по совпадению значений полей Field1 и Field2 (автоматическое перемещение курсора в Table1 на запись, в которой значение Field1 равно значению Field2 в текущей записи Table2). Хотим мы также, чтобы выбором в компоненте TDBLookupComboBox или TDBLookupListBox осуществлялось редактирование значения поля Field2. Для решения этой задачи в нашем примере надо задать следующие значения свойств компонентов TDBLookupComboBox или TDBLookupListBox:

Свойство	Значение	Пояснение
DataSource	DataSource2	Источник данных - приемник, поле которого должно воспринимать значение из компонента TDBLookupComboBox или TDBLookupListBox
DataField	Field1	Имя поля в источнике DataSource, воспринимающего значение из компонента TDBLookupComboBox или TDBLookupListBox
ListSource	DataSource1	Источник данных, содержащий ключевое поле и поле, значения которого заносятся в компонент TDBLookupComboBox или TDBLookupListBox
ListField	Field1	Имя поля в источнике ListSource, задающего значения в компонент TDBLookupComboBox или TDBLookupListBox
KeyField	Field1	Ключевое поле в источнике ListSource, по совпадению значения которого с DataField определяется взаимодействие двух наборов данных

Свойство ListField может содержать не одно имя поля, а список имен полей, разделенных точками с запятой. Первое из этих полей является основным, задающим значения поля DataField в источнике DataSource. А значения остальных полей списка заносятся в TDBLookupComboBox или TDBLookupListBox просто как вспомогательная информация для пользователя.


Поля просмотра

См.также

Поле просмотра - это поле, включаемое в некоторый набор данных, причем значения этого поля черпаются из поля другого набора данных. Соответствие записей этих двух наборов обеспечивается совпадением значений заданных ключевых полей в каждом наборе.

Пусть имеется два набора данных (назовем их Table1 и Table2), с которыми связаны соответственно источники данных (назовем их DataSource1 и DataSource2). Пусть в этих наборах данных имеются поля - Field1 в Table1 и Field2 в Table2, которые могут служить ключами для связи этих наборов.

Тогда в наборе данных Table2 можно ввести поле просмотра. Назовем его Field2_Lookup. В качестве его свойства LookupDataSet надо задать Table1, в качестве KeyFields задать Field2 - ключевое поле в таблице Table2, в которую вводится поле просмотра, в качестве LookupKeyFields задать Field1 - ключевое поле в таблице Table1. Тогда соответствие записей в наборах данных Table1 и Table2 будет определяться по совпадению значений полей Field1 и Field2. В качестве LookupResultField надо задать то поле в таблице Table1, значение которое в соответствующей записи будет отображаться во введенном в таблицу Table2 поле просмотра Field2_Lookup.

Все эти свойства поля просмотра проще всего задавать во время проектирования с помощью специального редактора, вызываемого из Редактора Полей (двойной щелчок на компоненте набора данных TTable и TQuery) далее щелчок в поле Редактора Полей правой кнопкой мыши и выбор из всплывшего меню раздела New field). Далее в диалоговом окне введите имя (Name) создаваемого поля и укажите тип (Type) создаваемого поля. В группе радиокнопок Field type включите кнопку Lookup. Выберите в выпадающем списке Key Fields ключевое поле (KeyFields в Table2). В выпадающем списке Dataset выберите таблицу, которую вы хотите просматривать (Table1). Далее в выпадающем списке Lookup Keys выберите ключевое поле (или поля) просматриваемой таблицы (Field1 в Table1). И, наконец, в выпадающем списке Result Field выберите просматриваемое поле (LookupResultField в Table1).

Результат введения поля просмотра скажется в следующем. Во-первых, при перемещении по таблице Table2 одновременно будет перемещаться и курсор таблицы Table1, переходя на запись, в которой значение поля Field1 равно значению поля Field2 в текущей записи Table2. Таким образом, таблица Table2 начнет управлять таблицей Table1. Во-вторых, в компоненте, отображающем значение введенного вами поля просмотра Field2_Lookup в таблице Table2 будет отображаться значение поля LookupResultField записи таблицы Table1. В третьих, если данные таблицы Table2 отображаются в компоненте DBGrid, то при попытке пользователя редактировать значение вычисляемого поля Field2_Lookup в ячейке сетки DBGrid будет появляться выпадающий список, содержащий все значение просматриваемого поля Field1 таблицы Table1. Это позволяет обеспечить безошибочное редактирование путем выбора из этого списка требуемого значения. Изменение значения Field2_Lookup вызовет немедленное изменение и значения ключевого поля Field2, т.е. изменение данных, хранящихся в текущей записи. При этом синхронно переместится курсор таблицы Table1 на запись, соответствующую новому значению ключевого поля.

Значение поля просмотра можно отображать в специальных компонентах TDBLookupListBox - список, или DBLookupComboBox - выпадающий список.


Основные свойства TDBLookupListBox

Полный список    TDBLookupListBox

Свойство
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
DataField	Имя поля в источнике DataSource, воспринимающего значение из компонента TDBLookupListBox
DataSource	Источник данных - приемник, поле которого должно воспринимать значение из данного компонента TDBLookupListBox
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, соответствующего имени DataField
KeyField	Ключевое поле в источнике ListSource, по совпадению значения которого с DataField определяется взаимодействие двух наборов данных
KeyValue	Объект поля KeyField
ListField	Имя поля (или полей) в источнике ListSource, задающего значения в компонент TDBLookupListBox
ListField Index	Индекс поля в списке ListField (0 - первое поле), задающего значения в компонент TDBLookupListBox
ListSource	Источник данных, содержащий ключевое поле и поле, значения которого заносятся в компонент DBLookupComboBox
Selected Item	Содержит значение, отображаемое в списке, которое в настоящее время выбрано


Все свойства TDBLookupListBox и TDBLookupComboBox
Все свойства TDBLookupListBox

Основные свойства   TDBLookupListBox

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Определяет ширину рамки
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля в источнике DataSource, воспринимающего значение из компонента TDBLookupListBox
DataSource	Источник данных - приемник, поле которого должно воспринимать значение из данного компонента TDBLookupListBox
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, соответствующего имени DataField
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Дескриптор оконного элемента, используемый при вызове функций API Windows. Свойство только для чтения.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
KeyField	Ключевое поле в источнике ListSource, по совпадению значения которого с DataField определяется взаимодействие двух наборов данных
KeyValue	Объект поля KeyField
Left	Координата левого края компонента в пикселях
ListField	Имя поля (или полей) в источнике ListSource, задающего значения в компонент TDBLookupListBox
ListField Index	Индекс поля в списке ListField (0 - первое поле), задающего значения в компонент TDBLookupListBox
ListSource	Источник данных, содержащий ключевое поле и поле, значения которого заносятся в компонент DBLookupComboBox
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
RowCount	Определяет, сколько строк видимы в списке
SelectedItem	Содержит значение, отображаемое в списке, которое в настоящее время выбран
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Методы TDBLookupListBox

TDBLookupListBox

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Создает и инициализирует экземпляр TDBLookupListBox
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов в окне
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента
HandleNeeded	Создает дескриптор окна, если он до этого не существовал
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Заменяет текст окна строкой из буфера
SetFocus	Передает фокус элементу
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDBLookupListBox
Основные события TDBLookupListBox

Все события    TDBLookupListBox

Событие	Описание
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса


Все события TDBLookupListBox

Специальные   TDBLookupListBox

Событие	Описание
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


Основные свойства TDBLookupComboBox

Полный список    TDBLookupComboBox

Свойство
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
DataField	Имя поля в источнике DataSource, воспринимающего значение из компонента TDBLookupListBox
DataSource	Источник данных - приемник, поле которого должно воспринимать значение из данного компонента TDBLookupListBox
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, соответствующего имени DataField
KeyField	Ключевое поле в источнике ListSource, по совпадению значения которого с DataField определяется взаимодействие двух наборов данных
KeyValue	Объект поля KeyField
ListField	Имя поля (или полей) в источнике ListSource, задающего значения в компонент TDBLookupListBox
ListField Index	Индекс поля в списке ListField (0 - первое поле), задающего значения в компонент TDBLookupListBox
ListSource	Источник данных, содержащий ключевое поле и поле, значения которого заносятся в компонент DBLookupComboBox
Selected Item	Содержит значение, отображаемое в списке, которое в настоящее время выбрано


Все свойства TDBLookupComboBox

Основные свойства   TDBLookupComboBox

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Определяет ширину рамки
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataField	Имя поля в источнике DataSource, воспринимающего значение из компонента TDBLookupListBox
DataSource	Источник данных - приемник, поле которого должно воспринимать значение из данного компонента TDBLookupListBox
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Field	Указывает объект поля, соответствующего имени DataField
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Дескриптор оконного элемента, используемый при вызове функций API Windows. Свойство только для чтения.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
ImeName	Определяет преобразование при обработке символов (input method editor - IME) для языков Азии, содержащих иероглифы
KeyField	Ключевое поле в источнике ListSource, по совпадению значения которого с DataField определяется взаимодействие двух наборов данных
KeyValue	Объект поля KeyField
Left	Координата левого края компонента в пикселях
ListField	Имя поля (или полей) в источнике ListSource, задающего значения в компонент TDBLookupListBox
ListField Index	Индекс поля в списке ListField (0 - первое поле), задающего значения в компонент TDBLookupListBox
ListSource	Источник данных, содержащий ключевое поле и поле, значения которого заносятся в компонент DBLookupComboBox
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
RowCount	Определяет, сколько строк видимы в списке
SelectedItem	Содержит значение, отображаемое в списке, которое в настоящее время выбран
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TDBLookupComboBox

Полный список TDBLookupComboBox

Метод	Описание
CloseUp	Свертывает раскрытый список
DropDown	Генерирует событие OnDropDown и раскрывает список


Все методы TDBLookupComboBox

Основные методы TDBLookupComboBox

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
CloseUp	Свертывает раскрытый список
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Создает и инициализирует экземпляр TDBLookupListBox
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов в окне
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
DropDown	Генерирует событие OnDropDown и раскрывает список
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocated	Проверяет наличие дескриптора окна компонента
HandleNeeded	Создает дескриптор окна, если он до этого не существовал
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
SetFocus	Передает фокус элементу
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


События TDBLookupComboBox
Основные события TDBLookupComboBox

Все события TDBLookupComboBox

Событие	Описание
OnCloseUp	Наступает после свертывания ранее развернутого списка
OnDropDown	Наступает перед раскрытием выпадающего списка


Все события TDBLookupComboBox

Специальные TDBLookupComboBox

Событие	Описание
OnClick	Соответствует щелчку мыши на компоненте и некоторым другим действиям пользователя
OnCloseUp	Наступает после свертывания ранее развернутого списка
OnDragDrop	Наступает в момент отпускания перетаскиваемого компонента над данным компонентом
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnDropDown	Наступает перед раскрытием выпадающего списка
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouseDown	Наступает в момент нажатия пользователем клавиши мыши над компонентом
OnMouseMove	Наступает при перемещении курсора мыши над компонентом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TDBGrid - компонент

Иерархия   Свойства   Методы   События

Отображает в табличной форме записи набора данных и управляет ими

Модуль Dbgrids

Описание

Компонент TDBGrid отображает в табличной форме записи набора данных и управляет ими: осуществляет перемещение по записям, их редактирование, удаление, вставку новых записей. Занесение в набор данных сделанных исправлений текущей записи происходит при перемещении пользователя на следующую запись.

Операции с записями можно осуществлять непосредственно с помощью TDBGrid, но удобнее это делать, подключая в приложение навигатор - компонент TDBNavigator.

Связь TDBGrid с источником данных осуществляется установкой свойства DataSource. В таблице отображаются значения полей, объекты которых содержатся в свойстве Fields. По умолчанию эти объекты соответствуют тем объектам свойства Fields набора данных, связанного с TDBGrid, в которых свойство Visible (видимый) установлено в true. Объекты вычисляемых полей в массив Fields не входят (но в таблице отображаются). Доступ к ним можно получить методом GetColField.

Если установить в таблице свойство Columns (во время проектирования заполняется с помощью специального Редактора Столбцов), то принятое по умолчанию отображение всех видимых полей набора данных отменяется и отображаются только те поля, которые явным образом включены в собрание Columns. Пользуясь свойствами столбцов в Columns можно, в частности, задавать свойством ButtonStyle в сочетании со свойством PickList способ редактирования значений в ячейках, включая создание в них выпадающих списков возможных значений и вызов специализированных процедур ввода в обработчике события OnEditButtonClick.

Заголовки столбцов таблицы, ширина столбцов, формат отображения определяются соответствующими свойствами объектов полей. Отображение и реакция таблицы на действия пользователя определяются также множеством опций, содержащихся в свойстве Options.

При выделении пользователем ячейки таблицы свойство SelectedField указывает объект поля, соответствующий выделенной ячейке, а свойство SelectedIndex указывает индекс столбца (отсчет от 0), в котором выделена ячейка. Реакцию приложения на выделение пользователем ячейки можно записать в обработчике события OnCellClick.


Основные свойства TDBGrid

Полный список    TDBGrid

Свойство	Описание
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
Columns	Собрание объектов столбцов таблицы, каждый из которых обладает множеством полезных свойств
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
EditorMode	Определяет, может ли редактироваться текущая ячейка таблицы
FieldCount	Число объектов полей в списке Fields
Fields	Массив объектов полей таблицы
Options	Множество опций, определяющих атрибуты отображения и поведения ячеек таблицы
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
SelectedField	Объект поля, соответствующий выделенной ячейке
SelectedIndex	Индекс выделенного столбца в свойстве Columns
SelectedRows	Множество закладок набора данных для записей, соответствующих выделенным строкам
TitleFont	Шрифт заголовка таблицы


Все свойства компонента TDBGrid
Все свойства TDBGrid

Основные свойства   TDBGrid

Свойство	Описание
Action	Определяет действие, связанное с данным элементом
Align	Определяет способ выравнивания компонента внутри контейнера (родительского компонента)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет отличное от европейского направление записи текста
BorderStyle	Указывает, ограничена ли клиентская область компонента одинарной бордюрной линией
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет прямоугольник, описывающий компонент
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
Canvas	Определяет поверхность (холст, канву) для рисования пером Pen и кистью Brush,для наложения друг на друга нескольких изображений. Доступ только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента
ClientRect	Координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Определяет цвет фона .
Columns	Собрание объектов столбцов таблицы, каждый из которых обладает множеством полезных свойств
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Позиция компонента в массиве Components его владельца
Components	Массив компонентов, которыми владеет данный компонент
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Множество значений, характеризующих состояние компонента во время выполнения приложения
ControlStyle	Множество значений, характеризующих стиль компонента
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет изображение курсора мыши, когда он расположен в области компонента
DataSource	Указывает источник данных - компонент TDataSource, с которым связан данный компонент
Default Drawing	Защищенное свойство, определяющее, перерисовываются ли автоматически ячейки таблицы
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
Double Buffered	Определяет, предоставлено ли изображение управления непосредственно к окну
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе его перетаскивания
EditorMode	Определяет, может ли редактироваться текущая ячейка таблицы
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
FieldCount	Число объектов полей в списке Fields
Fields	Массив объектов полей таблицы
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Класс временного компонента, управляющего "плавающим" окном
Font	Атрибуты шрифта
Handle	Обеспечивает доступ к маркеру(дескриптору) окна управления.
Height	Высота компонента или формы в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
ImeMode	Определяет обработку символов (input method editor - IME) для языков Азии, содержащих иероглифы
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому на него ссылаются другие компоненты
Options	Множество опций, определяющих атрибуты отображения и поведения ячеек таблицы
Owner	Определяет владельца данного компонента
Parent	Родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование родительского свойства ShowHint
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TactiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет всплывающее меню, связанное с данным компонентом
ReadOnly	Устанавливает данные только для чтения (при значении true)
SelectedField	Объект поля, соответствующий выделенной ячейке
SelectedIndex	Индекс выделенного столбца в свойстве Columns
SelectedRows	Множество закладок набора данных для записей, соответствующих выделенным строкам
ShowHint	Включает или отключает показ ярлычка (всплывающего окна подсказки) при задержке курсора мыши над компонентом
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Свойство, используемое пользователем по своему усмотрению
TitleFont	Шрифт заголовка таблицы
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Определяет, видим или невидим компонент
Width	Определяет горизонтальный размер компонента или формы в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


Основные методы TDBGrid
Специальные методы TDBGrid

Все методы   TDBGrid

Метод	Описание
DefaultDraw ColumnCell	Прорисовывает отображение содержимого ячейки. Используется в обработчиках событий OnDrawColumnCell
DefaultDraw DataCell	Отображает в ячейке значение указанного поля. Используется в обработчиках событий OnDrawColumnCell
ShowPopupEditor	Отображает вложенный набор данных, связанный с Column, в новом окне
ValidFieldIndex	Определяет, связан ли столбец с указанным индексом с полем набора данных. Возвращает false, если поле вычисляемое или не определено


Все методы TDBGrid

Все методы   TDBGrid

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует один объект в другой, создавая копию всех данных объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
CleanupInstance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в координаты экрана
ContainsControl	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Создает и инициализирует экземпляр TDBGrid
CreateParented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
CreateParented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
DefaultDraw ColumnCell	Прорисовывает отображение содержимого ячейки. Используется в обработчиках событий OnDrawColumnCell
DefaultDraw DataCell	Отображает в ячейке значение указанного поля. Используется в обработчиках событий OnDrawColumnCell
DefaultHandler	Процедура обработки сообщения по умолчанию. В таблице используется для вызова всплывающего меню при щелчке правой кнопкой мыши
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание в окне дочерних компонентов
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChildControl	Возвращает дочерний компонент, указанный его именем
FindComponent	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находится ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется
FreeNotification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую Инспектором Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrderList	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HandleAllocated	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitiateAction	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InsertComponent	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InsertControl	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обработчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
RemoveComponent	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
RemoveControl	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
ScreenToClient	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Заменяет текст окна строкой из буфера
Show	Делает видимым невидимый компонент
ShowPopupEditor	Отображает вложенный набор данных, связанный с Column, в новом окне
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateControl State	Используется внутри класса для отображения дочерних компонентов
ValidFieldIndex	Определяет, связан ли столбец с указанным индексом с полем набора данных. Возвращает false, если поле вычисляемое или не определено
UseRightToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft Reading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на компьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


Основные события TDBGrid
Специальные события TDBGrid

Полный список    TDBGrid

Событие	Описание
OnCellClick	Наступает при отпускании кнопки мыши в одной из ячеек
OnColEnter	Наступает при перемещении фокуса на новую ячейку таблицы
OnColExit	Наступает перед потерей ячейкой фокуса
OnColumnMoved	Наступает при перетаскивании колонки мышью
OnDrawColumn Cell	Наступает при необходимости перерисовать ячейку
OnEditButton Click	Наступает при нажатии пользователем кнопки с многоточием в ячейке
OnTitleClick	Наступает при отпускании кнопки мыши над заголовком одной из колонок


Все события TDBGrid

Специальные   TDBGrid

Событие	Описание
OnCellClick	Наступает при отпускании кнопки мыши в одной из ячеек
OnColEnter	Наступает при перемещении фокуса на новую ячейку таблицы
OnColExit	Наступает перед потерей ячейкой фокуса
OnColumnMoved	Наступает при перетаскивании колонки мышью
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает при отпускании перетаскиваемого компонента
OnDragOver	Наступает при перетаскивании объекта над компонентом
OnDrawColumn Cell	Наступает при необходимости перерисовать ячейку
OnDrawData Cell	Внутренне используемое событие при перерисовке ячейки
OnEditButton Click	Наступает при нажатии пользователем кнопки с многоточием в ячейке
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnKeyDown	Наступает при нажатии любой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnTitleClick	Наступает при отпускании кнопки мыши над заголовком одной из колонок


TObject - класс
TObject - базовый класс всех объектов

Методы

Базовый класс всех объектов в Delphi

Модуль System

Описание

Класс TObject инкапсулирует основные функции, свойственные всем объектам Delphi. Интерфейс TObject обеспечивает:

•	Возможность создания, управления и разрушения экземпляров объектов, включая выделение под них памяти, инициализацию и освобождение памяти после их уничтожения

•	Поддержку информации об объектах и типах (run-time type information - RTTI).

•	Поддержку обработки сообщений.

Все классы в Delphi являются прямыми или косвенными наследниками TObject. Прямое наследование используется только при объявлении простых классов, объекты которых не являются компонентами, не могут присваиваться друг другу и не участвуют в операциях обмена с потоками. Подавляющее большинство классов являются косвенными наследниками TObject и производятся от промежуточных классов. Если при объявлении нового типа объектов не указывается класс-предок, то Delphi считает TObject предком нового класса.

Большинство методов TObject не используются непосредственно в компонентах, с которыми имеет дело пользователь. Исходные методы TObject обычно перегружены в классах-наследниках или заменены другими, построенными на их основе.

Хотя формально TObject не является абстрактным классом, но объекты этого класса создавать нельзя.


методы класса TObject
Основные методы класса TObject

Все методы   Tobject

Метод	Описание
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as


методы класса TObject
Все методы класса TObject

Основные методы   Tobject

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Конструктор. Не осуществляет инициализацию каких-то данных, так что перегружается в классах-наследниках
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com


TPersistent - класс

Иерархия   Методы

Базовый класс всех объектов Delphi, допускающих операцию присваивания или участвующих своими свойствами в операциях с потоками

Модуль classes

Описание

Класс TPersistent инкапсулирует фундаментальные свойства объектов, которые должны иметь возможность присваиваться друг другу или читать и записывать свои свойства в поток. Методы класса TPersistent обеспечивают:

•	Определение процедур загрузки и сохранения данных в потоке.

•	Присваивание значений свойствам.

•	Присваивание содержимого одного объекта другому.

Объекты TPersistent создаваться не могут. Класс используется только для создания производных классов.

Класс TPersistent, является предшественником большинства классов Delphi и все классов компонентов, объявлен в модуле Classes с директивой {$M+}. Так что для всех классов, производных от него, заботиться о директиве {$M+}не приходится.


методы класса TPersistent
Основные методы класса TPersistent

Все методы   Tobject

Метод	Описание
Assign	Копирует данные одного объекта в другой
AssignTo	Защищенная реализация метода, аналогичного Assign
Define Properties	Виртуальный защищенный метод обмена данными с потоком.
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов.
GetOwner	Защищенный метод, возвращающий владельца объекта.
Из всех этих методов только Assign может непосредственно использоваться пользователем при работе с объектами. Остальные могут потребоваться только при создании новых классов.


методы класса TPersistent
Все методы класса TPersistent

Все методы   Tobject

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует данные одного объекта в другой
AssignTo	Защищенная реализация метода, аналогичного Assign
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Конструктор. Не осуществляет инициализацию каких-то данных, так что перегружается в классах-наследниках
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Define Properties	Виртуальный защищенный метод обмена данными с потоком
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetOwner	Защищенный метод, возвращающий владельца объекта
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstancea	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com


TComponent - класс
TComponent - базовый класс компонентов

Иерархия   Свойства    Методы

Базовый класс всех компонентов Delphi

Модуль classes

Описание

Класс TComponent является прародителем всех компонентов Delphi. Он инкапсулирует наиболее общие свойства и методы компонентов, включая:

•	Возможность включать компонент в палитру компонентов и работать с ним при визуальном проектировании.

•	Способность быть владельцем других компонентов или управляться другими компонентами.

•	Возможности обмена с потоками и файлами.

•	Возможность служить оболочкой элементов ActiveX и других объектов.

Объекты типа TComponent не создаются. Класс TComponent используется как базовый, когда объявляется класс невизуального компонента, который может присутствовать в палитре компонентов и применяться в процессе проектирования. Для создания визуальных компонентов в качестве базового используется класс TControl или его потомки. Для создания оконных компонентов в качестве базового используется класс TWinControl или его потомки.


свойства TComponent
Cвойства TComponent

TComponent

Свойство	Описание
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Components	Массив компонентов, которыми владеет данный компонент. Позволяет сослаться на любой компонент с помощью его ComponentIndex
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Name	Имя компонента, по которому производится ссылка на него из других компонентов. См. пример использования в разделе Components
Owner	Определяет владельца данного компонента
Tag	Это свойство не используется в Delphi. Разработчик может использовать его по своему усмотрению. См. Пример использования в разделе Components
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM


Методы класса TComponent
Основные методы TComponent

Все методы   TComponent

Метод	Описание
Assign	Копирует данные одного объекта в другой
AssignTo	Защищенная реализация метода, аналогичного Assign
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
Create	Вызов конструктора компонента
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
GetOwner	Возвращает владельца объекта
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Insert Component	Добавляет указанный компонент в конец списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца


Методы класса TComponent
Все методы TComponent

Основные методы   TComponent

Метод	Описание
_AddRef	Увеличение на 1 числа ссылок на интерфейс компонента COM
_Release	Уменьшение на 1 числа ссылок на интерфейс компонента COM
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует данные одного объекта в другой
AssignTo	Защищенная реализация метода, аналогичного Assign
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ChangeName	Метод, задающий новое имя компонента. Напрямую в приложениях не должен использоваться
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Вызов конструктора компонента
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Define Properties	Обмен данными с потоком
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetChildOwner	Возвращает владельца компонента, читаемого из потока
GetChild Parent	Возвращает родителя или, если его нет, то владельца компонента, читаемого из потока
GetChildren	Интерфейс методов, используемых оконными компонентами при работе с их дочерними компонентами
GetIDsOfNames	Обеспечивает интерфейс IDispatch
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetOwner	Возвращает владельца объекта
GetParent Component	Возвращает родителя компонента
GetTypeInfo	Возвращает информацию о типе объекта
GetTypeInfo Count	Возвращает число интерфейсов объекта
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invoke	Обеспечивает доступ к свойствам Automation для компонентов, поддерживающих интерфейс IDispatch
Loaded	Очищает флаг csLoading в свойстве ComponentState, указывающий на то, что компонент загружен из потока
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Notification	Предупреждение о получении сообщения дочерними компонентами. Явным образом в приложении не вызывается
Query Interface	Возвращает ссылку на указанный интерфейс, если этот интерфейс поддерживается объектом
ReadState	Читает данные компонента из потока. Непосредственно не вызывается
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает исключения OLE и Com
SetAncestor	Устанавливает или очищает флаг csAncestor свойства ComponentState. Непосредственно не вызывается
SetChildOrder	Устанавливает последовательность появления дочерних компонентов в списке, возвращаемом методом GetChildren
SetDesigning	Определяет, установлены ли в компоненте флаги режимов проектирования. Используется только в среде Delphi при проектировании форм
SetInline	Устанавливает бит csInline свойства ComponentState. Непосредственно не вызывается
SetName	Задает имя объекта Name. Вызывает ChangeName
SetParent Component	Интерфейс методов, изменяющих родителя компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
Updated	Очищает флаг csUpdating свойства ComponentState. Непосредственно не вызывается
Update Registry	Обеспечивает интерфейс для методов добавления библиотек типов. Непосредственно не вызывается
Updating	Устанавливает флаг csUpdating свойства ComponentState. Непосредственно не вызывается
Validate Container	Определяет, может ли компонент быть вставлен в контейнер. По умолчанию вызывает ValidateInsert
Validate Insert	Проверяет правильность дочернего компонента перед его вставкой в контейнер
Validate Rename	Гарантирует отсутствие конфликтов при переименовании компонента. Непосредственно не вызывается
WriteState	Записывает данные компонента в поток


TControl - класс
TControl - базовый класс визуальных компонентов

Иерархия   Свойства   Методы   События

Абстрактный базовый класс всех визуальных компонентов Delphi

Модуль controls

Описание

Класс TControl является базовым абстрактным классом для всех визуальных компонентов Delphi, т.е. для компонентов, которые пользователь может видеть и которыми манипулирует во время выполнения приложения. Все они имеют общие свойства, методы и события, определяющие место их размещения, расцветку, реакцию на нажатие клавиш или кнопок мыши и т.д.

Защищенные свойства и методы класса TControl используются в их потомках. Если требуется создать новый класс визуального компонента, его надо создавать как производный от TControl или от его потомков.


TControl - класс
Основные методы TControl

Все методы   TControl

Метод	Описание
Assign	Копирует данные одного объекта в другой
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
CanAutoSize	Автоматически вызывается при AutoSize = true и разрешает начать изменение размеров, начиная с событий OnCanResize и OnConstrainedResize, и кончая OnResize
Changed	Используется, чтобы послать сообщение CM_CHANGED родительскому компоненту, если в свойствах данного компонента сделаны какие-то изменения, на которые должен прореагировать родительский компонент
ChangeScale	Изменяет масштаб и расположение компонента
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClientTo Screen	Преобразует координаты клиентской области в коодинаты экрана
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dragging	Указывает, находится ли компонент в процессе перетаскивания
EndDrag	Завершает (успешно или неуспешно) перетаскивание
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FindComponent	Ищет в списке Components компонент с заданным именем
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
GetClient Origin	Возвращает координаты левого верхнего угла компонента
GetClientRect	Возвращает координаты клиентской области компонента
GetDockEdge	Возвращает координаты угла компонента, перетаскиваемого над данным компонентом
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаляет указанный компонент из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
SendCancel Mode	Прерывает модальное состояние элемента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
SetZOrder	Переносит компонент наверх или вниз Z-последовательности его родителя
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateBounds Rect	Изменяет, как и SetBounds, полное описание BoundsRect, но не перерисовывает изображение компонента на экране


TControl - класс
Все методы TControl

Основные методы   TControl

Метод	Описание
ActionChange	Вызывается автоматически при возникновении события OnChange, связанного с изменением действия, указанного в свойстве Action
AdjustSize	Автоматически вызывается, если свойство AutoSize равно true и требуется автоматическое изменение размеров компонента
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует данные одного объекта в другой
AssignTo	Защищенная реализация метода, аналогичного Assign
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginAutoDrag	Вызывается автоматически при щелчке левой кнопки мыши на компоненте, если при этом DragMode = dmAutomatic. Вызывает BeginDrag, передавая в него DragImmediate и DragThreshold
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
CanAutoSize	Автоматически вызывается при AutoSize = true и разрешает начать изменение размеров, начиная с событий OnCanResize и OnConstrainedResize, и кончая OnResize
CanResize	Вызывается автоматически для генерации события OnCanResize
Changed	Используется, чтобы послать сообщение CM_CHANGED родительскому компоненту, если в свойствах данного компонента сделаны какие-то изменения, на которые должен прореагировать родительский компонент
ChangeScale	Изменяет масштаб и расположение компонента
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Click	Генерирует событие OnClick
ClientTo Screen	Преобразует координаты клиентской области в коодинаты экрана
Constrained Resize	Вызывается автоматически для генерации события OnConstrainedResize
Create	Конструктор переопределен для задания начальных значений свойств компонента.
DblClick	Вызывает обработчик события OnDblClick при двойном щелчке мыши
DefaultDock Image	Вызывается методами DrawDragDockImage и EraseDragDockImage для прорисовки или уничтожения изображения компонента во время опраций Drag&Dock
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Define Properties	Метод обмена данными с потоком
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockTrackNo Target	Вызывается автоматически для прорисовки рамки перетаскиваемого компонента
DoDock	Вызывается автоматически для изменения компонента при его встраивании
DoContext Popup	Генерирует событие OnContextPopup
DoEndDock	Генерирует событие OnEndDock
DoEndDrag	Генерирует событие OnEndDrag
DoStartDock	Генерирует событие OnStartDock
DoStartDrag	Генерирует событие OnStartDrag
DragCanceled	Обеспечивает интерфейс к методам завершения перетаскивания
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DragOver	Генерирует событие OnDragOver
DrawDragDock Image	Вызывается автоматически для прорисовки компонента в процессе Drag&Dock
DrawTextBiDi ModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EndDrag	Завершает (успешно или неуспешно) перетаскивание
EraseDragDock Image	Вызывается автоматически для стирания изображения компонента в процессе Drag&Dock
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем.
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetActionLink Class	Возвращает класс действия, связанного с данным компонентом. Явным образом не вызывается
GetClient Origin	Возвращает координаты левого верхнего угла компонента
GetClientRect	Возвращает координаты клиентской области компонента
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetDevice Context	Возвращает дескриптор окна
GetDockEdge	Возвращает координаты угла компонента, перетаскиваемого над данным компонентом
GetDragImages	Возвращает список изображений, используемый для изображения компонента во время перетаскивания
GetEnabled	Возвращает значение свойства Enabled
GetFloating	Возвращает значение свойства Floating
GetFloating DockSiteClass	Возвращает класс, используемый компонентом в состоянии плавающего окна
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetPalette	Возвращает дескриптор палитры, используемой компонентом
GetParent Component	Возвращает родителя компонента
GetPopupMenu	Возвращает значение свойства Popup - связанного с компонентом всплывающего меню
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRightToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
Loaded	Инициализирует компонент после его загрузки из потока. Явным образом не вызывается
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseDown	Генерирует событие OnMouseDown
MouseMove	Генерирует событие OnMouseMove
MouseUp	Генерирует событие OnMouseUp
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Notification	Ответ на предупреждение о создании или уничтожении компонентов
Palette Changed	Ответ компонента на изменение системной палитры
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обрабаботчик этого сообщения в компоненте
PositionDock Rect	Позиционирует рамку встроенного компонента применительно к его состоянию в процессе Drag&Doc
ReadState	Читает данные компонента из потока. Непосредственно не вызывается
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаляет указанный компонент из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Repaint	Немедленно перерисовывает компонент на экране, вызывая при необходимости метод Invalidate
ReplaceDocked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
RequestAlign	Компонент вызывает этот метод, чтобы известить родителя о необходимости выравнивания при изменении своих размеров или местоположения. В приложении этот метод не вызывается
Resize	Генерирует событие OnResize
SafeCall Exception	Обрабатывает исключения OLE и Com
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
SendCancel Mode	Прерывает модальное состояние элемента
SendDock Notification	Посылает указанное сообщение Windows контейнеру, в который встроен компонент. Вызывается автоматически при изменении текста или видимости компонента
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBiDiMode	Устанавливает режим двунаправленного отображения компонента (слева направо и справа налево). Используется в приложениях для стран Востока
SetBounds	Задает сразу 4 свойства: Left, Top, Width и Height. Генерирует события OnCanResize, OnConstrainedResize, OnResize, обработчики которых могут изменить заданные значения
SetDragMode	Устанавливает значение свойства DragMode, определяющего режим начала перетаскивания: dmAutomatic - автоматическое, dmManual - программное с помощью метода BeginDrag
SetEnabled	Устанавливает значение свойства Enabled
SetName	Устанавливает значение свойства Name
SetParent	Устанавливает значение свойства Parent
SetParentBiDi Mode	Устанавливает значение свойства ParentBiDiMode
SetParent Component	Задает родителя компонента. Непосредственно вызываться не должен. Используется при чтении и сохранении компонентов в потоке
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
SetZOrder	Переносит компонент наверх или вниз Z-последовательности его родителя
Show	Делает видимым невидимый компонент
Update	Немедленно перерисовывает изображение компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateBounds Rect	Изменяет, как и SetBounds, полное описание BoundsRect, но не перерисовывает изображение компонента на экране
UseRightTo LeftAlignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на комьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на комьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на комьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign
Visible Changing	Обеспечивает интерфейс к методам, изменяющим видимость компонента. Вызывается автоматически перед изменением свойства Visible
WndProc	Обработчик указанного сообщения Windows. Используется для инициализации свойства WindowProc


TControl - основные свойства
Основные свойства TControl

Все свойства   TControl

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом.
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте).
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего.
AutoSize	Определяет, будут ли размеры компонента автоматически адаптироваться к его содержанию
BoundsRect	Определяет координаты углов компонента в координатах содержащего его контейнера.
Caption	Строка текста, идентифицирующая компонент для пользователя. Обычно это надпись на метке, кнопке и др. компонентах.
ClientHeight	Высота клиентской области в пикселях.
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента. Свойство только для чтения.
ClientRect	Определяет координаты углов клиентской области компонента.
ClientWidth	Горизонтальный размер клиентской области в пикселях.
Color	Цвет фона компонента.
Constraints	Позволяет задавать ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
Cursor	Определяет вид курсора мыши, при попадании его в область компонента
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания.
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc.
DragMode	Определяет поведение компонента в процессе перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Font	Определяет атрибуты шрифта.
Height	Высота компонента в пикселях.
Hint	Определяет текст подсказки
Left	Координата левого края компонента в пикселях.
Name	Имя компонента.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent.
ParentFont	Включает и выключает использование шрифта родительского компонента.
ParentShow Hint	Включает и выключает использование свойства ShowHint родительского компонента.
PopupMenu	Определяет связанный с компонентом объект всплывающего меню.
ShowHint	Разрешает или запрещает показывать окно подсказки.
Text	Текст, связанный с данным компонентом
Top	Координата верхнего края компонента в пикселях
Visible	Делает компонент видимым или невидимым
Width	Горизонтальный размер компонента в пикселях
WindowText	Содержит текст, связанный с данным компонентом


TControl - все свойства
Все свойства TControl

Основные свойства   TControl

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом
ActionLink	Объект связи действия с компонентом. Используется только во время проектирования
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoSize	Определяет, будут ли размеры компонента автоматически адаптироваться к его содержанию
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет координаты углов компонента в координатах содержащего его контейнера
Caption	Строка текста, идентифицирующая компонент для пользователя. Обычно это надпись на метке, кнопке и др. компонентах
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Координаты положения на экране левого верхнего угла клиентской области компонента. Свойство только для чтения.
ClientRect	Определяет координаты углов клиентской области компонента
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Цвет фона компонента
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Components	Массив компонентов, которыми владеет данный компонент. Позволяет сослаться на любой компонент с помощью его ComponentIndex
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlState	Характеризует текущее состояние компонента во время выполнения приложения. Используется при создании новых классов
ControlStyle	Определяет характеристики стиля компонента. Используется при создании новых классов
Cursor	Определяет вид курсора мыши, при попадании его в область компонента
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DesktopFont	Определяет, использует ли компонент для отображения текста изображение шрифта Windows.
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером
Floating	Определяет, находится ли компонент в состоянии "плавающего" окна. Свойство только для чтения
FloatingDock SiteClass	Определяет класс временного компонента, управляющего плавающим окном
Font	Определяет атрибуты шрифта
Height	Высота компонента в пикселях
Hint	Содержит текст, отображаемый в окне подсказки или в строке состояния
HostDockSite	Определяет контейнер, в который встроен данный компонент
IsControl	Определяет, сохраняет ли форма свои специфические свойства в поток. Свойство защищенное. Используется при создании новых компонентов
Left	Координата левого края компонента в пикселях
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
MouseCapture	Определяет, может ли компонент захватываться мышью. Свойство защищенное. Используется при создании новых компонентов
Name	Имя компонента
Owner	Определяет владельца данного компонента
Parent	Определяет родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование свойства ShowHint родительского компонента
PopupMenu	Определяет связанный с компонентом объект всплывающего меню
ScalingFlags	Показывает, какие атрибуты компонента еще не отмасштабированы. Используется при разработке новых компонентов
ShowHint	Разрешает или запрещает показывать окно подсказки.
Tag	Свойство, используемое пользователем по своему усмотрению
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Text	Текст, связанный с данным компонентом
Top	Координата верхнего края компонента в пикселях.
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Делает компонент видимым или невидимым.
Width	Горизонтальный размер компонента в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов
WindowText	Содержит текст, связанный с данным компонентом


TControl - основные события
Основные события TControl

Все события   TControl

Событие	Описание
OnClick	Наступает при щелчке на компоненте и некоторых других действиях пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает при отпускании перетаскиваемого компонента
OnDragOver	Наступает при перетаскивании объекта над компонентом
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnMouseDown	Наступает при нажатии кнопки мыши над объектом
OnMouseMove	Наступает при перемещении указателя мыши над объектом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDrag	Наступает при начале перетаскивания объекта


TControl - все события
Все события TControl

Основные события   TControl

Событие	Описание
OnCanResize	Наступает перед изменением размера компонента. В обработчике можно задать новое значение ширины (NewWidth), высоты (NewHeight) и можно отказаться от изменения размеров (Resize = false)
OnClick	Наступает при щелчке на компоненте и некоторых других действиях пользователя
OnConstrained Resize	Наступает сразу после события OnCanResize. Позволяет задать новые максимальные и минимальные значения ширины и высоты, которые будут учитываться при изменении размера компонента
OnContext Popup	Наступает при щелчке правой кнопкой мыши на компоненте или при любом другом способе вызова контекстного всплывающего меню. Обработчик события может использоваться для изменения меню, в частности, в зависимости от позиции курсора мыши
OnDblClick	Наступает при двойном щелчке на компоненте
OnDragDrop	Наступает при отпускании перетаскиваемого компонента
OnDragOver	События относятся ко времени, в течение которого пользователь перемещает перетаскиваемый объект над компонентом
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnMouseDown	Наступает при нажатии кнопки мыши над объектом
OnMouseMove	Наступает при перемещении указателя мыши над объектом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnResize	Наступает сразу после изменения размера компонента. Для каких-то действий до изменения размеров следует использовать события OnCanResize и OnConstrainedResize
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта


TWinControl - класс
TWinControl - базовый класс оконных компонентов

Иерархия   Свойства   Методы   События

Абстрактный базовый класс всех оконных компонентов

Модуль controls

Описание

Класс TWinControl является базовым абстрактным классом для всех оконных компонентов Delphi, т.е. для компонентов, которые:

•	Могут получать фокус во время выполнения приложения. Другие компоненты могут отображать данные, но пользователь не может общаться с компонентом с помощью клавиатуры, если это не оконный компонент.

•	Могут содержать другие компоненты, т.е. быть компонентами-контейнерами, компонентами-родителями других, дочерних компонентов.

•	Имеют дескрипторы окна.

Новые компоненты редко создаются непосредственно на основе TWinControl. Обычно они основываются на производных классах, таких, как TCustomControl, имеющий канву и обработку сообщений прорисовки, или на более специализированных классах типа TButtonControl, TCustomComboBox, TCustomEdit или TCustomListBox.


TWinControl - основные свойства
Основные свойства TWinControl

Все свойства   TControl

Свойство	Описание
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
Brush	Определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Экранные координаты левого верхнего угла клиентской области компонента. Свойство только для чтения.
ClientRect	Содержит размер клиентской области компонента. Свойство только для чтения.
ClientWidth	Горизонтальный размер клиентской области в пикселях
Constraints	Позволяет задавать ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения.
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским.
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
HelpContext	Номер контекстно-зависимой встроенной справки.
Hint	Определяет текст подсказки
Left	Координата левого края компонента в пикселях.
Parent	Определяет родительский компонент, в площади которого располагается данный компонент
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D.
ShowHint	Включает и выключает использование свойства ShowHint родительского компонента.
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Top	Координата верхнего края компонента в пикселях
Visible	Делает компонент видимым или невидимым
Width	Горизонтальный размер компонента в пикселях


TWinControl - все свойства
Все свойства TWinControl

Основные свойства   TControl

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
BevelEdges	Определяет, какая граница компонента будет иметь обрамление. Является множеством, которое может содержать beLeft - левая, beTop - верхняя, beRight - правая, beBottom - нижняя
BevelInner	Определяет выпуклый, утопленный или плоский вид внутренней части компонента
BevelKind	Определяет в комбинации с BevelWidth, BevelInner и BevelOuter тип обрамления компонента
BevelOuter	Определяет выпуклый, утопленный или плоский вид обрамления компонента
BevelWidth	Определяет ширину обрамления компонента в пикселях
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BorderWidth	Расстояние в пикселях между наружной и внутренней кромками обрамления
BoundsRect	Определяет координаты углов компонента в координатах содержащего его контейнера
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Экранные координаты левого верхнего угла клиентской области компонента. Свойство только для чтения.
ClientRect	Содержит размер клиентской области компонента. Свойство только для чтения.
ClientWidth	Горизонтальный размер клиентской области в пикселях
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Components	Массив компонентов, которыми владеет данный компонент. Позволяет сослаться на любой компонент с помощью его ComponentIndex
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component 32 Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Характеризует текущее состояние компонента во время выполнения приложения. Используется при создании новых классов
ControlStyle	Определяет характеристики стиля компонента. Используется при создании новых классов
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет вид курсора мыши, при попадании его в область компонента
DefWndProc	Указатель, используемый функцией CallWindowProc API Windows для процедуры по умолчанию обработки сообщений Windows
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
DockManager	Указывает на диспетчер встраивания, который управляет процессами Drag&Doc. Диспетчер создается методом CreateDockManager. DockManager быть nil, если DockSite или UseDockManager равно false
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии плавающего окна. Свойство только для чтения
FloatingDock SiteClass	Определяет класс временного компонента, управляющего плавающим окном
Handle	Дескриптор оконного элемента, используемый при вызове функций API Windows. Свойство только для чтения.
Height	Высота компонента в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Определяет текст подсказки
HostDockSite	Определяет контейнер, в который встроен данный компонент
ImeMode	Определяет режим работы входного редактора метода IME - (input method editor).IME - внешний входной процессор для Азиатских языковых символов IME  - иероглифов, преобразующий их в код, пригодный для использования в приложениях Delphi.
ImeName	Указывает входной редактор метода (IME) для преобразования данных, вводимых  с клавиатуры в Азиатские языковые символы. IME - внешний входной процессор для Азиатских языковых символов. Значение ImeName определяет, какой IME используется для преобразования нажатий клавиши. IME перехватывает нажатия клавиш клавиатуры, преобразует их в Азиатские символы в конверсионном окне и посылает преобразованные символы в Delphi приложения.
Left	Координата левого края компонента в пикселях.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому производится ссылка на него из других компонентов. См. пример использования в разделе Components
Owner	Определяет владельца данного компонента
Parent	Определяет родительский компонент, в площади которого располагается данный компонент
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TActiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
ShowHint	Включает и выключает использование свойства ShowHint родительского компонента.
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения.
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Это свойство не используется в Delphi. Разработчик может использовать его по своему усмотрению. См. Пример использования в разделе Components
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UseDock Manager	Указывает, используется ли диспетчер встраивания DockManager в процессе Drag&Doc
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
Visible	Делает компонент видимым или невидимым
VisibleDock ClientCount	Число видимых компонентов, встроенных в данное окно
Wheel Accumulator	Используется в обработчике события OnMouseWheel для определения числа вращений шарика мыши
Width	Горизонтальный размер компонента в пикселях
WindowHandle	То же, что Handle, но это свойство можно читать и изменять.
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


TWinControl - основные методы
Основные методы TWinControl

Все методы   TControl

Метод	Описание
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ChangeScale	Изменяет масштаб компонента и его дочерних компонентов
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента.
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции.
DisableAlign	Временно запрещает выравнивание компонентов в оконном элементе
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
FindNext Control	Возвращает очередной оконный компонент в последовательности табуляции
Focused	Определяет, находтся ли оконный элемент в фокусе.
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции.
HandleAllocate	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
Invalidate	Сообщает о необходимости перерисовки компонентов.
Realign	Выравнивает компоненты в оконном элементе.
Repaint	Перерисовывает изображение компонента на экране с помощью Invalidate.
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты
Scale Controls	Изменяет масштаб компонентов в оконном элементе, не изменяя масштаба самого оконного элемента
ScrollBy	Сдвигает содержимое оконного элемента
SelectFirst	Передает фокус дочернему компоненту, первому в последовательности табуляции.
SelectNext	Передает фокус компоненту, следующему в последовательности табуляции.
SetBounds	Задает координаты и размеры элемента
SetChild Order	Изменяет позицию компонента в списке дочерних компонентов.
SetFocus	Передает фокус элементу
SetZOrder	Перемещает компонент на верх или в низ Z-последовательности.
Update	Немедленная перерисовка компонента.


TWinControl - все методы
Все методы TWinControl

Основные методы   TControl

Метод	Описание
ActionChange	Вызывается автоматически при возникновении события OnChange, связанного с изменением действия, указанного в свойстве Action
AddBiDiMode ExStyle	Устанавливает флаги поддержки двунаправленного режима, используемого для языков Востока
AdjustClient Rect	Вызывается внутренне для получения детальной информации о дочерних компонентах
AdjustSize	Автоматически вызывается, если свойство AutoSize равно true и требуется автоматическое изменение размеров компонента
After Construction	Вызывается автоматически после создания объекта
Align Controls	Выравнивает все дочерние компоненты в пределах указанной области в соответствии с их свойствами Align
Assign	Копирует данные одного объекта в другой
AssignTo	Защищенная реализация метода, аналогичного Assign
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanAutoSize	Автоматически вызывается при AutoSize = true и разрешает начать изменение размеров, начиная с событий OnCanResize и OnConstrainedResize, и кончая OnResize
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
CanResize	Вызывается автоматически для генерации события OnCanResize
ChangeScale	Изменяет масштаб компонента и его дочерних компонентов
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в коодинаты экрана
Constrained Resize	Вызывается автоматически для генерации события OnConstrainedResize
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Конструктор переопределен для задания начальных значений свойств компонента
CreateDock Manager	Создает объект, на который может ссылаться свойство DockManager
CreateHandle	Вызывает метод CreateWnd для создания родительского окна, если данный компонент имеет родителя. Дескриптор окна присваивается свойству Handle. Если свойство Parent равно nil, генерируется исключение
CreateParams	Автоматически вызывается методом CreateWnd
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create SubClass	Создает оконный элемент, наследующий существующему классу
CreateWindow Handle	Вызывается в методе CreateWnd
CreateWnd	Автоматически вызывается при первом создании оконного компонента или при его повторном создании после изменения каких-то свойств
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy Handle	Уничтожает окно компонента, не уничтожая сам компонент. В последующем окно может быть повторно создано методом CreateHandle
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Destroy WindowHandle	Уничтожает окно, созданное методом CreateWindowHandle
DestroyWnd	Уничтожает окно, сохраняя его текст в памяти и вызывая затем DestroyWindowHandle. В дальнейшем окно может быть восстановлено методом CreateWnd
DisableAlign	Временно запрещает выравнивание дочерних компонентов в окне
Dispatch	Вызывает обработчик сообщения, полученного объектом
DoAddDock Client	Вызывается автоматически при встраивании компонента в окно контейнера
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DockOver	Автоматически вызывается для контейнера встраивания, когда над ним перетаскивается компонент. Из DockOver вызывается DoDockOver, генерирующий событие OnDockOver
DoDockOver	Генерирует событие OnDockOver
DoEnter	Генерирует событие OnEnter
DoExit	Генерирует событие OnExit
DoFlip Children	Зеркально отображает дочерние компоненты
DoKeyDown	Генерирует событие OnKeyDown
DoKeyPress	Генерирует событие OnKeyPress
DoKeyUp	Генерирует событие OnKeyUp
DoMouseWheel	Вызывается автоматически при вращении колесика мыши. Генерирует событие OnMouseWheel, а если оно остается необработанным, то генерируется OnMouseWheelUp или OnMouseWheelDown
DoMouseWheel Down	Генерирует событие OnMouseWheelDown
DoMouseWheel Up	Генерирует событие OnMouseWheelUp
DoRemoveDock Client	Вызывается автоматически при освобождении встроенного компонента из контейнера
DoUnDock	Извлекает встроенный компонент из его контейнера и переносит в новый контейнер на место другого компонента, имеющегося в нем. Генерирует событие OnUndock
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawText BiDiModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
EndDrag	Завершает (успешно или неуспешно) перетаскивание
Execute Action	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочерний компонент, указанный его именем
Find Component	Ищет в списке Components компонент с заданным именем
FindNext Control	Возвращает очередной в последовательности табуляции оконный компонент, следующий за указанным компонентом
FixupTabList	Сортирует дочерние компоненты в последовательности табуляции
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находтся ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOn Release	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetAction LinkClass	Возвращает класс действия, связанного с данным компонентом. Явным образом не вызывается
GetChildren	Интерфейс методов, используемых оконными компонентами при работе с их дочерними компонентами
GetClient Origin	Возвращает координаты левого верхнего угла компонента
GetClient Rect	Возвращает координаты клиентской области компонента
GetControl Extents	Возвращает прямоугольник минимального размера, в который вписываются все дочерние компоненты
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetDevice Context	Возвращает дескриптор окна
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetParent Component	Возвращает родителя компонента
GetParent Handle	Возвращает дескриптор родительского окна компонента
GetSiteInfo	Генерирует событие OnGetSiteInfo
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
GetTopParent Handle	Возвращает дескриптор первого окна, не относящегося к VCL и содержащего данный оконный компонент
Handle Allocate	Проверяет наличие дескриптора окна компонента
HandleNeeded	Создает дескриптор окна, если он до этого не существовал
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
Insert Control	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsControl MouseMsg	Определяет, имеется ли дочерний компонент, обрабатывающий указанное сообщение мыши
IsRight ToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
KeyDown	Генерирует событие OnKeyDown
KeyPress	Генерирует событие OnKeyPress
KeyUp	Генерирует событие OnKeyUp
MainWndProc	Вызывает методы обработки сообщения WindowProc. Если сообщение не обработано, оно передается обработчику приложения его методом HandleException
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
Method Address	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Notify Controls	Посылает указанное сообщение всем дочерним компонентам
Paint Controls	Перерисовывает все дочерние компоненты
PaintHandler	Автоматически вызывается при получении сообщения WM_PAINT. Вызывает функции BeginPaint и EndPaint API, а между этими вызовами заполняет фон с помощью PaintWindow и перерисовывает дочерние компоненты методом PaintControls
PaintTo	Рисует компонент в заданное устройство
PaintWindow	Перерисовывает указанное окно, посылая ему сообщение WM_PAINT методом DefaultHandler
Palette Changed	Ответ компонента на изменение системной палитры
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обрабаботчик этого сообщения в компоненте
ReadState	Читает данные компонента из потока. Непосредственно не вызывается
Realign	Выравнивает компоненты в оконном элементе
RecreateWnd	Уничтожает окно, связанное с оконным компонентом, но затем оно может быть восстановлено, чтобы отобразить какие-то изменения в нем
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
ReloadDocked Control	Позволяет получить ссылку на компонент, владельцем которого является данный оконный компонент
Remove Component	Удаляет указанный компонент из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Remove Control	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Перерисовывает изображение компонента на экране с помощью Invalidate.
Replace Docked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
ResetIme	Восстанавливает входной редактор метода IME - (input method editor), который был активен при старте приложения. Используется для языков Востока
ResetIme Composition	Используется для языков Востока при работе с входным редактором метода IME - (input method editor)
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
Scale Controls	Изменяет масштаб компонентов в оконном элементе, не изменяя масштаба самого оконного элемента.
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
SelectFirst	Передает фокус дочернему компоненту, первому в последовательности табуляции.
SelectNext	Передает фокус компоненту, следующему в последовательности табуляции.
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает координаты и размеры элемента.
SetChild Order	Изменяет позицию компонента в списке дочерних компонентов.
SetFocus	Передает фокус элементу
SetIme	Активизирует входной редактор метода (IME) для преобразования данных, вводимых  с клавиатуры в Азиатские языковые символы
SetIme Composition Window	Устанавливает шрифт и позицию окна композиции для входного редактора метода (IME), используемого для языков Востока
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
SetZOrder	Перемещает компонент на верх или в низ Z-последовательности.
Show	Делает видимым невидимый компонент
ShowControl	Делает видимым указанный дочерний компонент
Update	Немедленная перерисовка компонента
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
Update ControlState	Используется внутри класса для отображения дочерних компонентов
UseRight ToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на комьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRight ToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на комьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign
WndProc	Обработчик указанного сообщения Windows. Используется для инициализации свойства WindowProc


TWinControl - основные события
Основные события TWinControl

Все события   TControl

Событие	Описание
OnEnter	Событие при получении элементом фокуса.
OnExit	Событие при потери элементом фокуса.
OnKeyDown	Событие при нажатии либой клавиши или кнопки мыши.
OnKeyPress	Событие при нажатии клавиши символа.
OnKeyUp	Событие при отпускании клавиши.


TWinControl - все события
Все события TWinControl

Основные события   TControl

Событие	Описание
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потери элементом фокуса
OnGetSite Info	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnKeyDown	Наступает при нажатии либой клавиши или кнопки мыши
OnKeyPress	Наступает при нажатии клавиши символа
OnKeyUp	Наступает при отпускании клавиши
OnMouse Wheel	Наступает при вращении шарика мыши
OnMouse WheelDown	Наступает при вращении шарика мыши вниз, если не было обработано событие OnMouseWheel
OnMouse WheelUp	Наступает при вращении шарика мыши вверх, если не было обработано событие OnMouseWheel
OnUnDock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


TFrame - компонент

Иерархия   Свойства   Методы   События

Контейнер компонентов со свойствами наследования

Модуль forms

Описание

Фрейм представляет собой нечто среднее между панелью и формой. С формой его роднит то, что он:

•	проектируется отдельно, как самостоятельное окно

•	имеет свой модуль - файл .pas

•	имеет возможности наследования, причем даже более широкие, чем у формы, так как может наследоваться даже внутри одного приложения

•	может включаться в Депозитарий и использоваться так же, как и форма, включая наследование

С панелью фрейм роднит то, что он:

•	не является самостоятельным окном Windows и может отображаться только на форме или другом контейнере

•	имеет свойства, методы, события, подобные панели, а не форме

Таким образом, фрейм - это панель, т.е. некий фрагмент окна приложения, но способный переноситься на разные формы, в разные приложения и допускающий использование преимуществ наследования.

Начать проектирование нового фрейма можно командой File | New Frame или командой File | New и выбором пиктограммы Frame на странице New окна Депозитария. В обоих случаях перед вами откроется окно фрейма, подобное окну формы, в который вы можете переносить любые компоненты, как на форму.

Размещение спроектированного фрейма на форме производится выбором в палитре компонентов на странице Stanlard пиктограммы Frame. Появится диалоговое окно, в котором будет спрашиваться, какой фрейм вы хотите разместить на форме. Выберите ваш фрейм и он появится на форме.

Любые изменения, которые вы делаете во фрейме, отобразятся во всех экземплярах фрейма, размещенных на форме, если только вы не изменили в них какие-то свойства вручную.


Основные свойства TFrame

Полный список    TFrame

Свойство	Описание
AutoScroll	Указывает, будут ли автоматически появляться полосы прокрутки, если размеры фрейма не позволяют отобразить все размещенные на нем компоненты
HorzScroll Bar	Позволяет скрыть, отобразить и манипулировать горизонтальной полосой прокрутки
VertScroll Bar	Позволяет скрыть, отобразить и манипулировать вертикальной полосой прокрутки


Все свойства TFrame

Основные свойства TFrame

Свойство	Описание
Action	Определяет действие, связанное с данным управляющим элементом
Align	Определяет способ выравнивания компонента в контейнере (родительском компоненте)
Anchors	Определяет привязку данного компонента к родительскому при изменении размеров последнего
AutoScroll	Указывает, будут ли автоматически появляться полосы прокрутки, если размеры фрейма не позволяют отобразить все размещенные на нем компоненты
AutoSize	Определяет, будут ли размеры компонента автоматически адаптироваться к его содержанию
BiDiMode	Определяет двунаправленный характер компонента. По умолчанию равно bdLeftToRight, что характерно для европейских языков. Другие значения используются для стран Востока
BoundsRect	Определяет координаты углов компонента в координатах содержащего его контейнера
Brush	Кисть - определяет цвет и стиль заполнения фона окна. Свойство только для чтения
ClientHeight	Высота клиентской области в пикселях
ClientOrigin	Экранные координаты левого верхнего угла клиентской области компонента. Свойство только для чтения.
ClientRect	Содержит размер клиентской области компонента. Свойство только для чтения.
ClientWidth	Горизонтальный размер клиентской области в пикселях
Color	Цвет фона компонента
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Components	Массив компонентов, которыми владеет данный компонент. Позволяет сослаться на любой компонент с помощью его ComponentIndex
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component 19 Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Constraints	Позволяет задавать ограничения на допустимые изменения размеров компонента при изменениях размеров окна приложения
ControlCount	Число дочерних компонентов данного оконного элемента. Свойство только для чтения
Controls	Массив дочерних компонентов оконного элемента. Свойство только для чтения
ControlState	Характеризует текущее состояние компонента во время выполнения приложения. Используется при создании новых классов
ControlStyle	Определяет характеристики стиля компонента. Используется при создании новых классов
Ctl3D	Определяет, будет ли компонент выглядеть объемным или плоским
Cursor	Определяет вид курсора мыши, при попадании его в область компонента
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DockClient Count	Число компонентов, встроенных в данное окно
DockClients	Массив компонентов, встроенных в данное окно
Dock Orientation	Определяет позицию данного встраиваемого компонента относительно других встроенных компонентов
DockSite	Определяет, может ли компонент быть приемником в операциях Drag&Doc
Double Buffered	Определяет, будет ли изображение компонента рисоваться непосредственно в окне (при DoubleBuffered = false), или сначала заноситься в битовую матрицу в памяти. Последнее уменьшает эффекты мерцания при перерисовке изображения, но требует дополнительных затрат памяти
DragCursor	Определяет вид курсора мыши, при попадании его в область компонента в процессе перетаскивания
DragKind	Определяет, будет ли объект перетаскиваться по технологии Drag&Drop, или Drag&Doc
DragMode	Определяет поведение компонента в процессе перетаскивания
Enabled	Определяет, реагирует ли компонент на события, связанные с мышью, клавиатурой и таймером.
Floating	Определяет, находится ли компонент в состоянии плавающего окна. Свойство только для чтения
FloatingDock SiteClass	Определяет класс временного компонента, управляющего плавающим окном
Font	Определяет атрибуты шрифта
Handle	Дескриптор оконного элемента, используемый при вызове функций API Windows. Свойство только для чтения.
Height	Высота компонента в пикселях
HelpContext	Номер контекстно-зависимой встроенной справки
Hint	Определяет текст подсказки
HorzScroll Bar	Позволяет скрыть, отобразить и манипулировать горизонтальной полосой прокрутки
HostDockSite	Определяет контейнер, в который встроен данный компонент
Left	Координата левого края компонента в пикселях.
LRDockWidth	Ширина компонента, когда он в последний раз размещался в контейнере горизонтально. Свойство только для чтения
Name	Имя компонента, по которому производится ссылка на него из других компонентов. См. пример использования в разделе Components
Owner	Определяет владельца данного компонента
Parent	Определяет родительский компонент, в площади которого располагается данный компонент
ParentBiDi Mode	Указывает, использует ли компонент родительский BiDiMode
ParentColor	Определяет, что для компонента будет заимствован цвет родительского компонента. См. разделы Color и Parent
ParentCtl3D	Управляет наследованием родительского свойства Ctl3D
ParentFont	Включает и выключает использование шрифта родительского компонента
ParentShow Hint	Включает и выключает использование свойства ShowHint родительского компонента
ParentWindow	Дескриптор родительского окна, не являющегося визуальным компонентом, например TActiveXControl. Если свойство Parent не nil, то значение ParentWindow игнорируется
PopupMenu	Определяет связанный с компонентом объект всплывающего меню
ShowHint	Включает и выключает использование свойства ShowHint родительского компонента.
Showing	Определяет, виден ли компонент в данный момент. Свойство только для чтения.
TabOrder	Указывает позицию компонента в последовательности табуляции
TabStop	Определяет, может ли пользователь перевести фокус на компонент клавишей табуляции
Tag	Это свойство не используется в Delphi. Разработчик может использовать его по своему усмотрению. См. Пример использования в разделе Components
TBDockHeight	Высота компонента, когда он в последний раз размещался в контейнере вертикально. Свойство только для чтения
Top	Координата верхнего края компонента в пикселях
UndockHeight	Высота компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
UndockWidth	Ширина компонента, которая была в последний раз, когда он отображался плавающим окном. Свойство только для чтения
VCLComObject	Используется только в среде Delphi для компонентов, поддерживающих стандарт COM
VertScroll Bar	Позволяет скрыть, отобразить и манипулировать вертикальной полосой прокрутки
Visible	Делает компонент видимым или невидимым
VisibleDock ClientCount	Число видимых компонентов, встроенных в данное окно
Width	Горизонтальный размер компонента в пикселях
WindowProc	Содержит оконную процедуру обработки сообщений, поступающих компоненту. Используется при создании новых компонентов


TFrame- основные методы
Основные методы TFrame

Все методы   TFrame

Метод	Описание
Disable AutoRange	Временно запрещает автоматическую прокрутку при перестроении компонентов на фрейме
Enable AutoRange	Включает автоматическую прокрутку, выключенную ранее методом DisableAutoRange
ScrollInView	Прокручивает область фрейма так, чтобы на ней был виден указанный компонент


TFrame- все методы
Все методы TFrame

Основные методы   TFrame

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует данные одного объекта в другой
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginDrag	Начинает процесс перетаскивания компонента
BringToFront	Переносит компонент в Z-последовательности выше других компонентов в том же контейнере
Broadcast	Посылает указанное сообщение всем дочерним компонентам
CanFocus	Определяет, может ли компонент получать фокус, т.е. получать сообщения пользователя
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClientTo Screen	Преобразует координаты клиентской области в коодинаты экрана
Contains Control	Определяет, является ли указанный компонент прямым или косвенным наследником данного оконного элемента
ControlAtPos	Возвращает дочерний компонент, находящийся в указанной позиции
Create	Конструктор переопределен для задания начальных значений свойств компонента
Create Parented	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Create Parented Control	Создает и инициализирует компонент как дочерний компонент окна, не описанного в VCL
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
DisableAlign	Временно запрещает выравнивание дочерних компонентов в окне
Disable AutoRange	Временно запрещает автоматическую прокрутку при перестроении компонентов на фрейме
Dispatch	Вызывает обработчик сообщения, полученного объектом
Dock	Используется внутри класса для встраивания. Вызваться явным образом должен другой метод - ManualDock
DockDrop	Генерирует событие OnDockDrop
DragDrop	Генерирует событие OnDragDrop
Dragging	Указывает, находится ли компонент в процессе перетаскивания
DrawText BiDiModeFlags	Возвращает флаги текста, отображающие текущие установки BiDiMode
DrawTextBiDi ModeFlags ReadingOnly	Вызывается для определения, нужно ли добавлять флаг DT_RTLREADING При вызове функции DrawText API Windows или при задании свойства TextFlags канве
EnableAlign	Отменяет действие предварительно вызванного метода DisableAlign и вызывает Realign для выравнивания компонентов
Enable AutoRange	Включает автоматическую прокрутку, выключенную ранее методом DisableAutoRange
EndDrag	Завершает (успешно или неуспешно) перетаскивание
Execute Action	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindChild Control	Возвращает дочерний компонент, указанный его именем
Find Component	Ищет в списке Components компонент с заданным именем
FlipChildren	Зеркально переставляет дочерние компоненты в окне, изменяя, если требуется, их свойства Align
Focused	Определяет, находтся ли оконный элемент в фокусе
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOn Release	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetControls Alignment	Показывает способ выравнивания текста (значение Alignment) компонента
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetParent Component	Возвращает родителя компонента
GetTabOrder List	Строит список дочерних компонентов в последовательности табуляции.
GetTextBuf	Записывает в заданный буфер фиксированного размера значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
GetTextLen	Возвращает длину строки свойства Text, необходимую для задания размера буфера в методе GetTextBuf
Handle Allocate	Проверяет наличие дескриптора окна компонента.
HandleNeeded	Создает дескриптор окна, если он до этого не существовал.
HasParent	Указывает, имеет ли компонент родителя
Hide	Делает компонент невидимым
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
Initiate Action	Инициирует последовательность событий при выполнении действия Action
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
Insert Control	Вставляет указанный компонент в массив Controls данного компонента. Вместо вызова InsertControl лучше использовать свойство Parent
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
Invalidate	Сообщает Windows о необходимости полностью перерисовать компонент после того, как будут обработаны другие важные сообщения Windows
IsRight ToLeft	Указывает, должен ли компонент отображаться справа налево для стран Среднего Востока
ManualDock	Извлекает компонент из его контейнера и встраивает в новый указанный оконный компонент
ManualFloat	Переводит компонент в состояние плавающего окна с заданными координатами
Method Address	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MouseWheel Handler	Вызывается из WndProc при получении сообщения от шарика мыши. Если на форме имеются оконные компоненты, то вызывается метод MouseWheelHandler формы. Это позволяет форме перехватить сообщения мыши, направленные ее компонентам. Если же соответствующие оконные компоненты не найдены, то вызывается метод Perform, генерирующий событие OnMouseWheel, а если надо, то OnMouseWheelUp или OnMouseWheelDown
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
PaintTo	Рисует компонент в заданное устройство
Perform	Имитирует получение указанного сообщения Windows, т.е. запускает непосредственно обрабаботчик этого сообщения в компоненте
Realign	Выравнивает компоненты в оконном элементе
Refresh	Немедленно перерисовывает компонент на экране, вызывая метод Repaint
Remove Component	Удаляет указанный компонент из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Remove Control	Удаляет указанный компонент из списка Controls. Лучше использовать для этих целей само свойство Controls
Repaint	Перерисовывает изображение компонента на экране с помощью Invalidate.
Replace Docked Control	Встраивает компонент на место уже встроенного компонента, перенося тот в новый контейнер. Аналогичен методу ManualDock с соответствующими параметрами, но более эффективен
SafeCall Exception	Обрабатывает исключения OLE и Com
ScaleBy	Масштабирует оконный элемент и все содержащиеся в нем компоненты.
ScreenTo Client	Преобразует координаты экрана в координаты клиентской области компонента
ScrollBy	Сдвигает содержимое оконного элемента.
ScrollInView	Прокручивает область фрейма так, чтобы на ней был виден указанный компонент
SendToBack	Переносит компонент в Z-последовательности ниже других компонентов в том же контейнере
SetBounds	Задает координаты и размеры элемента.
SetFocus	Передает фокус элементу
SetTextBuf	Записывает в заданный буфер значение свойства Text. Используется, если нужна обратная совместимость с 16-битными кодами
SetZOrder	Перемещает компонент на верх или в низ Z-последовательности.
Show	Делает видимым невидимый компонент
ShowControl	Делает видимым указанный дочерний компонент
Update	Немедленная перерисовка компонента.
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
Update ControlState	Используется внутри класса для отображения дочерних компонентов
UseRight ToLeft Alignment	Указывает, должен ли компонент отображаться справа налево: возвращает true, если на комьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRightTo LeftReading	Указывает, должен ли текст компонента читаться справа налево: возвращает true, если на комьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft
UseRight ToLeft ScrollBar	Указывает, должна ли вертикальная полоса прокрутки появляться слева: возвращает true, если на комьютере установлена локализация стран Среднего Востока и BiDiMode = bdRightToLeft или BiDiMode = bdRightToLeftNoAlign


TFrame- основные события
Основные события TFrame

Все события   TFrame

Событие	Описание
OnClick	Наступает при щелчке на компоненте и некоторых других действиях пользователя
OnDblClick	Наступает при двойном щелчке на компоненте
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Событие при получении элементом фокуса.
OnExit	Событие при потери элементом фокуса.
OnMouseDown	Наступает при нажатии кнопки мыши над объектом
OnMouseMove	Наступает при перемещении указателя мыши над объектом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUnDock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


TFrame- все события
Все события TFrame

Основные события   TFrame

Событие	Описание
OnCanResize	Наступает перед изменением размера компонента. В обработчике можно задать новое значение ширины (NewWidth), высоты (NewHeight) и можно отказаться от изменения размеров (Resize = false)
OnClick	Наступает при щелчке на компоненте и некоторых других действиях пользователя
OnConstrained Resize	Наступает сразу после события OnCanResize. Позволяет задать новые максимальные и минимальные значения ширины и высоты, которые будут учитываться при изменении размера компонента
OnContext Popup	Наступает при щелчке правой кнопкой мыши на компоненте или при любом другом способе вызова контекстного всплывающего меню. Обработчик события может использоваться для изменения меню, в частности, в зависимости от позиции курсора мыши
OnDblClick	Наступает при двойном щелчке на компоненте
OnDockDrop	Наступает, когда другой компонент встраивается в данный
OnDockOver	Наступают в процессе перетаскивания другого встраиваемого компонента над данным
OnEndDock	Наступает при окончании или прерывании перетаскивания и встраивания
OnEndDrag	Наступает при окончании или прерывании перетаскивания
OnEnter	Наступает при получении элементом фокуса
OnExit	Наступает при потере элементом фокуса
OnGetSite Info	Наступает при встраивании другого компонента в данный перед событием OnDockDrop. Используется для указания, куда компонент может встраиваться и может ли вообще встраиваться
OnMouseDown	Наступает при нажатии кнопки мыши над объектом
OnMouseMove	Наступает при перемещении указателя мыши над объектом
OnMouseUp	Наступает при отпускании нажатой кнопки мыши над объектом
OnMouse Wheel	Наступает при вращении шарика мыши
OnMouse WheelDown	Наступает при вращении шарика мыши вниз, если не было обработано событие OnMouseWheel
OnMouse WheelUp	Наступает при вращении шарика мыши вверх, если не было обработано событие OnMouseWheel
OnResize	Наступает сразу после изменения размера компонента. Для каких-то действий до изменения размеров следует использовать события OnCanResize и OnConstrainedResize
OnStartDock	Наступает при начале перетаскивания и встраивания объекта
OnStartDrag	Наступает при начале перетаскивания объекта
OnUnDock	Наступает, когда встроенный компонент должен извлекаться из своего контейнера


TDataSet - класс
TDataSet - базовый класс всех наборов данных

Иерархия   Свойства   Методы   События

Базовый класс всех компонентов наборов данных, представляющих данные в виде строк и столбцов

Модуль db

Описание

Класс TDataSet инкапсулирует основные свойства, методы и события, используемые при работе с базами данных. Многие из этих свойств и событий абстрактные и реализуются в наследниках класса TDataSet, таких, как TClientDataSet, TBDEDataSet, TDBDataSet, TQuery, TStoredProc и TTable.


Основные методы класса TDataSet

Все методы   TDataSet

Метод	Описание
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
Compare Bookmarks	Сравнивает две закладки Bookmark набора данных
Controls Disabled	Проверяет наличие блокировки методом DisableControls компонентов, отображающих данные
Create	Создает пустой набор данных
CreateBlob Stream	Создает поток для чтения и записи данных поля BLOB
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Destroy	Разрушает объект. Вместо Destroy надо использовать Free
Disable Controls	Блокирует вывод данных в компоненты, связанные с данными
Edit	Перевод набора данных в режим редактирования
EnableControls	Снимает блокировку отображения данных, введенную ранее методом DisableControls
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindField	Находит поле по его имени. При неверном имени возвращаент nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FreeBookmark	Уничтожает закладку набора данных
GetBookmark	Создает и возвращает новую закладку набора данных
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetail LinkFields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldNames	Выдает список имен всех полей набора данных
GotoBookmark	Осуществляет переход на указанную закладку набора данных
Insert	Вставляет новую пустую запись в набор данных
InsertRecord	Вставляет новую заполненную запись в набор данных
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MoveBy	Перемещает курсор на заданное число записей
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
Post	Пересылает отредактированную запись в базу данных
Prior	Перемещает курсор к предыдущей записи
Refresh	Обеспечивает обновление отображаемых данных
SetFields	Устанавливает значения всех полей записи
Translate	Взаимно преобразует строку символов ANSI (используются в Delphi и Windows) и строку символов OEM (используются в BDE)


Все методы класса TDataSet

Основные методы   TDataSet

Метод	Описание
ActiveBuffer	Указывает на буфер текущей записи. Для внутреннего использования
After Construction	Вызывается автоматически после создания объекта
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
Assign	Копирует данные одного объекта в другой
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
CheckBrowse Mode	Автоматически пересылает отредактированную активную запись в базу данных или отменяет результат редактирования при переходе к другой записе. Для внутреннего использования
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
Compare Bookmarks	Сравнивает две закладки Bookmark набора данных
Controls Disabled	Проверяет наличие блокировки методом DisableControls компонентов, отображающих данные
Create	Создает пустой набор данных
CreateBlob Stream	Создает поток для чтения и записи данных поля BLOB
CursorPos Changed	Автоматически вызывается методами Locate и Lookup при изменении позиции курсора
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy	Разрушает объект. Вместо Destroy надо использовать Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Disable Controls	Блокирует вывод данных в компоненты, связанные с данными
Dispatch	Вызывает обработчик сообщения, полученного объектом
Edit	Перевод набора данных в режим редактирования
EnableControls	Снимает блокировку отображения данных, введенную ранее методом DisableControls
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindComponent	Ищет в списке Components компонент с заданным именем.
FindField	Находит поле по его имени. При неверном имени возвращаент nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeBookmark	Уничтожает закладку набора данных
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetBlobField Data	Читает значение поля BLOB в буфер и возвращает размер буфера
GetBookmark	Создает и возвращает новую закладку набора данных
GetCurrent Record	Заносит теущую запись в буфер
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetail LinkFields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldData	Заносит данные указанного поля в буфер. Обычно не вызывается явным образом. Используется объектами TField в методе GetData
GetFieldList	Создает список копий объектов указанных полей. Используется в редких случаях, когда надо работать не с самими полями, а с их копиями
GetFieldNames	Выдает список имен всех полей набора данных
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetParent Component	Возвращает родителя компонента
GotoBookmark	Осуществляет переход на указанную закладку набора данных
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert	Вставляет новую пустую запись в набор данных
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
InsertRecord	Вставляет новую заполненную запись в набор данных
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
IsLinkedTo	Проверяет, черпает ли указанный источник данных TDataSource информацию из этого набора данных
IsSequenced	Определяет, можно ли в наборе данных использовать номер записи RecNo для навигации по набору данных
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MoveBy	Перемещает курсор на заданное число записей
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
Post	Пересылает отредактированную запись в базу данных
Prior	Перемещает курсор к предыдущей записи
Refresh	Обеспечивает обновление отображаемых данных
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Resync	Используется для синхронизации записей другими методами, изменяющими положение курсора. В приложении непосредственно не вызывается
SafeCall Exception	Обрабатывает исключения OLE и Com
SetFields	Устанавливает значения всех полей записи
Translate	Взаимно преобразует строку символов ANSI (используются в Delphi и Windows) и строку символов OEM (используются в BDE)
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateCursor Pos	Позиционирует курсор на текущей записи. Явным образом в приложениях не вызывается
UpdateRecord	Обеспечивает правильное отображение данных. Явным образом в приложениях не вызывается
UpdateStatus	Определяет состояние обновления текущей записи


свойства TDataSet
Основные свойства TDataSet

Все свойства   TDataSet

Свойство	Описание
Active	Определяет открытие и закрытие набора данных
AggFields	Содержит массив полей совокупных (агрегированных) характеристик
AutoCalcFields	Управляет генерацией событий OnCalcFields
BlockReadSize	Число записей, помещаемых при чтении в буфер
Bof	Указывает, находится ли курсор на первой записи
Bookmark	Определяет текущую закладку набора данных
CanModify	Определяет, возможно ли редактирование набора данных
Constraints	Ограничения на допустимые значения параметров на уровне записи
DataSource	Указывает источник данных другого набора данных, снабжающего информацией данный набор
Eof	Указывает, находится ли курсор на последней записи
FieldCount	Число объектов полей, связанных с набором данных
FieldDefs	Указывает на список объектов, определяющих поля набора данных
Fields	Список всех объектов полей (кроме полей совокупных характеристик) набора данных. Свойство только для чтения
FieldValues	Обеспечивает доступ а значениям всех полей активной записи
Filter	Строка фильтра набора данных
Filtered	Разрешает или запрещает фильтрацию
FilterOptions	Опции фильтрации
Found	Булево свойство, показывающее успешность перемещения по набору данных методами FindFirst, FindLast, FindNext, FindPrior. Только для чтения
Modified	Указывает, была ли модифицирована активная запись. Только для чтения
Name	Имя набора данных, По умолчанию совпадает с именем соответствующего компонента (Table1, Query2 и т.п.). При изменении Name соответственно изменяются и использующие его имена полей  (Table1Fam, Query2Nam и т.п.)
RecordCount	Количество записей в наборе данных. Только для чтения
State	Состояние массива данных. Только для чтения


TDataSet- все свойства
Все свойства TDataSet

Основные свойства TDataSet

Свойство	Описание
Active	Определяет открытие и закрытие набора данных
ActiveRecord	Индекс активной записи во внутреннем кэше записей. Свойство только для чтения
AggFields	Содержит массив полей совокупных (агрегированных) характеристик
AutoCalcFields	Управляет генерацией событий OnCalcFields
BlobFieldCount	Число полей BLOB (большие бинарные данные) в наборе
BlockReadSize	Число записей, помещаемых при чтении в буфер
Bof	Указывает, находится ли курсор на первой записи
Bookmark	Определяет текущую закладку набора данных
BookmarkSize	Число байтов, требуемых для закладки Bookmark
BufferCount	Число записей во внутреннем кэше
Buffers	Индексированный доступ к записям во внутреннем кэше
CalcBuffer	Указатель на буфер записей, используемый в событии OnCalcFields
CalcFieldsSize	Определяет число байтов в буфере записей, предназначенном для хранения вычисляемых полей и полей просмотра
CanModify	Определяет, возможно ли редактирование набора данных
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Components	Массив компонентов, которыми владеет данный компонент. Позволяет сослаться на любой компонент с помощью его ComponentIndex
Constraints	Ограничения на допустимые значения параметров на уровне записи
CurrentRecord	Индекс текущей записи во внутреннем кэше. Отличается от активной записи ActiveRecord
DataSetField	Указывает на объект TDataSetField, управляющий вложенными наборами данных (например, в Oracle8)
DataSource	Указывает источник данных другого набора данных, снабжающего информацией данный набор
DefaultFields	Определяет, генерируются ли объекты полей автоматически (при значении true), или они созданы во время проектирования Редактором Полей. Свойство только для чтения
Designer	Указывает на инструмент, используемый для проектирования набора данных (например, Редактор Полей)
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Eof	Указывает, находится ли курсор на последней записи
FieldCount	Число объектов полей, связанных с набором данных
FieldDefList	Указывает на внутренний "плоский" список объектов, определяющих поля набора данных. Свойство только для чтения
FieldDefs	Указывает на список объектов, определяющих поля набора данных
FieldList	"Плоский" список типа TFieldList объектов полей набора данных. Список хранится в TFieldList.Fields. Свойство только для чтения
FieldNoOfs	Сдвиг между FieldNo и индексом поля (FieldNo = индексу + FieldNoOfs). Защищенное свойство
Fields	Список всех объектов полей (кроме полей совокупных характеристик) набора данных. Свойство только для чтения
FieldValues	Обеспечивает доступ а значениям всех полей активной записи
Filter	Строка фильтра набора данных
Filtered	Разрешает или запрещает фильтрацию
FilterOptions	Опции фильтрации
Found	Булево свойство, показывающее успешность перемещения по набору данных методами FindFirst, FindLast, FindNext, FindPrior. Только для чтения
Internal CalcFields	Показывает, имеет ли набор данных внутренне вычисляемые поля. Только для чтения
Modified	Указывает, была ли модифицирована активная запись. Только для чтения
Name	Имя набора данных, По умолчанию совпадает с именем соответствующего компонента (Table1, Query2 и т.п.). При изменении Name соответственно изменяются и использующие его имена полей  (Table1Fam, Query2Nam и т.п.)
NestedDataSet Class	Указывает класс, используемый для создания вложенных данных
NestedDataSets	Список вложенных наборов данных. Только для чтения
ObjectView	Определяет способ организации списка Fields
Owner	Определяет владельца данного компонента
RecNo	Номер записи. В TDataSet всегда -1. Может использоваться в классах - наследниках
RecordCount	Количество записей в наборе данных. Только для чтения
RecordSize	Размер записи в наборе данных. Только для чтения
Reserved	Свойство только для внутренного использования.
SparseArrays	Указывает, создаются ли уникальные объекты полей для каждого элемнта массива полей. Только для чтения
State	Состояние массива данных. Только для чтения
Tag	Это свойство не используется в Delphi. Разработчик может использовать его по своему усмотрению
VCLComObject	Используется только в среде Delphi для поддержания стандарта COM


события TDataSet, TBDEDataSet, TDBDataSet, TTable
События классов TDataSet, TBDEDataSet, TDBDataSet и TTable

TDataSet   TBDEDataSet

Событие	Описание
AfterCancel	Наступает после выполнения метода Cancel,
AfterClose	Наступает после закрытия набора данных
AfterDelete	Наступает после удаления записи методом Delete
AfterEdit	Наступает сразу после перехода набора данных в режим редактирования
AfterInsert	Наступает сразу после вставки записи в набор данных
AfterOpen	Наступает сразу после открытия набора данных
AfterPost	Наступает сразу после пересылки измененной записи в базу данных или буфер кеширования
AfterRefresh	Наступает сразу после обновления отображаемых данных методом Refresh
AfterScroll	Наступает сразу после перемещения на новую запись
BeforeCancel	Наступает в начале выполнения метода Cancel,
BeforeClose	Наступает перед закрытием набора данных
BeforeDelete	Наступает перед удалением записи методом Delete
BeforeEdit	Наступает перед началом перехода набора данных в режим редактирования
BeforeInsert	Наступает перед переходом набора данных в режим вставки записи
BeforeOpen	Наступает перед открытием набора данных
BeforePost	Наступает перед пересылкой методом Post изменений в текущей записи в базу данных или буфер кеширования
BeforeRefresh	Наступает перед обновлением отображаемых данных методом Refresh
BeforeScroll	Наступает перед перемещением на новую запись
OnCalcFields	Наступает, когда требуется пересчет вычисляемых полей
OnDeleteError	Наступает, если в процессе удаления записи генерируется исключение
OnEditError	Наступает при генерации исключения в процессе редактирования или вставки записи
OnFilterRecord	Наступает каждый раз при перемещении на другую запись, если разрешена фильтрация
OnNewRecord	Наступает при вставке в набор данных новой записи
OnPostError	Наступает при генерации исключения в процессе пересылки в базу данных измененной записи
OnUpdateError	Отсутствует в TDataSet. Наступает при генерации исключения в процессе пересылки в базу данных измененной записи.
OnUpdateRecord	Отсутствует в TDataSet. Наступает при пересылке кэшированной записи в базу данных


BlockReadSize - свойство TDataSet

см.также

Свойство, определяющее число записей, помещаемых при чтении в буфер

Класс TDataSet, TBDEDataSet

Определение

property BlockReadSize: Integer;

Описание

Свойство BlockReadSize определяет число записей, помещаемых при чтении в буфер. Заданное число записей читается, заносится в буфер, и, пока указатель таблицы не вышел за пределы прочитанных записей, новое чтение не производится. Соответственно, не осуществляется и повторное отображение в компонентах отображения данных, что ускорят работу и позволяет избежать неприятных мерцаний(см. DisableControls).

Установка BlockReadSize в 0 запрещает чтение блоков записей. Задание BlockReadSize > 0 переводит состояние набора данных State в dsBlockRead и ускоряет работу приложения.


Bof - свойство TDataSet

Пример   см.также

Свойство указывает, находится ли курсор на первой записи

Класс TDataSet

Определение

property Bof: Boolean;

Описание

Свойство Bof определяет, находится ли курсор на первой записи. Значение Bof устанавливается в true:

При открытии набора данных

В результате выполнения метода First

При ошибке выполнения метода Prior из-за того, что курсор уже расположен на первой записи

В остальных случаях Bof = false.


Bookmark - свойство TDataSet

Пример   см.также

Свойство определяет текущую закладку набора данных

Класс TDataSet

Определение

type TBookmarkStr: string;

property Bookmark: TBookmarkStr;

Описание

Свойство Bookmark определяет текущую закладку набора данных. Свойство Bookmark можно устанавливать, для запоминания текущей записи, а затем после перемещения по набору данных читать Bookmark для быстрого возврата к той же записи.


DataSource - свойство наборов данных

см.также

Указывает источник данных другого набора данных, снабжающего информацией данный набор

Классы TDataSet, TTable, TQuery, TADOQuery

Определение

property DataSource: TDataSource;

Описание

Свойство DataSource указывает источник данных другого набора данных, снабжающего информацией данный набор.

В TDataSet свойство всегда nil, но оно перегружено в классах - наследниках.

В TTable DataSource - просто вариант свойства MasterSource только для чтения.

Более содержательно это свойство в TQuery и в TADOQuery. Оно позволяет строить приложения, содержащие связанные друг с другом таблицы. Пусть вы хотите построить приложение, работающее с таблицей Dep, содержащей список отделов (в поле Dep) и с таблицей персонала Pers, содержащей в поле Dep имя отдела, в котором работает каждый сотрудник. Надо, чтобы при выборе записи в таблице Dep в таблице Pers отбирались только записи, относящиеся к выбранному отделу. Тогда надо перенести на форму компоненты Query1, DataSource1, DBGrid1 и соединить их обычной цепочкой: в DBGrid1 задать свойство DataSource равным DataSource1, а в DataSource1 задать свойство DataSet равным Query1. Компонент Query1 настраивается на таблицу Dep.

Создается также другая аналогичная цепочка, перенеся на форму компоненты Query2, DataSource2, DBGrid2, и связывается с таблицей Pers запросом

Select * from Pers where (Dep=:Dep)

В этом запросе указано условие отбора: значение поля Dep должно быть равно параметру :Dep. В данном случае не надо определять этот параметр с помощью редактора параметров, вызываемого из свойства Params компонента Query2. Вместо этого в свойстве DataSource компонента Query2 надо сослаться на DataSource1 - источник данных, связанный с таблицей Dep. Это скажет приложению, что оно должно взять значения параметра :Dep из текущей записи этого источника данных. А поскольку имя параметра совпадает с именем поля в источнике данных, то в качестве значения параметра будет взято текущее значение этого поля. Таким образом, вспомогательная таблица, запрашиваемая в Query2, оказывается связанной с головной таблицей, запрашиваемой в Query1.


Eof - свойство TDataSet

Пример   см.также

Свойство указывает, находится ли курсор на последней записи

Класс TDataSet

Определение

property Eof: Boolean;

Описание

Свойство Eof определяет, находится ли курсор на последней записи. Значение Eof устанавливается в true:

•	При открытии пустого набора данных

•	В результате выполнения метода Last

•	При ошибке выполнения метода Next из-за того, что курсор уже расположен на последней записи

•	При вызове метода SetRange с пустым диапазоном данных или на пустом наборе данных

В остальных случаях Eof = false.

Свойство Eof используется при организации циклов по набору данных (см. пример).


FieldCount - свойство TDataSet

Пример   см.также

Число объектов полей, связанных с набором данных

Класс TDataSet

Определение

property FieldCount: Integer;

Описание

Свойство FieldCount определяет число полей, содержащихся в свойстве Fields набора данных. В это число не входят поля совокупных характеристик, список которых содержится в свойстве AggFields. Если объекты полей создаются динамически (не с помощью Редактора полей), то значение FieldCount может меняться при каждом открытии набора данных. Если же объекты полей созданы заранее (например, Редактором Полей), то значение FieldCount постоянно.


FieldDefs - свойство TDataSet

Примеры   см.также

Свойство, указывающее на список (собрание) объектов, описывающих поля набора данных

Класс TDataSet

Определение

property FieldDefs: TFieldDefs;

Описание

Свойство FieldDefs указывает на список (собрание) объектов типа TFieldDefs, описывающих поля набора данных. Это свойство должно быть определено, прежде, чем вызывается метод CreateTable,  создающий таблицу.

Свойства и методы объекта FieldDefs позволяют

•	Получить доступ к определениям полей

•	Добавлять, изменять или удалять поля, создавая новую таблицу

•	Определять, сколько полей содержит таблица

•	Копировать определения полей из одной таблицы в другую


Fields и ObjectView - свойства TDataSet

Пример   см.также

Список всех объектов полей (кроме полей совокупных характеристик) набора данных и способ его организации

Класс TDataSet

Определения

property Fields: TFields; // только для чтения

property ObjectView: Boolean;

Описание

Свойство Fields - список всех объектов полей (кроме полей совокупных характеристик) набора данных. Поля совокупных характеристик размещены в AggFields.

Если объекты полей сгенерированы динамически во время выполнения, то их последовательность совпадает с последовательностью столбцов таблицы набора данных. Если же объекты полей созданы во время проектирования с помощью Редактора Полей, то их последовательность в массиве Fields та, которая была задана при проектировании.

Если значение ObjectView равно true, то поля хранятся в Fields иерархически: родительское поле ссылается на дочерние поля. Если значение ObjectView равно false, то поля хранятся в Fields "плоско", т.е. дочерние поля хранятся после родительского поля.

Свойство Fields позволяет организовывать циклы по полям и работать с данными, структура которых заранее не известна. Можно также читать и записывать значения отдельных полей. Например, следующий оператор читает в окно редактирования Edit1 текст второго поля набора данных Table1:

Edit1.Text := Table1.Fields.Fields[1].AsString;

Следующий оператор осуществляет обратное действие - заносит во второе поле значение, заданное в окне Edit1:

Table1.Fields.Fields[1].AsString:= Edit1.Text;

Для доступа к конкретному поля могут также использоваться методы класса TFields: FieldByName, FindField и другие.


FieldValues - свойство TDataSet

см.также

Свойство обеспечивает доступ к значениям всех полей активной записи

Класс TDataSet

Определение

property FieldValues[const FieldName: string]: Variant; default;

Описание

Свойство FieldValues обеспечивает чтение и запись значений любых полей активной записи набора данных. Параметр FieldName указывает имя поля, с которым ведется работа. Это может быть любое поле: обычное поле записи, дочернее поле в сложной структуре, поле с совокупной характеристикой, содержащееся в свойстве AggFields. Благодаря такой универсальности свойство FieldValues, как и метод FieldByName, имеет преимущества по сравнению со свойствами Fields, FieldList и AggFields, относящимися только к ограниченному множеству полей.

Тип свойства FieldValues - Variant, так что это свойство обеспечивает преобразование значений любых типов данных. Например, оператор

Edit1.Text := Table1.FieldValues['Year_b'];

заносит в окно редактирования Edit1 значение поля Year_b - поля целого типа, обозначающего год рождения. А операторы

Table1.Edit;

Table1.FieldValues['Year_b'] := Edit1.Text;

заносят эначение, введенное пользователем в окне Edit1 в поле Year_b.

Надо отметить, что работа с типом Variant в свойстве FieldValues требует несколько больших временных затрат при преобразовании типов, чем использование AsString и др. аналогичных свойств.

Поскольку FieldValues является для класса TDataSet свойством по умолчанию, то имя этого свойства при обращении к нему можно опускать. Поэтому приведенные выше операторы чтения и записи данных могут иметь вид:

Edit1.Text := Table1['Year_b'];

Table1['Year_b'] := Edit1.Text;


Фильтрация данных: Filter и Filtered - свойства TDataSet
Filter и Filtered - свойства TDataSet

см.также

Свойства, обеспечивающие фильтрацию набора данных

Класс TDataSet

Определения

property Filter: string;

property Filtered: Boolean;

Описание

Фильтрация задается свойствами Filter, Filtered и FilterOptions.

При наличии фильтра доступными становятся только те записи, поля которых удовлетворяют условиям фильтрации. Свойство Filtered включает или выключает использование фильтра. Свойство FilterOptions задает опции фильтрации. А сам фильтр записывается в свойство Filter в виде строки, содержащей определенные ограничения на значения полей. Например, значение Filter

Dep='Цех 1'

при Filtered = true, обеспечивает отображение только тех записей, в которых поле Dep имеет значение "Цех 1". В условиях сравнения строк можно использовать символ звездочки "*", который как в обычных шаблонах означает: "любое количество любых символов". Например, фильтр

Dep='Цех*'

приведет к отображению всех записей, в которых значение поля Dep начинается с "Цех". Но для того, чтобы это сработало, надо, чтобы в опциях, содержащихся в свойстве FilterOptions, была выключена опция foNoPartialCompare, запрещающая частичное совпадение при сравнении.

При записи условий можно использовать операции отношения =, >, >=, <, <=, <>, а также логические операции and, or и not. Например, вы можете написать фильтр

(Dep='Цех 1')and(Year_b<=1970)and(Year_b>=1940)

и отобразятся записи сотрудников цеха 1, чей год рождения лежит в заданных пределах. Но использовать в фильтре имена вычисляемых полей не разрешается.

При фильтрации пустые записи пропускаются, если только их появление не указано в фильтре явным образом, как в следующем примере:

Dep='Цех*' or Dep = NULL

Фильтрация на удаленных таблицах SQL и в клиентских наборах данных поддерживает сравнение полей. Например:

Field1 > Field2

Эта операция не поддерживается в локальных таблицах (Paradox, dBASE, Access, FoxPro).


FilterOptions - свойство TDataSet

см.также

Опции фильтрации

Класс TDataSet

Определения

type TFilterOption = (foCaseInsensitive,
                      foNoPartialCompare);

TFilterOptions = set of TFilterOption;

property FilterOptions: TFilterOptions;

Описание

Свойство FilterOptions определяет опции фильтрации. Сама фильтрация задается свойствами Filter, Filtered, а FilterOptions устанавливает чувствительность фильтрации к регистру и допустимость частичного совпадения при сравнении. FilterOptions представляет собой множество следующих опций:

foCaseInsensitive	Учет регистра при сравнении строк
foNoPartialCompare	При включении этой опции в FilterOptions символ звездочки (*) воспринимается именно как символ. А когда эта опция не включена в FilterOptions, символ звездочки  воспринимается как в обычных шаблонах: любой число любых символов

Например, если в свойстве Filter задано

Dep='Цех*'

то при включении в FilterOptions опции foCaseInsensitive и отсутствии опции foNoPartialCompare под условия фильтрации подходят значения поля Dep, равные "Цех 1", "цех 2", "цеха" и т.п. Если исключить из FilterOptions опцию foCaseInsensitive, то под условие фильтрации подойдет только первое из этих значений. А если включить в FilterOptions опцию foNoPartialCompare, то ни одно из перечисленных значений не удовлетворит условию фильтрации. Это условие будет удовлетворено, только если значение Dep окажется равным 'Цех*'.


InternalCalcFields - свойство TDataSet

см.также

Показывает, имеет ли набор данных внутренне вычисляемые поля

Класс TDataSet

Доступ только для чтения

Определение

property InternalCalcFields: Boolean;

Описание

Свойство InternalCalcFields показывает, имеет ли набор данных поля, значения которых определяются источником данных, не содержатся в физической базе данных или в запросе, а рассчитываются сервером SQL или BDE при просмотре "живых" данных.

В TClientDataSet подобные внутренне вычисляемые поля хранятся вместе с другими данными, допуская их участие в сортировке и фильтрации. Однако, значения таких полей не обновляются при обновлении значений полей, от которых они зависят.

Следует отличать внутренне вычисляемые поля от вычисляемых полей, значения которых подсчитываются в обработчиках событий OnCalcFields.


Append и AppendRecord - методы TDataSet

Примеры см.также

Добавляют новую запись в набор данных

Класс TDataSet

Определения

procedure Append;

procedure AppendRecord(const Values: array of const);

Описание

Метод Append добавляет новую пустую запись в конец набора данных и делает ее активной. После этого можно вводить данные в ее поля и пересылать эти данные  в базу данных методами Post или ApplyUpdates (если производится кэширование).

Метод AppendRecord добавляет в набор данных новую запись, заполняет ее поля значениями, перечисленными в параметре Values и пересылает в базу данных. Новая запись делается активной. В массиве Values заносимые значения перечисляются в той последовательности, в которой расположены поля таблицы. На месте значений тех полей, в которые данные не заносятся, пишется Null. После записи последнего ненулевого значения список Values можно прервать, т.е. не указывать в нем Null для остальных не заполняемых полей (см. примеры).

Если в записи имеются поля, являющиеся немодифицируемым, например, автоматически нарастающими (AutoIncrement), то вместо значения такого поля надо указывать nil.

Место новой записи в базе данных определяется следующими правилами:

•	Для индексированных таблиц Paradox и dBASE запись вставляется в позицию, соответствующую индексу

•	Для неиндексированных таблиц Paradox и dBASE запись вставляется в конец набора данных

•	Для баз данных SQL место расположения новой записи зависит от реализации базы данных. Для индексированных таблиц индекс обновляется с учетом новой записи

Имеется еще два метода внесения новой записи в набор данных - методы Insert и InsertRecord. Они отличаются от рассмотренных только позицией размещения записи в физической базе данных.


Cancel - метод TDataSet

Примеры   см.также

Отменяет результаты редактирования записи

Классы TDataSet, TBDEDataSet

Определение

procedure Cancel;

Описание

Метод Cancel возвращает запись к состоянию, предшествовавшему редактированию, если предварительно не был вызван метод Post. Набор данных переводится в состояние State равное dsBrowse.

Метод используется для запроса пользователя о необходимости сохранения результатов редактирования (см. пример) и для проверки их допустимости.

Компонент TDBNavigator имеет кнопку nbCancel, при нажатии которой вызывается Cancel.


ClearFields - метод TDataSet

см.также

Очищает содержимое всех полей активной записи набора данных

Класс TDataSet

Определение

procedure ClearFields;

Описание

Метод ClearFields очищает содержимое всех полей активной записи набора данных. Если в это время набор находится в состоянии State, отличном от dsEdit или dsInsert, генерируется исключение. Пересчитываются все вычисляемые поля и генерируется событие OnDataChange источника данных, связанного с данным набором данных (все это происходит, если в данный момент не выполняются операции SetKey).


Close - метод TDataSet

см.также

Закрывает набор данных

Класс TDataSet

Определение

procedure Close;

Описание

Метод Close закрывает набор данных, устанавливая его свойство Active в false. Состояние набора данных State переводится в dsInactive и закрывается курсор BDE. После этого ни читать из данного набора данных, ни записывать в него невозможно.

Закрывать набор данных методом Close или непосредственным заданием false свойству Active надо перед изменением любых свойств, оказывающих влияние на состояние набора данных.


Закладки набора данных - свойство Bookmark, методы BookmarkValid, CompareBookmarks, GetBookmark, GotoBookmark, FreeBookmark

Пример   см.также

Закладка - это метка, которой можно пометить запись набора данных, чтобы впоследствии быстро переходить на нее

Классы TDataSet, TBDEDataSet

Определения

type TBookmarkStr: string;

property Bookmark: TBookmarkStr;

type TBookmark = Pointer;

function BookmarkValid(Bookmark: TBookmark): Boolean;

function CompareBookmarks(Bookmark1, Bookmark2: TBookmark): Integer;

function GetBookmark: TBookmark;

procedure GotoBookmark(Bookmark: TBookmark);

procedure FreeBookmark(Bookmark: TBookmark);

Описание

Закладки позволяют пометить одну или несколько записей набора данных и затем при необходимости быстро переходить на них. Свойство Bookmark - текущая закладка (ею становится каждая новая закладка) и методы работы с закладками BookmarkValid, CompareBookmarks, GetBookmark, GotoBookmark, FreeBookmark объявлены в классе TDataSet и переопределены в классе TBDEDataSet.

Чтобы создать новую закладку в приложении, надо объявить переменную типа TBookmark и присвоить ей функцией GetBookmark значение, соответствующее текущей записи. Процедура GotoBookmark позволяет в дальнейшем в любой момент перейти на запись, к которой относится введенная вами закладка. Метод FreeBookmark освобождает память, выделенную под закладку. Этот метод необходимо вызывать перед тем, как присвоить вашей переменной типа TBookmark новое значение.

Перед переходом на закладку можно проверить, доступна ли она, методом BookmarkValid. Он вернет true, если указанная в его параметре закладка существует. Метод CompareBookmarks позволяет сравнить две закладки Bookmark1 и Bookmark2, в частности, установить, не указывают ли они на одну и ту же запись. Этот метод возвращает -1, если Bookmark1 < Bookmark2, возвращает 1, если Bookmark1 > Bookmark2, и возвращает 0, если закладки идентичны или равны nil.


CreateBlobStream - метод TDataSet

Пример   см.также

Создает поток для чтения и записи данных поля BLOB

Класс TDataSet

Определение

type TBlobStreamMode = (bmRead, bmWrite, bmReadWrite);

function CreateBlobStream(Field: TField;
             Mode: TBlobStreamMode): TStream; virtual;

Описание

Метод CreateBlobStream создает поток для чтения и записи данных поля Field типа BLOB. Параметр Mode определяет режим создаваемого потока: bmRead - чтение данных, bmWrite - запись данных, bmReadWrite - и чтение, и запись.

Поток создается для конкретной записи и конкретного поля. Поэтому при переходе к другой записи поток нельзя использовать повторно. Он должен создаваться заново.

Создание потока методом CreateBlobStream предпочтительнее непосредственного создания объекта TBlobStream методом Create.


Методы DisableControls, EnableControls, ControlsDisabled
DisableControls, EnableControls, ControlsDisabled - методы TDataSet

Пример   см.также

Методы запрещают и разрешают в компонентах, связанных с данными, отображение во время длинных операция перемещения по набору данных

Класс TDataSet

Определения

procedure DisableControls;

procedure EnableControls;

function ControlsDisabled: Boolean;

Описание

При длительных итерациях по многим записям набора данных в камонентах, отображающих данные, могут появляться неприятные мерцания. К тому же, отображание данных при перемещениях к каждой новой записи замедляет работу приложения. Чтобы избежать этих неприятностей, полезно заблокировать отображение данных перед началом итераций. Это делает метод DisableControls. Разблокирует компоненты, отображающие данные, метод EnableControls. Каждый вызов DisableControls увеличивает число блокировок на 1. Поэтому, если блокировка была сделана несколькими вызовами DisableControls, то компоненты разблокируются только после такого же числа вызовов EnableControls, каждый из которых уменьшает число блокировок на 1. Функция ControlsDisabled позволяет определить наличие блокировки. Она возвращает true, если блокировка не снята. Применение ControlsDisabled в сочетании с EnableControls позволяет в цикле снять многократную блокировку (см. примеры, иллюстрирующие применение всех этих методов).

Если набор данных является головным для другого вспомогательного набора данных, то метод DisableControls блокирует связь со вспомогательной таблицей. Для блокировки отображения вспомогательного набора данных лучше использовать свойство BlockReadSize.


Delete - метод TDataSet

см.также

Удаляет активную запись и позиционирует курсор на следующую запись

Класс TDataSet

Определение

procedure Delete;

Описание

Метод Delete удаляет активную запись и позиционирует курсор на следующую запись. Если набор данных не активен, то генерируется исключение. При выполнении метода Delete осушествляются следующие операции:

•	Проверяется, не является ли набор данных пустой. Если пустой, генерируется исключение

•	Вызывается CheckBrowseMode для завершения обработки предыдущей записи

•	Вызывается обработчик события BeforeDelete

•	Запись удаляется

•	Освобождаются буферы, связанные с данной записью

•	Набор данных переводится в состояние State равное dsBrowse

•	Курсор позиционируется на следующую неудаленную запись

•	Вызывается обработчик события AfterDelete


Edit- метод TDataSet

см.также

Переводит набор данных в режим редактирования

Класс TDataSet

Определение

procedure Edit;

Описание

Метод Edit переводит набор данных в режим редактирования (State = dsEdit). Предварительно проверяется набор данных и, если он пуст, то вызывается метод Insert. В противном случае выполняются операции:

•	Вызывается CheckBrowseMode для завершения обработки предыдущей записи

•	Вызывается обработчик события BeforeEdit

•	Набор данных переводится в состояние State равное dsEdit, что позволяет редактировать поля текущей записи

•	Вызывается обработчик события AfterEdit


FieldByName и FindField - методы TDataSet

Пример   см.также

Методы ищут и возвращают поле по его имени

Класс TDataSet

Определения

function FieldByName(const FieldName: string): TField;

function FindField(const FieldName: string): TField;

Описание

Методы FieldByName и FindField ищут поле, имя которого указано параметром FieldName. Если поле найдено, то возвращается объект TField этого поля. Если поле не найдено, то метод FindField возвращает nil, а метод FieldByName генерирует исключение EDatabaseError.

Параметр FieldName может быть именем обычного поля, или именем дочернего поля, или именем поля совокупной характеристики. Благодаря подобной гибкости методы FieldByName и FindField часто предпочтительнее использования свойств Fields или AggFields.


Навигация по набору данных

Примеры   см.также

Методы перемещают курсор набора данных

Класс TDataSet

Определения

procedure First;

procedure Last;

procedure Next;

procedure Prior;

function MoveBy(Distance: Integer): Integer;

function FindFirst: Boolean;

function FindLast: Boolean;

function FindNext: Boolean;

function FindPrior: Boolean;

Описание

Методы навигации перемещают курсор набора данных на другую запись и делают эту запись активной. Перемещение происходит с учетом условий фильтрации и индексации.  Прежде, чем переместить курсор, любой метод навигации выполняет метод Post для текущей записи, фиксируя тем самым в базе данных результаты ее редактирования. Буфер записи очищается.

Процедуры First, Last, Next, Prior перемещают курсор набора данных соответственно к первой, последней, следующей и предыдущей записям. Процедура First устанавливает в true свойство Bof - первая запись. Процедура Prior тоже устанавливает Bof в true, если текущая запись уже была первой. Процедура Last устанавливает в true свойство Eof - последняя запись. Процедура Next тоже устанавливает Eof в true, если текущая запись уже была последней.

Функция MoveBy перемещает курсор на Distance записей и возвращает число записей, на которые переместился курсор. При положительном значении Distance перемещение происходит по направлению к последней записи, при отрицательном - по направлению к первой записи. Если значение Distance требует выхода за пределы набора данных, то курсор останавливается на крайней (последней или первой) записи и свойство Eof или Bof устанавливается в true. При этом возвращенное функцией значение окажется меньше, чем модуль Distance.

Функции FindFirst, FindLast, FindNext, FindPrior перемещают курсор так же, как процедуры First, Last, Next, Prior. При этом они возвращают true при успешном перемещении. Свойства Eof и Bof не устанавливаются.

См. примеры применения функций навигации.


GetDetailDataSets и GetDetailLinkFields - методы TDataSet

Примеры   см.также

Методы позволяют в наборах данных типа master/detail - головной/вспомогательный (детализирующий) получить доступ к вспомогательным наборам данных и к ключевым полям

Класс TDataSet

Определения

procedure GetDetailDataSets(List: TList);

procedure GetDetailLinkFields(MasterFields,
                              DetailFields: TList);

Описание

Методы GetDetailDataSets и GetDetailLinkFields применяются в наборах данных типа master/detail - головной/вспомогательный (детализирующий). Метод GetDetailDataSets применяется в головном наборе, чтобы получить список List типа TList всех его вспомогательных наборов данных. Список List должен быть создан до обращения к GetDetailDataSets. Метод GetDetailDataSets только заполняет его указателями на объекты TDataSet. Пользуясь заполненным списком List, можно получить доступ и ко всем полям этих вспомогательных наборов данных (см. пример). Речь идет только о связях типа master/detail. Для доступа ко вложенным наборам данных надо использовать свойство NestedDataSets.

Метод GetDetailLinkFields применяется во вспомогательном наборе, чтобы получить доступ к ключевым полям, совпадение значений которых обеспечивает связь головного и вспомогательного наборов. Списки, передаваемые в метод как параметры MasterFields и DetailFields (должны быть созданы до вызова метода), заполняются объектами TField ключевых полей соответственно головного и вспомогательного наборов (см. пример).


GetFieldList - метод TDataSet

см.также

Создает список копий объектов указанных полей

Класс TDataSet

Определение

procedure GetFieldList(List: TList;
                       const FieldNames: string);

Описание

Метод GetFieldList создает список List копий объектов полей, перечисленных в строке FieldNames. Имена полей в FieldNames разделяются точками с запятой. Метод используется в тех сравнительно редких случаях, когда предпочтительнее работать не с самими объектами полей, а с их копиями.


GetFieldNames - метод TDataSet

Примеры   см.также

Заполняет список имен всех полей набора данных

Класс TDataSet

Определения

procedure GetFieldNames(List: TStrings);

Описание

Метод GetFieldNames заполняет список List типа TStrings именами всех полей набора данных, кроме полей совокупных характеристик. Тип списка TStrings удобен, для ввода его в такие компоненты, как TListBox, TComboBox, TMemo и др. (см. пример).


Insert и InsertRecord - методы TDataSet

Примеры   см.также

Вставляют новую запись в набор данных

Класс TDataSet

Определения

procedure Insert;

procedure InsertRecord(const Values: array of const);

Описание

Метод Insert вставляет новую пустую запись в набор данных и делает ее активной. После этого можно предоставить пользователю возможность заполнить поля этой записи и затем занести запись в базу данных методом Post (или методом ApplyUpdates, если осуществляется кэширование). Место размещения новой записи в наборе определяется следующим образом:

•	Для таблиц Paradox с первичным ииндексом запись вставляется в позицию, соответствующую индексу

•	Для таблиц Paradox без первичного ииндекса запись вставляется в текущую позицию курсора индексу

•	Для таблиц dBASE, FoxPro и Access запись вставляется в конец набора данных. Если в данный момент активен индекс, то отображение вставляемой записи может появиться в позиции, соответствующей индексу, но физически запись все равно вставляется в конец таблицы

•	Для баз данных SQL место расположения новой записи зависит от реализации базы данных. Для индексированных таблиц индекс обновляется с учетом новой записи

Метод InsertRecord вставляет в набор данных новую запись, заполняет ее поля значениями, перечисленными в параметре Values и пересылает в базу данных. Новая запись делается активной. В массиве Values заносимые значения перечисляются в той последовательности, в которой расположены поля таблицы. На месте значений тех полей, в которые данные не заносятся, пишется Null. После записи последнего ненулевого значения список Values можно прервать, т.е. не указывать в нем Null для остальных не заполняемых полей (см. примеры).

Метод InsertRecord не удается применить, если какое-то поле, предшествующее последнему вводимому значению, является немодифицируемым, например, автоматически нарастающим (AutoIncrement). Поскольку в такое поле невозможно ввести значение, а оно должно присутствовать в массиве Values, то при применении InsertRecord будет генерироваться исключение.

Место размещения новой записи в базе данных определяется следующими правилами:

•	Для индексированных таблиц Paradox и dBASE запись вставляется в позицию, соответствующую индексу

•	Для неиндексированных таблиц Paradox запись вставляется в текущую позицию курсора

•	Для неиндексированных таблиц dBASE, FoxPro и Access запись вставляется в конец набора данных

•	Для баз данных SQL место расположения новой записи зависит от реализации базы данных. Для индексированных таблиц индекс обновляется с учетом новой записи

Имеется еще два метода внесения новой записи в набор данных - методы Append и AppendRecord. Они отличаются от рассмотренных только позицией размещения записи в физической базе данных.


IsLinkedTo - метод TDataSet

см.также

Проверяет, связан ли с нобором данных указанный источник данных TDataSource

Класс TDataSet

Определения

function IsLinkedTo(DataSource: TDataSource): Boolean;

Описание

Метод IsLinkedTo проверяет, черпает ли указанный источник данных DataSource типа TDataSource информацию из этого набора данных. Метод вовращает true, если DataSource связан с данным набором или с вложенным набором одного из его полей. В остальных случаях возвращается false.


Locate - метод TDataSet

Примеры   см.также

Осуществляет поиск записи в наборе данных

Класс TDataSet

Определение

type

  TLocateOption = (loCaseInsensitive, loPartialKey);

  TLocateOptions = set of TLocateOption;

function Locate(const KeyFields: string;
                const KeyValues: Variant;
                Options: TLocateOptions): Boolean;

Описание

Метод Locate является, наряду с Lookup, SetKey и FindKey, методом поиска записи в наборе данных.

В качестве первого параметра KeyFields передается строка, содержащая список ключевых полей, по которым осуществляется поиск. В качестве второго параметра передается KeyValues - массив ключевых значений. Ищется запись, в которой значения полей KeyFields совпадают с заданными в KeyValues. Третий параметр Options является множеством опций, элементами которого могут быть loCaseInsensitive - нечувствительность поиска к регистру, в котором введены символы, и loPartialKey - допустимость частичного совпадения. Метод возвращает false, если искомая запись не найдена.

Метод Locate отличается от методов SetKey и FindKey прежде всего отсутствием необходимости индексировать определенным образом набор данных. В силу этого Locate более прост и универсален. Кроме того метод Locate, в отличие от SetKey и FindKey, применим к компонентам Microsoft ActiveX Data Objects (ADO) - например, ADOTable и ADOQuery, а также к компонентам InterBase Express (IBX) - например, IBTable и IBQuery.

Метод Locate не требует индексации набора данных. Но если набор данных индексирован по полям KeyFields, то поиск производится быстрее.

При поиске по нескольким полям можно воспользоваться функцией VarArrayOf, которая формирует тип Variant из задаваемого ей массива параметров любого типа. Например (см. примеры):

Table1.Locate('Dep;Fam', VarArrayOf([EDep.Text, EFam.Text]), [loCaseInsensitive,loPartialKey]);


Lookup - метод TDataSet

см.также

Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи

Класс TDataSet

Определение

function Lookup(const KeyFields: string;
                const KeyValues: Variant;
                const ResultFields: string): Variant;

Описание

Метод Lookup относится к методам поиска записи в наборе данных. Но в отличие от других методов поиска - Locate, SetKey и FindKey, метод Lookup не перемещает курсор на найденную запись, а возвращает значения указанных полей этой записи.

В качестве первого параметра KeyFields в метод передается строка, содержащая список ключевых полей, по которым осуществляется поиск. В качестве второго параметра передается KeyValues - массив ключевых значений. Ищется запись, в которой значения полей KeyFields совпадают с заданными в KeyValues. Третий параметр ResultFields - строка, перечисляющая имена полей, значения которых возвращаются. Имена полей в ResultFields разделяются точками с запятой.

Метод возвращает значение или значения полей, перечисленных в ResultFields, в виде значения Variant или массива Variant.

Например, если вы хотите найти в наборе данных Table1 запись, относящуюся к сотруднику, фамилия которого (поле Fam) указана в окне EFam, и вывести в окно EDep название отдела (поле Dep), в котором он работает, то эти операции можно осуществить следующим оператором:

EDep.Text:=Table1.Lookup('Fam',EFam.Text,'Dep');

Возвращенные методом Lookup значения полей могут, в частности, использоваться вместо параметра KeyValues в другом операторе Lookup или Locate. Это открывает широкие возможности формирования сложных запросов по нескольким таблицам.


Open - метод TDataSet

см.также

Открывает набор данных

Класс TDataSet

Определение

procedure Open;

Описание

Процедура Open открывает набор данных, устанавливая его свойство Active в true. Фактически, вызов метода Open и установка Active в true эквивалентны. Подробнее см. в разделе Active.


Post - метод TDataSet

Пример   см.также

Заносит измененную запись в базу данных

Класс TDataSet

Определение

procedure Post;

Описание

Процедура Post заносит измененную методами Edit, Insert, Append запись в базу данных. Метод Post может в ряде случаев вызываться неявно: как последствие вызова методов навигации First, Last, Next, Prior. Поэтому прежде, чем перемещаться на новую запись, полезно проверять свойство Modified, чтобы установить, была ли изменена текущая запись. Для проверки правильности измененных данных и получения от пользователя подтверждения записи в базу данных можно использовать обработчик события BeforePost.


Refresh - метод TDataSet

см.также

Обеспечивает обновление отображаемых данных

Класс TDataSet

Определение

procedure Refresh;

Описание

Метод Refresh обновляет отображаемые данных, беря их из базы данных. Таким образом гарантируется, что отображаются действительно последние значения данных. Например, метод Refresh надо вызывать после отключения фильтрации набора, чтобы гарантировать, что после этого отобразятся все, а не только отфильтрованные ранее данные:

Table1.Filtered:=false;

Table1.Refresh;


SetFields - метод TDataSet

см.также

Устанавливает значения всех полей записи

Класс TDataSet

Определение

procedure SetFields(const Values: array of const);

Описание

Метод SetFields устанавливает значения всех полей активной записи. Массив Values содержит расположенные в последовательности полей записи вносимые значения. Они могут быть строковыми константами, переменными, значениями NULL или nil. Величина NULL соответствует очистке знчения поля. Величина nil означает, что сохраняется прежнее значение поля. Если количество передаваемых в запись значений меньше числа полей, то всем остальным полям записи присваивается значение NULL.

Перед вызовом SetFields состояние State набора данных надо перевести в режим dsEdit методом Edit. А после вызова SetFields занести отредактированную запись в базу данных можно методом Post.

Например:

Table1.Edit;

Table1.SetFields ([nil,Null, Edit1.Text, Edit2.Text, Edit3.Text]);

Table1.Post;

Этот оператор значение первого поля оставляет неизменным, значение второго поля очищает, а в значения следующих трех полей заносятся данные из окон редактирования Edit1, Edit2, Edit3. Все последующие поля очищаются.


Translate - метод TDataSet

см.также

Взаимно преобразует строку символов ANSI (используются в Delphi и Windows) и строку символов OEM (используются в BDE)

Классы TDataSet и TBDEDataSet

Определение

procedure Translate(Src, Dest: PChar; ToOem: Boolean);

Описание

Метод Translate копирует строку Src в строку Dest, преобразуя при этом символы ANSI (используются в Delphi и Windows) в символы OEM (используются в BDE), или наоборот. Если ToOem = true, то символы ANSI преобразуются в OEM. Если ToOem = false, то символы OEM преобразуются в ANSI.


UpdateStatus - метод TDataSet

см.также

Определяет статус обновления текущей записи

Классы TDataSet и TBDEDataSet

Определение

type TUpdateStatus = (usUnmodified, usModified, usInserted, usDeleted);

function UpdateStatus: TUpdateStatus;

Описание

Функция UpdateStatus позволяет определить в случае кэширования, была ли изменена текущая запись, и если была, то как именно. Возможные возвращаемые значения:

usUnmodified	запись не изменена
usModified	запись модифицирована
usInserted	запись была вставлена
usDeleted	запись была удалена

В зависимости от возвращенного значения можно применять те или иные операции при переносе кэшированных изменений в базу данных.


AfterCancel и BeforeCancel - события TDataSet

Пример   см.также

События, возникающие при выполнении метода Cancel

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                           of object;

property AfterCancel: TDataSetNotifyEvent;

property BeforeCancel: TDataSetNotifyEvent;

Описание

Событие BeforeCancel наступает в начале выполнения метода Cancel, а событие AfterCancel наступает после выполнения этой процедуры. Параметр DataSet указывает объект набора данных, к которому применяется метод Cancel.

Обработчики событий BeforeCancel и AfterCancel могут использоваться для каких-то операций, которые необходимо произвести при отказе от исправлений текущей записи, осуществляемом методом Cancel. Например, в обработчике BeforeCancel можно предусмотреть сохранение изменений в каком-то буфере или вообще отказаться от выполнения Cancel, вызвав функцию Abort.


AfterClose и BeforeClose - события TDataSet

Пример1   Пример2   см.также

События, возникающие при закрытии соединения с набором данных

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                   of object;

property AfterClose: TDataSetNotifyEvent;

property BeforeClose: TDataSetNotifyEvent;

Описание

Событие BeforeClose наступает перед закрытием набора данных методом Close или установкой свойства Active в false. Событие AfterClose наступает после закрытия набора данных. Параметр DataSet указывает объект закрываемого набора данных.

Обработчики событий BeforeClose и AfterClose могут использоваться для каких-то операций, которые необходимо произвести при закрытии набора данных. Например, в обработчике события BeforeClose можно предусмотреть запрос пользователю о необходимости закрыть набор данных и при отрицательном ответе пользователя прекратить закрытие, вызвав функцию Abort. Можно также проверить наличие несохраненных кэшированных изменений и сохранить их в базе данных (см. пример).


AfterDelete и BeforeDelete - события TDataSet

Пример   см.также

События, возникающие при удалении текущей записи методом Delete

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                     of object;

property AfterDelete: TDataSetNotifyEvent;

property BeforeDelete: TDataSetNotifyEvent;

Описание

Событие BeforeDelete наступает перед удалением текущей записи методом Delete. Событие AfterDelete наступает после удаления записи.  Параметр DataSet указывает объект набора данных, запись которого удаляется.

Обработчики событий BeforeDelete и AfterDelete могут использоваться для каких-то операций, которые необходимо произвести при удалении записи. Например, в обработчике события BeforeDelete можно предусмотреть запрос пользователю о необходимости удаления и при отрицательном ответе пользователя прекратить удаление, вызвав функцию Abort.


AfterEdit и BeforeEdit - события TDataSet

см.также

События, возникающие перед началом и после начала редактирования записи

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                     of object;

property AfterEdit: TDataSetNotifyEvent;

property BeforeEdit: TDataSetNotifyEvent;

Описание

Событие BeforeEdit наступает перед началом перехода набора данных в режим редактирования. Событие AfterEdit наступает сразу после перехода набора данных в режим редактирования. Параметр DataSet указывает объект редактируемого набора данных.

Обработчик события BeforeEdit можно использовать, например, чтобы запретить редактирование. Для этого в нем можно вызвать функцию Abort. Обработчик события AfterEdit можно использовать для какого-то извещения пользователя о начале редактирования, например, для отображения соответствующего сообщения в строке состояния приложения.


AfterInsert и BeforeInsert - события TDataSet

Пример   см.также

События, возникающие непосредственно перед и после вставки новой записи

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                     of object;

property AfterInsert: TDataSetNotifyEvent;

property BeforeInsert: TDataSetNotifyEvent;

Описание

Событие BeforeInsert наступает перед переходом набора данных в режим вставки записи в результате вызова методов Insert или Append. Событие AfterInsert наступает сразу после вставки записи в результате вызова этих методов. Параметр DataSet указывает объект редактируемого набора данных.

Обработчик события BeforeInsert можно использовать, например, чтобы запретить вставку. Для этого в нем можно вызвать функцию Abort. Обработчик события AfterInsert можно использовать для какого-то извещения пользователя о начале вставки, например, для отображения соответствующего сообщения в строке состояния приложения.


AfterOpen и BeforeOpen - события TDataSet

Пример   см.также

События, возникающие непосредственно перед и после открытия набора данных

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                     of object;

property AfterOpen: TDataSetNotifyEvent;

property BeforeOpen: TDataSetNotifyEvent;

Описание

Событие BeforeOpen наступает перед открытием набора данных, т.е. при установке свойства Active в true или при вызове метода Open. Событие AfterOpen наступает сразу после открытия набора данных, когда он устанавливается в состояние dsBrowse. Параметр DataSet указывает объект редактируемого набора данных.

Обработчики событий BeforeOpen и AfterOpen могут выполнять какие-то действия, необходимые при открытии набора данных. Например, обработчик события AfterOpen можно использовать для того, чтобы прочитать в реестре или файле конфигурации номер записи, с которой приложение работало в последний раз, и установить курсор на эту запись.


AfterPost и BeforePost - события TDataSet

Пример   см.также

События, возникающие непосредственно перед и после пересылки изменений в текущей записи в базу данных или буфер

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                     of object;

property AfterPost: TDataSetNotifyEvent;

property BeforePost: TDataSetNotifyEvent;

Описание

Событие BeforePost наступает перед пересылкой методом Post изменений в текущей записи в базу данных или буфер кеширования. Событие AfterPost наступает сразу после пересылки измененной записи. Параметр DataSet указывает объект редактируемого набора данных.

Обработчик события BeforePost можно использовать для проверки правильности исправлений в записи и запроса подтверждения исправлений со стороны пользователя (см. пример). В этом обработчике можно отказаться от пересылки исправлений, вызвав фунцию Abort. Обработчик события AfterPost можно использовать для сообщения пользователю о результатах пересылки исправлений в базу данных.


AfterRefresh и BeforeRefresh - события TDataSet

см.также

События, возникающие непосредственно перед и после обновления отображаемых данных методом Refresh

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                     of object;

property AfterRefresh: TDataSetNotifyEvent;

property BeforeRefresh: TDataSetNotifyEvent;

Описание

Событие BeforeRefresh наступает перед обновлением отображаемых данных методом Refresh. Событие AfterRefresh наступает сразу после такого обновления. Параметр DataSet указывает объект отображаемого набора данных.

Обработчики событий AfterRefresh и BeforeRefresh можно использовать для каких-то операций, которые должны осуществляться при обновлении отображаемых данных, например, для соответствующей настройки компонентов, отображающих данные, для выдачи каких-то сообщений пользователю и т.п.


AfterScroll и BeforeScroll - события TDataSet

см.также

События, возникающие непосредственно перед и после перемещения указателя таблицы на новую запись

Класс TDataSet

Определения

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                     of object;

property AfterScroll: TDataSetNotifyEvent;

property BeforeScroll: TDataSetNotifyEvent;

Описание

Событие BeforeScroll наступает перед перемещением на новую запись методами First, Last, MoveBy, Next, Prior, FindKey, FindFirst, FindNext, FindLast, FindPrior, Locate. Это событие наступает раньше всех иных событий, связанных с перемещением по таблице. Событие AfterScroll наступает сразу после такого перемещения. Параметр DataSet указывает объект набора данных.

Обработчики событий AfterScroll и BeforeScroll можно использовать для каких-то операций, которые должны осуществляться при навигации по таблице. Например, в обработчике события BeforeScroll можно запретить перемещение, вызвав функцию Abort. Можно проверить по свойству Modified, были ли изменения в текущей записи, и если были, то решить, допустим ли последующий автоматический вызов метода Post.


OnCalcFields - событие TDataSet

Пример   см.также

События, наступающее при необходимости пересчитать значения вычисляемых полей

Класс TDataSet

Определение

type TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                     of object;

property OnCalcFields: TDataSetNotifyEvent;

Описание

В обработчике события OnCalcFields записываются операторы расчета вычисляемого поля, т.е. поля, значение которого подсчитывается в приложении на основании какого-то алгоритма и с использованием значений других полей. Параметр DataSet указывает объект набора данных. Через него можно полусить доступ к другим полям активной заеиси набора данных (например, DataSet.FieldByName('...')).

Событие OnCalcFields наступает при значении свойства AutoCalcFields равном true в следующих случаях:

•	При открытии набора данных

•	При переходе в режим редакирования - установке состояния набора State в dsEdit

•	При перемещении фокуса с одного компонента, связанного с данными, на другой или с одной строки таблицы, отображающей данные, на другую, если запись была модифицирована

•	При считывании записи из базы данных

При AutoCalcFields = true обработчик события OnCalcFields не должен модифицировать набор данных, так как это вызовет генерацию нового события OnCalcFields и зацикливание программы вследствие рекурсивных вызовов обработчика.

Если приложение позволяет пользователю изменять данные, событие OnCalcFields может наступать слишком часто, замедляя выполнение программы, если обработчик OnCalcFields требует достаточно сложных вычислений. В этих случаях может оказаться полезным установить AutoCalcFields = false. Тогда событие OnCalcFields не будет наступать при изменении пользователем значения отдельного поля записи.

Если набор данных DataSet является головным в соотношении головной/вспомогательный (детализирующий) набор, то событие OnCalcFields наступает до того, как вспомогательный набор синхронизируется с головной таблицей. Неучет этого обстоятельства может привести к ошибочному расчету значения вычисляемого поля.


OnDeleteError - событие TDataSet

см.также

Событие наступает, если в процессе удаления записи генерируется исключение

Класс TDataSet

Определение

type

  TDataAction = (daFail, daAbort, daRetry);

  TDataSetErrorEvent =

       procedure(DataSet: TDataSet;
                 E: EDatabaseError;

                 var Action: TDataAction) of object;

property OnDeleteError: TDataSetErrorEvent;

Описание

Обработчик события OnDeleteError пишется, чтобы обработать исключение, которое генерируется при неудачной попытке удалить запись. Параметр DataSet указывает набор данных, из которого неудачно удалялась запись. Параметр E является указателем на объект исключения EDatabaseError, свойство Message которого (E.Message) содержит строку сообщения об ошибке. Впрочем, если уж отображать сообщение об ошибке, то лучше это делать на русском языке, заменив стандартное значение Message. Параметр Action типа TDataAction (объявлен в модуле Comctrls), передаваемый по ссылке, указывает характер действий после выхода из обработчика:

daFail	Прерывание операции удаления и отображение сообщения об ошибке (если сообщение уже отображалось в обработчике, то это будет повторное, явно избыточное сообщение)
daAbort	Прерывание операции удаления без отображения сообщения об ошибке
daRetry	Повторить операцию удалени. Это имеет смысл, если в обработчике произведены операции, устраняющие причину ошибки

При первом обращении к обработчику OnDeleteError значение Action равно daFail.


OnEditError - событие TDataSet

см.также

Событие наступает при генерации исключения в процессе редактирования или вставки записи

Класс TDataSet

Определение

type

  TDataAction = (daFail, daAbort, daRetry);

  TDataSetErrorEvent =

       procedure(DataSet: TDataSet;
                 E: EDatabaseError;

                 var Action: TDataAction) of object;

property OnEditError: TDataSetErrorEvent;

Описание

Событие OnEditError наступает, если была сделана попытка редактирования или вставки записи и она закончилась неудачей - генерацией исключения. В обработчике события OnEditError можно предусмотреть действия, необходимые в этом случае.

Параметр DataSet - редактируемый набор данных. Параметр E - указатель на объект ошибки, содержащий сообщение сгенерированного исключения. Его свойство E.Message содержит сообщение об ошибке, а свойство E.HelpContext - номер темы контекстной справки. Пользуясь этими свойствами, можно отобразить пользователю сообщение об ошибке и какие-то рекомендации по его дальнейшим действиям.

Передаваемый по ссылке параметр Action указывает, как должен реагировать набор данных в ответ на произошедшую ошибку после завершения выполнения данного обработчика события. Параметр Action может иметь значения:

daFail	Прерывание операции, приведшей к ошибке, и отображение пользователю сообщения об ошибке
daAbort	Прерывание операции, приведшей к ошибке, без отображения пользователю сообщения об ошибке
daRetry	Повторение операции, приведшей к ошибке. Если обработчик возвращает это значение, то он должен принять меры к устранению причин, вызвавших ошибку

При обращении к обработчику значение Action равно daFail.


OnFilterRecord - событие TDataSet

Пример   см.также

Событие наступает каждый раз при перемещении на другую запись, если разрешена фильтрация

Класс TDataSet

Определение

type

  TFilterRecordEvent = procedure(DataSet: TDataSet;
                      var Accept: Boolean) of object;

property OnFilterRecord: TFilterRecordEvent;

Описание

Событие OnFilterRecord наступает каждый раз при перемещении на другую запись, если разрешена фильтрация, т.е. если свойство Filtered установлено в true. Обработчик события OnFilterRecord может определить, должна ли данная запись быть видимой в приложении. Если должна, то параметр Accept надо установить в true, если не должна - в false (см. пример). Параметр DataSet - набор данных, с которым ведется работа.

Например,

Обработчик события OnFilterRecord позволяет сформулировать сложные условия фильтрации, основанные на сравнении значений различных полей, которые невозможно занести в компактной форме в свойство Filter. Впрочем, если используется и Filter, и обработчик OnFilterRecord, то они действуют совместно и надо следить за тем, чтобы соответствующие условия фильтрации не противоречили друг другу.

Если какие-то значения, используемые в обработчике OnFilterRecord, изменяются, надо обеспечить генерацию нового события OnFilterRecord. Это можно сделать, например, отукючив и включив фильтрацию свойством Filtered. В момент установки Filtered в true будет сгенерировано новое событие OnFilterRecord и обработчик этого события сработает.


OnNewRecord - событие TDataSet

см.также

Событие наступает при вставке в набор данных новой записи

Класс TDataSet

Определение

type

  TDataSetNotifyEvent = procedure(DataSet: TDataSet)
                                          of object;

property OnNewRecord: TDataSetNotifyEvent;

Описание

Событие OnNewRecord наступает при выполнении методов Insert и  Append, и осуществляющих вставку новой записи в набор данных DataSet. Обработчик этого события может предусматривать задание начальных значений полей записи или осуществлять каскадную вставку новых записей в связанные наборы данных.


OnPostError - событие TDataSet

см.также

Событие наступает при генерации исключения в процессе пересылки в базу данных измененной записи

Класс TDataSet

Определение

type

  TDataAction = (daFail, daAbort, daRetry);

  TDataSetErrorEvent = procedure(DataSet: TDataSet;
                       E: EDatabaseError;
                       var Action: TDataAction)
                                         of object;

property OnPostError: TDataSetErrorEvent;

Описание

Событие OnPostError наступает, если была сделана попытка переслать методом Post в базу данных или в буфер кэша измененную запись и она закончилась неудачей - генерацией исключения. В обработчике события OnPostError можно предусмотреть действия, необходимые в этом случае.

Параметр DataSet - набор данных, с которым ведется работа. Параметр E - указатель на объект ошибки, содержащий сообщение сгенерированного исключения. Его свойство E.Message содержит сообщение об ошибке, а свойство E.HelpContext - номер темы контекстной справки. Пользуясь этими свойствами, можно отобразить пользователю сообщение об ошибке и какие-то рекомендации по его дальнейшим действиям.

Передаваемый по ссылке параметр Action указывает, как должен реагировать набор данных в ответ на произошедшую ошибку после завершения выполнения данного обработчика события. Параметр Action может иметь значения:

daFail	Прерывание операции, приведшей к ошибке, и отображение пользователю сообщения об ошибке
daAbort	Прерывание операции, приведшей к ошибке, без отображения пользователю сообщения об ошибке
daRetry	Повторение операции, приведшей к ошибке. Если обработчик возвращает это значение, то он должен принять меры к устранению причин, вызвавших ошибку

При обращении к обработчику значение Action равно daFail.


OnUpdateError - событие TBDEDataSet

см.также

Событие наступает при генерации исключения в процессе пересылки в базу данных измененной записи

Класс TBDEDataSet

Определение

type

  TUpdateAction = (uaFail, uaAbort, uaSkip,
                   uaRetry, uaApplied);

  TUpdateKind = (ukModify, ukInsert, ukDelete);

  TUpdateErrorEvent = procedure(DataSet: TDataSet;
                      E: EDatabaseError;
                      UpdateKind: TUpdateKind;
                      var UpdateAction: TUpdateAction)
                                            of object;

property OnUpdateError: TUpdateErrorEvent;

Описание

Событие OnUpdateError наступает, если была сделана попытка переслать в базу кэшированные изменения и она закончилась неудачей - генерацией исключения. Поскольку начало кэширования и пересылка изменений в базе данных разнесены во времени, то может оказаться, что другое приложение уже успело изменить записи, которые были кэшированы. В этом случае Borland Database Engine (BDE) осуществляет соответствующие проверки, и если они не привели к удовлетворительному результату, то генерируется исключение. В этом случае наступает событие OnUpdateError.  В обработчике этого события можно предусмотреть действия, необходимые в этом случае.

Параметр DataSet - набор данных, с которым ведется работа. Параметр E - указатель на объект ошибки, содержащий сообщение сгенерированного исключения. Его свойство E.Message содержит сообщение об ошибке, а свойство E.HelpContext - номер темы контекстной справки. Пользуясь этими свойствами, можно отобразить пользователю сообщение об ошибке и какие-то рекомендации по его дальнейшим действиям.

Значение параметра UpdateKind указывает, случилась ли ошибка во время вставки (значение ukInsert), удаления (значение ukDelete) или модификации (значение ukModify)  записи.

 Передаваемый по ссылке параметр UpdateAction указывает, как должен реагировать набор данных в ответ на произошедшую ошибку после завершения выполнения данного обработчика события. Параметр UpdateAction может иметь значения:

uaAbort	Прерывание операции, приведшей к ошибке, без отображения пользователю сообщения об ошибке
uaFail	Прерывание операции, приведшей к ошибке, и отображение пользователю сообщения об ошибке
daRetry	Повторение операции, приведшей к ошибке. Если обработчик возвращает это значение, то он должен принять меры к устранению причин, вызвавших ошибку
uaSkip	Пропуск пересылки текущей записи и оставление ее в кэше

При обращении к обработчику значение UpdateAction равно daFail.

Обработчик события может использовать свойства TField.OldValue и TField.NewValue, чтобы изменить условия сравнения и задать новое значение TField.NewValue. В этом случае надо повторить попытку пересылки, задав  UpdateAction равным uaRetry.

Следует отметить, что если исключение сгенерировано методом ApplyUpdates и не перехвачено в блоке try...except, то пользователю будет предъявлено окно с сообщением об ошибке. Если в этом случае обработчик события OnUpdateError оставил неизменным и равным uaFail значение UpdateAction, то окно с сообщением об ошибке будет отображаться дважды. Чтобы предотвратить это, надо установить UpdateAction равным uaAbort.

Обработчик события OnUpdateError не должен вызывать методов навигации, перемещающих курсор на другую запись.


OnUpdateRecord - событие TBDEDataSet

см.также

Событие наступает при пересылке кэшированной записи в базу данных

Класс TBDEDataSet

Определение

type

  TUpdateAction = (uaFail, uaAbort, uaSkip,
                   uaRetry, uaApplied);

  TUpdateKind = (ukModify, ukInsert, ukDelete);

  TUpdateRecordEvent = procedure(DataSet: TDataSet;
                           UpdateKind: TUpdateKind;
            var UpdateAction: TUpdateAction) of object;

property OnUpdateRecord: TUpdateRecordEvent;

Описание

Событие OnUpdateRecord наступает при пересылке в базу кэшированной записи методом ApplyUpdates. Обработчик этого события можно использовать, например, когда пересылка данной записи сопряжена с каскадом операций по вставке, удалению или модификации других записей. В обработчике события OnUpdateRecord можно также предусмотреть какой-то дополнительный контраль данных.

Параметр DataSet - набор данных, с которым ведется работа. Значение параметра UpdateKind указывает, случилась ли ошибка во время вставки (значение ukInsert), удаления (значение ukDelete) или модификации (значение ukModify)  записи.

 Передаваемый по ссылке параметр UpdateAction указывает, какие действия должны выполняться после окончания выполнения обработчика события. Параметр UpdateAction может иметь значения:

uaAbort	Прерывание операции без отображения пользователю сообщения об ошибке
uaApplied	Завершение пересылки и удаление текущей записи из кэша
uaFail	Прерывание операции и отображение пользователю сообщения об ошибке
uaSkip	Пропуск пересылки текущей записи и оставление ее в кэше

При обращении к обработчику значение UpdateAction равно daFail. Если в обработчике не обнаружено препятствий к завершению пересылки, значение UpdateAction следует задать равным uaApplied.

Обработчик события OnUpdateRecord не должен вызывать методов навигации, перемещающих курсор на другую запись.

Альтернативой написания обработчика события OnUpdateRecord является использование для обработки пересылки клиентского набора данных и объекта типа TUpdateSQL. Это может обеспечить лучшее управление пересылкой.


TFields - класс
TFields - класс списков объектов полей

Иерархия   Свойства   Методы

Класс совокупности объектов полей набора данных

Модуль system

Описание

Класс TFields используется для описания совокупности объектов полей наборов данных TDataSet, включая иерархические структуры с дочерними полями.

Если значение TDataSet.ObjectView равно true, то поля хранятся в TFields иерархически: родительское поле ссылается на дочерние поля. Если значение TDataSet.ObjectView равно false, то поля хранятся в TFields "плоско", т.е. дочерние поля хранятся после родительского поля.

Свойства и методы TFields позволяют:

•	Получить доступ к определенному полю

•	Добавлять и удалять поля списка

•	Определять число полей в списке


Свойства TFields

TFields

Свойство	Описание
Count	Число объектов полей. Только для чтения
DataSet	Набор данных, с которым связан объект TFields. Только для чтения
Fields	Список ссылок на поля


Fields - свойство TFields

Примеры см.также

Список ссылок на поля

Класс TFields

Определение

property Fields[Index: Integer]: TField;

Описание

Свойство Fields - индексированный список указателей на объекты полей типа TField. Индексы Index начинаются с 0. Число полей в списке определяется свойством Count. С помощью Fields можно присвоить свойства какого-то другого объекта TField полю данного списка.


методы класса TFields
Основные методы класса TFields

Все методы   TFields

Метод	Описание
CheckFieldName	Проверяет наличие поля с заданным именем
FieldByName	Доступ к полю по его имени
FieldByNumber	Доступ к полю по его индексу в TFields, если порядковый номер поля известен
FindField	Доступ к полю по его имени
GetFieldNames	Возвращает список имен всех полей объекта TFields
IndexOf	Возвращает номер индекса объекта TField в списке TFields


Все методы класса TFields

Основные методы   TFields

Метод	Описание
Add	Добавляет новое поле TField в конец массива Fields. При создании объектов полей вызывается автоматически и непосредственно вызываться не должен
After Construction	Вызывается автоматически после создания объекта
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
CheckField Names	Проверяет наличие полей из заданного списка имен. Непосредственно не вызывается
CheckFieldName	Проверяет наличие поля с заданным именем
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Удаляет все поля из списка. Непосредственно не вызывается
Create	Содает объект TFields. Обычно вызывается автоматически
Create	Конструктор. Не осуществляет инициализацию каких-то данных, так что перегружается в классах-наследниках
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Вызов деструктора объекта. Вместо Destroy всегда лучше использовать Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FieldByName	Доступ к полю по его имени
FieldByNumber	Доступ к полю по его индексу в TFields, если порядковый номер поля известен
FindField	Доступ к полю по его имени
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetFieldNames	Возвращает список имен всех полей объекта TFields
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
IndexOf	Возвращает номер индекса объекта TField в списке TFields
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Remove	Удаляет объект поля из списка TFields. Непосредственно не вызывается
SafeCall Exception	Обрабатывает исключения OLE и Com


FieldByName - метод TFields

Примеры   см.также

Обеспечивает доступ к полю по его имени

Класс TFields

Определение

function FieldByName(const FieldName: String): TField;

Описание

Метод FieldByName возвращает объект поля TField, заданный параметром метода FieldName. Далее можно использовать свойства и методы объекта поля.

Если поля с заданным именем не обнаружено, генерируется исключение. Поэтому более удобным является метод FindField.


FindField - метод TFields

Пример   см.также

Обеспечивает доступ к полю по его имени

Класс TFields

Определение

function FindField(const FieldName: String): TField;

Описание

Метод FindField возвращает объект поля TField, имеющий указанное имя FieldName. Предварительно проверяется наличие данного поля в списке. Если искомого нет, возвращается nil. В этом отличия данного метода от FieldByName, который при отсутствии поля генерирует исключение.


GetFieldNames - метод TFields

Пример   см.также

Возвращает список имен всех полей объекта TFields

Класс TFields

Определение

procedure GetFieldNames(List: TStrings);

Описание

Метод GetFieldNames возвращает список имен всех полей объекта TFields в виде списка типа TStrings (см. пример).


IndexOf - метод TFields

см.также

Возвращает номер индекса объекта TField в списке TFields

Класс TFields

Определение

function IndexOf(Field: TField): Integer;

Описание

Метод IndexOf возвращает номер индекса объекта Field типа TField в списке Fields типа TFields. Индексы начинаются с 0. Если поле в списке не найдено, возвращается -1.


TField - класс
TField - базовый класс всех объектов полей

Иерархия   Свойства   Методы   События

Базовый класс всех объектов полей наборов данных

Модуль db

Описание

Класс TField описывает свойства, методы, события общие для всех объектов полей наборов данных:

•	Изменение значений полей

•	Взаимные преобразования значений полей различных типов

•	Ограничения вводимых значений полей

•	Отображение данных полей

•	Расчет значений вычисляемых полей в обработчике события OnCalcFields

•	Поля просмотра

Объекты типа TField не используются. Реально генерируются объекты многочисленных потомков класса TField:

TADTField	TDateField	TReferenceField
TAggregateField	TDateTimeField	TSmallIntField
TArrayField	TFloatField	TStringField
TAutoIncField	TGraphicField	TTimeField
TBCDField	TGuidField	TVarBytesField
TBlobField	TIDispatchField	TVariantField
TBooleanField	TIntegerField	TWideStringField
TBytesField	TLargeIntField	TWordField
TCurrencyField	TMemoField

Кроме того имеется ряд абстрактных классов - наследников TField: TBinaryField, TDataSetField, TInterfaceField, TNumericField, TObjectField.


Основные свойства TField

Все свойства   TField

Свойство	Описание
Alignment	Определяет выравнивание данных при их отображении в компонентах, связанных с данными
AsBoolean	Преобразует значение поля типа Boolean
AsCurrency	Преобразует значение поля типа Currency
AsDateTime	Преобразует значение поля типа TDateTime
AsFloat	Преобразует значение поля типа Double
AsInteger	Преобразует значение поля типа Integer
AsString	Преобразует значение поля типа String
AsVariant	Преобразует значение поля типа Variant
AttributeSet	Имя множества атрибутов словаря данных, применяемого к данному полю
AutoGenerate Value	Показывает, может ли значение поля автоматически генерироваться и обновляться в базе данных на сервере
Calculated	Определяет, является ли поле вычисляемым в обработчике события OnCalcFields
CanModify	Определяет, может ли данное поле модифицироваться. Только для чтения
Constraint ErrorMessage	Определяет строку сообщения, появляющуюся при вводе пользователем значения, нарушающего ограничение, установленное сервером или свойством CustomConstraint
CurValue	Текущее значение поля с учетом изменений, внесенных другими пользователями. Только для чтения
Custom Constraint	Строка SQL, содержащая ограничение на вводимые значения поля
DataSet	Набор данных TDataSet, к которому относится объект поля. Значение DataSet устанавливается автоматичеки и не должно задаваться явно
DataSize	Размер в байтах, необходимый для хранения значения поля. Только для чтения
DataType	Определяет тип данных, хранящихся в поле. Только для чтения
Default Expression	Выражение SQL, которое присваивает значение поля, если пользователь не задал никакого значения
DisplayLabel	Строка, отображаемая как заголовок столбца в таблице данных. Установка DisplayLabel изменяет DisplayName с FieldName на заданное значение DisplayLabel
DisplayName	Строка, отображаемая как заголовок столбца в таблице данных. Равна FieldName. Только для чтения
DisplayText	Строка, отображающая в текстовом виде значение поля. Только для чтения
DisplayWidth	Число символов, которые отображаются в компоненте, связанном с данными
EditMask	Маска, используемая для ввода данных
EditMaskPtr	Доступ к маске EditMask только для чтения, позволяющий избежать случайного изменения маски
FieldKind	Указывает, является ли поле обычным полем базы данных, или вычисляемым полем, или полем просмотра
FieldName	Имя поля
FieldNo	Порядковый номер поля в таблице базы данных. Номера начинаются с 1. Могут не совпадать с индексом в массиве Fields набора данных. Свойство только для чтения
FullName	Полное имя с перечислением имен родительских полей (если они имеются). Только для чтения
HasConstraints	Указывает, имеются ли ограничения на вводимые значения поля. Только для чтения
Imported Constraint	Импортируемое с сервера ограничение
Index	Индекс объекта поля в свойстве Fields набора данных
IsIndexField	Указывает, является ли поле полем индекса. Только для чтения
IsNull	Указывает, отсутствует ли у поля значение (при true), или какое-то значение присвоено. Только для чтения
KeyFields	Строка, содержащая список ключевых полей набора данных DataSet, используемый в поле просмотра
Lookup	Указывает, является ли данное поле полем просмотра
LookupCache	Определяет должны ли значения поля просмотра кэшироваться, или просмотр должен осуществляться при каждом изменении текущей записи
LookupDataSet	Набор данных, который просматривается при определении значения поля просмотра
LookupKey Fields	Строка, содержащая список ключевых полей набора данных LookupDataSet, используемый в поле просмотра
LookupList	Кэш значений набора данных LookupDataSet, индексированных множеством полей KeyFields. Только для чтения
LookupResult Field	Поле набора данных LookupDataSet, значение которого переносится в поле просмотра
NewValue	Текущее (новое) значение поля
Offset	Число байтов, добавляемых в конец текущей записи в буфер кэширования TClientDataSet для размещения вычисляемых полей и полей BLOB. Только для чтения
OldValue	Прежнее (до редактирования) значение поля. Только для чтения
Origin	Имя поля в наборе данных, включая имена базы данных и таблицы
ParentField	Объект родительского поля для данного дочернего поля (в Oracle8 или ADT)
ProviderFlags	Флаги, определяющие работу провайдера при обновлении данных
ReadOnly	Указывает, является ли значение поля значением только для чтения
Required	Указывает, должно ли это поле обязательно иметь значение, или оно может оставаться пустым
Size	Размер, определенный в описании поля базы данных, для типов полей, поддерживающих различные размеры
Text	Строка, отображающая значение поля в компонентах, связанных с данными, в режиме редактирования
ValidChars	Определяет символы, которые могут использоваться при редактировании значения поля
Value	Значение поля
Visible	Определяет видимость поля в таблицах данных TDBGrid


Все свойства TField

Основные свойства   TField

Свойство	Описание
Alignment	Определяет выравнивание данных при их отображении в компонентах, связанных с данными
AsBoolean	Преобразует значение поля типа Boolean
AsCurrency	Преобразует значение поля типа Currency
AsDateTime	Преобразует значение поля типа TDateTime
AsFloat	Преобразует значение поля типа Double
AsInteger	Преобразует значение поля типа Integer
AsString	Преобразует значение поля типа String
AsVariant	Преобразует значение поля типа Variant
AttributeSet	Имя множества атрибутов словаря данных, применяемого к данному полю
AutoGenerate Value	Показывает, может ли значение поля автоматически генерироваться и обновляться в базе данных на сервере
Calculated	Определяет, является ли поле вычисляемым в обработчике события OnCalcFields
CanModify	Определяет, может ли данное поле модифицироваться. Только для чтения
ComObject	Ссылка на интерфейс в стандарте COM
Component Count	Число компонентов в массиве Components
Component Index	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Component State	Состояние объекта поля в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых классов
Components	Массив компонентов, которыми владеет данный объект поля. Позволяет сослаться на любой компонент с помощью его ComponentIndex
Constraint ErrorMessage	Определяет строку сообщения, появляющуюся при вводе пользователем значения, нарушающего ограничение, установленное сервером или свойством CustomConstraint
CurValue	Текущее значение поля с учетом изменений, внесенных другими пользователями. Только для чтения
Custom Constraint	Строка SQL, содержащая ограничение на вводимые значения поля
DataSet	Набор данных TDataSet, к которому относится объект поля. Значение DataSet устанавливается автоматичеки и не должно задаваться явно
DataSize	Размер в байтах, необходимый для хранения значения поля. Только для чтения
DataType	Определяет тип данных, хранящихся в поле. Только для чтения
Default Expression	Выражение SQL, которое присваивает значение поля, если пользователь не задал никакого значения
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
DisplayLabel	Строка, отображаемая как заголовок столбца в таблице данных. Установка DisplayLabel изменяет DisplayName с FieldName на заданное значение DisplayLabel
DisplayName	Строка, отображаемая как заголовок столбца в таблице данных. Равна FieldName. Только для чтения
DisplayText	Строка, отображающая в текстовом виде значение поля. Только для чтения
DisplayWidth	Число символов, которые отображаются в компоненте, связанном с данными
EditMask	Маска, используемая для ввода данных
EditMaskPtr	Доступ к маске EditMask только для чтения, позволяющий избежать случайного изменения маски
FieldKind	Указывает, является ли поле обычным полем базы данных, или вычисляемым полем, или полем просмотра
FieldName	Имя поля
FieldNo	Порядковый номер поля в таблице базы данных. Номера начинаются с 1. Могут не совпадать с индексом в массиве Fields набора данных. Свойство только для чтения
FullName	Полное имя с перечислением имен родительских полей (если они имеются). Только для чтения
HasConstraints	Указывает, имеются ли ограничения на вводимые значения поля. Только для чтения
Imported Constraint	Импортируемое с сервера ограничение
Index	Индекс объекта поля в свойстве Fields набора данных
IsIndexField	Указывает, является ли поле полем индекса. Только для чтения
IsNull	Указывает, отсутствует ли у поля значение (при true), или какое-то значение присвоено. Только для чтения
KeyFields	Строка, содержащая список ключевых полей набора данных DataSet, используемый в поле просмотра
Lookup	Указывает, является ли данное поле полем просмотра
LookupCache	Определяет должны ли значения поля просмотра кэшироваться, или просмотр должен осуществляться при каждом изменении текущей записи
LookupDataSet	Набор данных, который просматривается при определении значения поля просмотра
LookupKey Fields	Строка, содержащая список ключевых полей набора данных LookupDataSet, используемый в поле просмотра
LookupList	Кэш значений набора данных LookupDataSet, индексированных множеством полей KeyFields. Только для чтения
LookupResult Field	Поле набора данных LookupDataSet, значение которого переносится в поле просмотра
Name	Имя объекта поля, по которому производится ссылка на него
NewValue	Текущее (новое) значение поля
Offset	Число байтов, добавляемых в конец текущей записи в буфер кэширования TClientDataSet для размещения вычисляемых полей и полей BLOB. Только для чтения
OldValue	Прежнее (до редактирования) значение поля. Только для чтения
Origin	Имя поля в наборе данных, включая имена базы данных и таблицы
Owner	Определяет владельца данного объекта поля
ParentField	Объект родительского поля для данного дочернего поля (в Oracle8 или ADT)
ProviderFlags	Флаги, определяющие работу провайдера при обновлении данных
ReadOnly	Указывает, является ли значение поля значением только для чтения
Required	Указывает, должно ли это поле обязательно иметь значение, или оно может оставаться пустым
Size	Размер, определенный в описании поля базы данных, для типов полей, поддерживающих различные размеры
Tag	Это свойство не используется в Delphi. Разработчик может использовать его по своему усмотрению, как то помечая некоторые объекты поля
Text	Строка, отображающая значение поля в компонентах, связанных с данными, в режиме редактирования
ValidChars	Определяет символы, которые могут использоваться при редактировании значения поля
Value	Значение поля
VCLComObject	Используется только в среде Delphi
Visible	Определяет видимость поля в таблицах данных TDBGrid


Основные методы класса TField

Все методы   TField

Метод	Описание
Assign	Копирует в свойство Value значение другого поля или другого объекта
AssignValue	Задает значение поля, используя свойства AsInteger, AsBoolean, AsString, AsFloat. В основном для внутреннего использования
Clear	Устанавливает значение поля в NULL (очищает его)
Create	Создает объект поля (только в классах - наследниках TField). Как правило, вызывается автоматически
Destroy	Уничтожает экземпляр TField. Явным образом не вызывается
FocusControl	Переключает фокус на первый из компонентов, отображающих данное поле. Позволяет обратить внимание пользователя на значение поля
GetData	Возвращает неформатированное ("сырое") значение поля
GetParent Component	Возвращает компонент, управляющий загрузкой и сохранением поля: для дочернего поля - родительский объект поля, для остальных - набор данных
HasParent	Указывает, является ли поле составной частью структуры другого поля (имеет ли оно родительское поле)
IsBlob	Определяет, является ли объект полем типа BLOB (binary large object)
IsValidChar	Проверяет, является ли указанный символ допустимым для данного поля
RefreshLookup List	Обновляет кэш LookupList
SetData	Присваивает полю неформатированные данные
SetFieldType	Устанавливает интерфейс для методов, задающих тип поля. Используется в классах, производных от TField и работающих с различными типами данных
Validate	Генерирует событие OnValidate. Обычно вызывается автоматически при занесении в запись новых данных


Все методы класса TField

Основные методы   TField

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует в свойство Value значение другого поля или другого объекта
AssignValue	Задает значение поля, используя свойства AsInteger, AsBoolean, AsString, AsFloat. В основном для внутреннего использования
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Устанавливает значение поля в NULL (очищает его)
Create	Создает объект поля (только в классах - наследниках TField). Как правило, вызывается автоматически
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroy	Уничтожает экземпляр TField. Явным образом не вызывается
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Dispatch	Вызывает обработчик сообщения, полученного объектом
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindComponent	Ищет в списке Components компонент с заданным именем.
FocusControl	Переключает фокус на первый из компонентов, отображающих данное поле. Позволяет обратить внимание пользователя на значение поля
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetData	Возвращает неформатированное ("сырое") значение поля
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetOwner	Возвращает владельца объекта
GetParent Component	Возвращает компонент, управляющий загрузкой и сохранением поля: для дочернего поля - родительский объект поля, для остальных - набор данных
GetParent Component	Возвращает родителя компонента
HasParent	Указывает, является ли поле составной частью структуры другого поля (имеет ли оно родительское поле)
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsBlob	Определяет, является ли объект полем типа BLOB (binary large object)
IsValidChar	Проверяет, является ли указанный символ допустимым для данного поля
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
RefreshLookup List	Обновляет кэш LookupList
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
SafeCall Exception	Обрабатывает исключения OLE и Com
SetData	Присваивает полю неформатированные данные
SetFieldType	Устанавливает интерфейс для методов, задающих тип поля. Используется в классах, производных от TField и работающих с различными типами данных
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
Validate	Генерирует событие OnValidate. Обычно вызывается автоматически при занесении в запись новых данных


События класса TField

TField

Событие	Описание
OnChange	Наступает после занесения данных в буфер записи
OnGetText	Наступает при обращении к свойствам DisplayText или Text
OnSetText	Наступает при задании нового значения свойству Text
OnValidate	Наступает перед занесением данных в буфер записи


Alignment - свойство TField

см.также

Определяет выравнивание значений полей при их отображении в компонентах, связанных с данными

Класс TField

Определение

type TAlignment = (taLeftJustify, taRightJustify, taCenter);

property Alignment: TAlignment;

Описание

Свойство Alignment определяет выравнивание значений полей при их отображении в компонентах, связанных с данными. Возможные значения Alignment:

taCenter	Выравнивание в горизонтальном направлении по центру компонента
taLeftJustify	Выравнивание по левому краю компонента
taRightJustify	Выравнивание по правому краю компонента


Преобразование типов значений полей класса TField
Преобразование типов значений полей - свойства AsBoolean, AsCurrency, AsDateTime, AsFloat, AsInteger, AsString, AsVariant класса TField

см.также

Свойства, осуществляющие взаимное преобразование различных типов значение полей

Класс TField

Определения

property AsBoolean: Boolean;

property AsCurrency: Currency;

property AsDateTime: TDateTime;

property AsFloat: Double;

property AsInteger: Integer; // для 32-битных целых

property AsString: String;

property AsVariant: Variant;

Описание

Свойства AsBoolean, AsCurrency, AsDateTime, AsFloat, AsInteger, AsString, AsVariant осуществляют в классах - наследниках TField перевод одного типа значений в другое. Так свойство AsString переводит тип любого поля в строку при чтении значения поля и осуществляет обратный перевод строки в тип поля при записи значения поля. Например, вы можете написать

EDep.Text := Table1.FieldByName('Dep').AsString;

EYear.Text:= Table1.FieldByName('Year_b').AsString;

ESex.Text := Table1.FieldByName('Sex').AsString;

и в окна редактирования EDep, EYear и ESex будут занесены в текстовом виде значения в текущей записи полей Dep, Year_b и Sex, хотя поле Dep имеет тип строки, поле Year_b - целое значение, а поле Sex - булево. Если для поля Sex вы не задавали значений DisplayValues, то в окне редактирования ESex будут отображены значения "true" или "false". Если же вы задали значения свойства DisplayValues, например "м;ж" или "мужск;женск", то отобразятся именно эти заданные значения.

То же свойство AsString работает и как обратное преобразование типов. Продолжая предыдущий пример вы можете после того, как пользователь отредактировал значения в полях редактирования EDep, EYear и ESex, внести эти значения в текущую запись, например, следующим кодом:

Table1.Edit;

Table1.FieldByName('Dep').AsString := EDep.Text;

Table1.FieldByName('Year_b').AsString := EYear.Text;

Table1.FieldByName('Sex').AsString := ESex.Text;

Table1.Post;

Для полей Year_b и Sex текст будет преобразован соответственно в целое и булево значение. При этом не обязательно, чтобы пользователь в окне ESex писал полностью обозначение пола сотрудника. Ему достаточно написать только первую букву: "t" или "f", если отображаемые значения true и false, и "м" или "ж", если отображаемые значения "мужск" и "женск".

Аналогичным образом действуют и другие свойства преобразования типов.


AttributeSet - свойство TField

см.также

Имя множества атрибутов словаря данных, применяемого к данному полю

Класс TField

Определение

property AttributeSet: String;

Описание

Свойство AttributeSet определяет имя множества атрибутов словаря данных, применяемого к данному полю. Множество атрибутов определяет формат и отображение поля в компонентах, связанных с данными, в процессе проектирования, а также устанавливают ограничения значений поля, значения по умолчанию и многое другое.

Множества атрибутов хранятся в словаре атрибутов. Когда во время проектирования объект поля связывается с конкретным множеством, его имя заносится в свойство AttributeSet.


AutoGenerateValue - свойство TField

см.также

Показывает, может ли значение поля генерироваться автоматически в базе данных на сервере

Класс TField

Определение

type TAutoRefreshFlag = (arNone, arAutoInc, arDefault);

property AutoGenerateValue: TAutoRefreshFlag;

Описание

Свойство AutoGenerateValue определяет, может ли значение поля генерироваться и обновляться автоматически в базе данных на сервере. Такая автоматическая генерация значений присуща полям с автоматическим нарастанием значений (autoincrement) и полям со значением по умоланию.

Обычно при пересылке записи в базу данных значения таких полей не обновляются автоматически. Для изменения значения Value надо применять к набору данных метод Refresh. Если же в наборе данных свойство AutoRefresh установлено в true, то обновление данных происходит автоматически. Однако, некоторые драйверы баз данных не могут определить, значения каких полей могут автоматически создаваться сервером. Свойство AutoGenerateValue позволяет снабдить подобные драйверы необходимой информацией.

Это свойство может принимать значения:

arNone	Поле не имеет значения по умолчанию и не является автоматически нарастающим. Такие поля автоматически не обновляются.
arAutoInc	Поле является автоматически нарастающим.
arDefault	Поле имеет значение по умолчанию, задаваемое сервером.

Задание AutoGenerateValue необходимо не всегда. Многие драйверы, использующие метаданные, нормально работают с любыми полями, даже если AutoGenerateValue = arNone. Но для надежности и облегчения перехода с одной платформы баз данных на другую лучше все-таки задавать соответствующие значения AutoGenerateValue.

Изменение значения AutoGenerateValue при открытом наборе данных вызывает исключение.

При использовании наборов данных, не основанных на BDE, а также при AutoRefresh = false значение AutoGenerateValue игнорируется.


Calculated - свойство TField

см.также

Определяет, является ли поле вычисляемым в обработчике события OnCalcFields

Класс TField

Определение

property Calculated: Boolean;

Описание

Свойство Calculated определяет, является ли поле вычисляемым в обработчике события OnCalcFields. По умолчанию Calculated = false. При Calculated = true значение поля определяется обработчиком события OnCalcFields. Значения таких полей не сохраняются в базе данных.

Значение Calculated устанавливается во время проектирования в Редакторе Полей и не может изменяться во время выполнения.

Надо представлять себе различие между свойствами Calculated и InternalCalcField. Свойство Calculated указывает на расчет значения поля в обработчике события OnCalcFields. А свойство InternalCalcField указывает на то, что значение поля вычисляется или сервером SQL, или Borland Database Engine (BDE).


CanModify - свойство TField

см.также

Определяет, может ли данное поле модифицироваться

Класс TField

Доступ только для чтения

Определение

property CanModify: Boolean;

Описание

Свойство CanModify определяет, может ли данное поле модифицироваться. Проверка этого свойства позволяет узнать, можно ли редактировать его значение. CanModify равно true, только если ReadOnly = false и набор данных имеет доступ для записи этого поля базы данных.


CurValue - свойство TField

см.также

Текущее значение поля с учетом изменений, внесенных другими пользователями

Класс TField

Определение

property CurValue: Variant;

Описание

Свойство CurValue определяет текущее значение поля с учетом изменений, внесенных другими пользователями. Это значение можно использовать, когда возникают проблемы с пересылкой значения в базу данных. При возникновении таких проблем в клиентском наборе данных генерируется событие OnReconcileError. На строне сервера компонент - провайдер генерирует событие OnUpdateError. В обработчике этого события можно сравнить NewValue - новое значение, которое не удалось переслать, OldValue - прежнее значение до начала редактирования данного поля, и CurValue - текущее значение поля. Текущее значение может отличаться от OldValue, если другой пользователь изменил значение поля за время, которое прошло после чтения OldValue.

Свойство поддерживается только в наборах данных TClientDataSet.


CustomConstraint - свойство TField

см.также

Строка SQL, накладывающая ограничение на вводимое пользователем значение поля

Класс TField

Определение

property CustomConstraint: String;

Описание

Свойство CustomConstraint позволяет написать ограничение на вводимое значение поля в виде строки SQL. Например, для поля Year_b, определяющего год рождения, вы можете написать в свойстве CustomConstraint:

X < 1980 and X > 1950

Ограничение требует, чтобы вводимый год рождения был меньше 1980 и больше 1950. Имя поля, использованное в выражении (в данном выражении оно обозначено как X), может быть произвольным идентификатром.

Если вы задали свойство CustomConstraint, то необходимо задать и свойство ConstraintErrorMessage. Оно содержит строку текста, который будет показан пользователю в диалоговом окне в случае, если он вводит данные, не удовлетворяющие поставленным ограничениям. Например, "Возраст претендента на должность не подходит".

Ограничение, введенное в CustomConstraint, действует одновременно с ограничением, которое может передаваться с сервера. Это внешнее ограничение вы можете прочитать в свойстве ImportedConstraint.

Применение CustomConstraint удобнее задания MinValue и MaxValue, поскольку не требует перехвата исключений. К тому же он может применяться не только к числовым полям.


DataSize - свойство TField

см.также

Размер в байтах, необходимый для хранения значения поля

Класс TField

Определение

property DataSize: Integer;

Описание

Свойство DataSize определяет объем памяти в байтах, необходимый для хранения значения поля. Значение может требоваться для назначения буфера при использовании, например, методов GetData и SetData. Значение DataSize = 0 означает, что объем памяти неизвестен. Это характерно, например, для полей BLOB.


DefaultExpression - свойство TField

см.также

Выражение SQL, которое присваивает значение поля, если пользователь не задал никакого значения

Класс TField

Определение

property DefaultExpression: String;

Описание

Свойство DefaultExpression содержит выражение SQL, которое присваивает значение поля, если пользователь не задал никакого значения. Значение DefaultExpression может быть любым допустимым выражением SQL, не ссылающимся на значение поля. Если выражение содержит символы, отличные от цифр, они должны заключаться в одинарные кавычки. Например: '12:00:00'.


DisplayLabel и DisplayName - свойства TField

Пример   см.также

Строка, отображаемая как заголовок столбца в таблице данных

Класс TField

Определения

property DisplayLabel: String;

property DisplayName: String; // только для чтения

Описание

Свойства DisplayLabel и DisplayName представляют собой строку, отображаемую как заголовок столбца в таблице данных. Свойство DisplayName - только для чтения, а значение DisplayLabel можно задавать. По умолчанию DisplayName совпадает с FieldName. Но если задать значение DisplayLabel, то DisplayName становится равным DisplayLabel.


DisplayText и Text - свойства TField

см.также

Строка, отображающая значение поля в компонентах, связанных с данными

Класс TField

Определение

property DisplayText: String; // только для чтения

property Text: String;

Описание

Свойства Text и DisplayText представляют собой строку, отображающую значение поля Value в компонентах, связанных с данными. Строка DisplayText соответствует отображению в режиме просмотра данных, а строка Text соответствует режиму редактирования. По умолчанию Text и DisplayText соответствуют свойству AsString.

Значения Text и DisplayText могут различаться, если требуется разное отображение в режимах просмотра и редактирования. Для обеспечения двух разных форматов отображения используется обработчик события OnGetText. При наличии такого обработчика в Text или в DisplayText заносится значение, возвращаемое как параметр Text.

Параметр обработчика DisplayText показывает, в какое именно свойство заносится строка.

 DisplayText соответствует значению поля Value, если не проводится редактирование. Если проведено редактирование, его результаты отображаются в свойстве Text.


EditMask и EditMaskPtr - свойства
EditMask и EditMaskPtr - свойства TField и TMaskEdit

см.также

Маска, используемая для ввода данных

Классы TField и TMaskEdit

Определения

property EditMask: String;

property EditMaskPtr: String; // только для чтения

Описание

Свойство EditMask содержит маску, используемую для ввода данных в поля набора данных и в компонент MaskEdit. Свойство EditMaskPtr, имеющееся только в TField, обеспечивает доступ к той же маске, но только для чтения, что позволяет избежать случайного ее изменения.

Применение маски позволяет ограничить возможность пользователя ввести синтаксически ошибочные данные.

Свойство EditMask осуществляет приверку вводимых данных по символам. Для проверки в TField введенного значения в целом можно использовать обработчик события OnValidate.

См. формат маски.

Задание в качестве EditMask пустой строки удаляет маску.


Формат масок ввода данных
Маски ввода данных

см.также

Маски используются при вводе данных в поля набора данныхTField и в компонент MaskEdit. Маскированный ввод позволяет контролировать синтаксическую правильность ввода и сократить возможность ошибок.

Маска состоит из трех разделов, между которыми ставится точка с запятой (;). В первом разделе - шаблоне записываются специальным образом символы (см. приведенную ниже таблицу), которые можно вводить в каждой позиции, и символы, добавляемые самой маской; во втором разделе записывается 1 или 0 в зависимости от того, надо или нет, чтобы символы, добавляемые маской, включались в свойство Text компонента MaskEdit или в свойство Value поля; в третьем разделе указывается символ, используемый для обозначения позиций, в которых еще не осуществлен ввод.

Специальные символы маски:

!	Наличие символа "!" означает, что недостающие символы предваряются пробелами, а отсутствие символа "!" означает, что пробелы размещаются в конце.
>	Символ ">" означает, что все последующие за ним символы должны вводиться в верхнем регистре, пока не кончится маска или пока не встретится символ "<".
<	Символ "<" означает, что все последующие за ним символы должны вводиться в нижнем регистре, пока не кончится маска или пока не встретится символ ">".
<>	Символы "<>" означают, что анализ регистра не производится.
\	Символ "\" означает, что следующий за ним символ является буквенным, а не специальным, характерным для маски. Например, символ ">" после символа "\" воспримется как знак >, а не как символ, указывающий на верхний регистр.
L	Символ "L" означает, что в данной позиции должна быть буква.
l	Символ "l" означает, что в данной позиции может быть только буква или ничего.
A	Символ "A" означает, что в данной позиции должна быть буква или цифра.
a	Символ "a" означает, что в данной позиции может быть буква, или цифра, или ничего.
C	Символ "C" означает, что в данной позиции должен быть любой символ.
c	Символ "c" означает, что в данной позиции может быть любой символ или ничего.
0	Символ "0" означает, что в данной позиции должна быть цифра.
9	Символ "9" означает, что в данной позиции может быть цифра или ничего.
#	Символ "#" означает, что в данной позиции может быть цифра, знак "+", знак "-" или ничего.
:	Символ ":" используется для разделения часов, минут и секунд.
/	Символ "/" используется для разделения месяцев, дней и годов в датах.
_	Символ "_" означает автоматическую вставку в текст пробела.

Примеры масок

Семизначный номер телефона: !000-00-00;0;_

Номер телефона с кодом страны: !\(999\) 000-00-00;0;_

Почтовый индекс: !0000000;1;_

Паспорт: !L-LL 999999;0;_

Дата с указанием дня: !99/99/00;1;_

Дата без указания дня: !99/00;1;_

Время с секундами: !90:00:00;1;_

Время без секунд: !90:00;1;_


FieldKind - свойство TField

см.также

Указывает, является ли поле обычным полем базы данных, или вычисляемым полем, или полем просмотра

Класс TField

Определение

type TFieldKind = (fkData, fkCalculated, fkLookup, fkInternalCalc, fkAggregate);

property FieldKind: TFieldKind;

Описание

Свойство FieldKind определяет тип поля, указывающий, является ли оно обычным полем базы данных, или вычисляемым полем, или полем просмотра. Значение FieldKind можно изменять программно во время выполнения, но обычно оно задается во время проектирования в Редакторе Полей.

Возможные значения FieldKind:

fkData	Обычное поле таблицы данных
fkCalculated	Вычисляемое поле, значение которого рассчитывается в обработчике события OnCalcFields
fkLookup	Поле просмотра
fkInternalCalc	Вычисляемое поле, значение которого хранится в базе данных
fkAggregate	Поле совокупной характеристики клиентского набора данных (например, сумма значений)


FieldName - свойство TField

Пример см.также

Имя поля набора данных

Класс TField

Определение

property FieldName: String;

Описание

Значение свойства FieldName задается автоматически равным имени поля, объект которого создается. Для вычисляемых полей имя FieldName задается при описании поля. Свойство FieldName используется для задания значений по умолчанию свойствам DisplayLabel и DisplayName.

Для не вычисляемых полей генерируется исключение EDatabaseError, если имя FieldName не совпадает с именем одного из полей таблицы данных.


HasConstraints - свойство TField

см.также

Указывает, имеются ли ограничения на вводимые значения поля

Класс TField

Доступ только для чтения

Определение

property HasConstraints: Boolean;

Описание

Свойство HasConstraints определяет, имеет ли объект поля ограничения на вводимые значения в свойствах CustomConstraint, DefaultExpression, ImportedConstraint. Во всех этих случаях HasConstraints = true. Если же ни одно из этих свойств не установлено, то HasConstraints = false, что указывает на отсутствие ограничений со стороны сервера и BDE. Впрочем, значение HasConstraints = false еще не означает отсутствие каких-либо ограничений. Например, ограничения могут задаваться маской EditMask или в обработчике события OnValidate. Но это ограничения приложения, а не сервера или BDE.


ImportedConstraint - свойство TField

см.также

Импортируемое с сервера органичение

Класс TField

Определение

property ImportedConstraint: String;

Описание

Свойство ImportedConstraint определяет ограничение на вводимое значение поля, импортируемое с сервера. Огранисение представляет собой строку SQL. Например, для поля Year_b, определяющего год рождения, вы можете написать в свойстве ImportedConstraint:

X < 1980 and X > 1950

Ограничение требует, чтобы вводимый год рождения был меньше 1980 и больше 1950.

Значение ImportedConstraint не должно изменяться. Дополнительные ограничения могут задаваться и изменяться свойством CustomConstraint.

 Очистка во время выполнения свойства ImportedConstraint не влияет на ограничения. Просто проверка начинает производиться не локально, а на сервере.

При нарушении ограничений появляется сообщение, предусмотренное в свойстве ConstraintErrorMessage.


Index - свойство TField

см.также

Индекс объекта поля в свойстве Fields набора данных

Класс TField

Определение

property Index: Integer;

Описание

Свойство Index определяет индекс объекта поля в свойстве Fields набора данных. Это свойство позволяет определить или изменить индекс поля. Изменение индекса переместит колонку поля на новое место в таких компонентах отображения данных, как TDBGrid. При этом, конечно, физическое положение поля в таблице базы данных не изменится.


Поле просмотра: свойства KeyFields, Lookup, LookupKeyFields, LookupDataSet, LookupResultField класса TField

см.также

Поле просмотра - это поле, значение которого переносится в текущий набор данных из другого просматриваемого набора данных

Класс TField

Определения

property Lookup: Boolean;

property KeyFields: String;

property LookupKeyFields: String;

property LookupDataSet: TDataSet;

property LookupResultField: String;

Описание

Поле просмотра - это поле, значение которого переносится в текущий набор данных, заданный свойством DataSet, из другого просматриваемого набора данных, заданного свойством LookupDataSet. Если данное поле является полем просмотра, его свойство Lookup устанавливается в true. Свойство FieldKind должно равняться fkLookup.

Имя поля в LookupDataSet, значение которого переносится в свойство Value данного поля, задается свойством LookupResultField. Запись в LookupDataSet, из которой берется значение LookupResultField, определяется следующим образом. В свойствах KeyFields и LookupKeyFields перечисляются ключевые поля наборов данных DataSet и LookupDataSet. Это те поля двух наборов данных, значения которые должны совпадать. Если имеется несколько ключевых полей, то они разделяются в списках KeyFields и LookupKeyFields точками с запятой. Последовательность перечисления полей в этих списках должна быть взаимно согласована. Т.е. сравниваются значения первых полей, значение вторых и т.д. Типы сравниваемых полей должны совпадать друг с другом. Если в LookupDataSet нашлась запись, в которой значения всех полей списка LookupKeyFields совпадают со значениями полей списка KeyFields текущей записи набора данных DataSet, то в данное поле заносится значение поля LookupResultField.


LookupCache - свойство TField

см.также

Определяет должны ли значения поля просмотра кэшироваться, или просмотр должен осуществляться при каждом изменении текущей записи

Класс TField

Определение

property LookupCache: Boolean;

Описание

Свойство LookupCache имеет смысл только для полей просмотра, в которых FieldKind = fkLookup. Задание LookupCache равного true определяет, что просмотр набора данных LookupDataSet производится однократно при открытии набора DataSet, и значения поле просмотра кэшируются. Этот кэш определяется свойством LookupList и содержит значения поля LookupResultField для каждого множества ключевых полей списка LookupKeyFields. При смене текущей записи набора DataSet значение поля просмотра берется из кэша. Это существенно повышает эффективность работы, особенно в случаях, когда доступ к просматриваемому набору данных LookupDataSet должен осуществляться по сравнительно медленной сети. С другой стороны, кэширование требует затрат вычислительных ресурсов клиента. Эти затраты могут стать особенно непомерными, если в различных записях набора DataSet используются разные наборы ключевых полей KeyFields. Для сокращения затрат вычислительных ресурсов клиента имеет смысл задавать LookupCache = false.

 При изменении во время выполнения приложения просматриваемого набора данных LookupDataSet просмотр в кэше может дать неправильные результаты. В подобных случаях надо обновлять LookupList с помощью метода RefreshLookupList. При установке в true свойства LookupCache во время выполнения необходимо также вызывать RefreshLookupList.


Класс TLookupList. LookupList и RefreshLookupList - свойство и метод TField
LookupList и RefreshLookupList - свойство и метод TField. Класс TLookupList

см.также

Кэш значений набора данных LookupDataSet, индексированных множеством полей KeyFields, и метод обновления этого кэша

Класс TField

Определения

property LookupList: TLookupList; // только для чтения

procedure RefreshLookupList;

Описание

Свойство LookupList определяет (только при кэшировании полей просмотра, т.е. при FieldKind = fkLookup и при LookupCache = true) кэш значений набора данных LookupDataSet, индексированных множеством полей KeyFields.

Значения, хранящиеся в LookupList, устанавливаются при открытии DataSet и при выполнении метода RefreshLookupList. Заполнение производится в соответствии со списком LookupKeyFields. Этот метод надо вызывать явно, если во время выполнения производится установка свойства LookupCache и если изменяются значения LookupResultField или LookupKeyFields в LookupDataSet.

Приложение может задавать значения в LookupList программно, подменяя таким образом реальный просматриваемый набор данных (его может вообще не быть).

Свойство LookupList имеет тип TLookupList. Объект TLookupList генерируется программно, если задается значение свойства поля LookupList и устанавливается в true свойство LookupCache. Если при этом другие свойства, связанные с полями просмотра, не установлены, то кэш LookupList не заполняется автоматически значениями из просматриваемого набора данных и, значит, может заполняться программно.

В классе TLookupList, наследующем TObject, отсутствуют свойства, но определены следующие основные методы:

Метод	Описание
Add	Добавляет программно строку в список LookupList, не связанный с реальным просматриваемым набором данных
Clear	Очищает кэш, освобождая память. Этот метод надо вызывать перед программным заполнением списка LookupList
ValueOfKey	Возвращает значение, соответствующее указанному списку ключевых полей

Помимо этого наследуются все методы класса TObject.

Метод Add объявлен как

procedure Add(const AKey, AValue: Variant);

Параметр AKey типа Variant или массива Variant представляет одно или более значений ключевых полей. Параметр AValue типа Variant задает значение поля просмотра, связанного с ключевыми полями.

Метод ValueOfKey объявлен как

function ValueOfKey(const AKey: Variant): Variant;

Параметр AKey типа Variant или массива Variant представляет одно или более значений ключевых полей в просматриваемом наборе данных. Метод возвращает

найденное значение поля LookupKeyFields. Таким образом, значение поля просмотра определяется выражением:

Value := LookupList.ValueOfKey(DataSet.FieldValues[KeyFields]);


Value, NewValue, OldValue - свойства TField

см.также

Текущее , новое и прежнее значения поля

Класс TField

Определения

property Value: Variant;

property NewValue: Variant;

property OldValue: Variant; // только для чтения

Описание

Свойства Value, NewValue и OldValue, а также свойство CurValue определяют значение объекта поля. Свойство OldValue соответствует тому начальному значению поля, которое было до какого-либо редактирования и занесения новых значений в буфер записи. Value - это текущее значение поля. NewValue - это значение, которое задается полю в случае возникновения проблем при пересылке записи методом Post в базу данных.

После чтения записи из базы данных Value и OldValue совпадают друг с другом. В дальнейшем значение OldValue остается неизменным, а значение Value может изменяться в процессе редактирования записи или программно.

При пересылке записи в базу данных значение NewValue является пересылаемым значением. Сначала оно совпадает с Value. Но при пересылке могут возникнуть проблемы. В этом случае в клиентском наборе данных генерируется событие OnReconcileError. На строне сервера компонент - провайдер генерирует событие OnUpdateError. В обработчике этого события можно сравнить NewValue - новое значение, которое не удалось переслать, OldValue - прежнее значение до начала редактирования данного поля, и CurValue - текущее значение поля с учетом изменений, внесенных другими пользователями в базу данных. Значение CurValue может отличаться от OldValue, если другой пользователь изменил значение поля за время, которое прошло после чтения OldValue. В обработчиках этих событий можно задать новое значение NewValue, которое бы ликвидировало возникшие проблемы. Значение NewValue можно также задать отличающимся от Value в обработчике события OnUpdateRecord.

Свойства NewValue и OldValue можно использовать только при применении компонента TClientDataSet или при кэшировании.


Origin - свойство TField

см.также

Имя поля в наборе данных, включая имена базы данных и таблицы

Класс TField

Определение

property Origin: String;

Описание

Свойство Origin устанавливается только во время проектирования и только при использовании компонента TQuery. Значение Origin складывается из имени таблицы и имени поля. Например, при запросе SQL к базе данных Paradox с именем DBP

SELECT Fam AS F FROM PERS

значение Origin будет равно DBP."PERS.DB".Fam, а значение FieldName - F.


ReadOnly - свойство TField

см.также

Указывает, является ли значение поля значением только для чтения

Класс TField

Определение

property ReadOnly: Boolean;

Описание

Задание ReadOnly равным true запрещает модификацию значения данного поля. В таблице данных при табуляции пользователя по полям с помощью клавиши Tab поле, помеченное как ReadOnly, пропускается.

Чтобы определить, можно ли модифицировать значение поля, лучше использовать свойство CanModify, которое учитывает не только установку ReadOnly данного поля, но и иные ограничения на работу с набором данных.


Required - свойство TField

см.также

Указывает, должно ли это поле обязательно иметь значение, или оно может оставаться пустым

Класс TField

Определение

property Required: Boolean;

Описание

Свойство Required определяет, должно ли это поле обязательно иметь значение, или оно может оставаться пустым. Если объект поля создан Редактором Полей, то свойство Required устанавливается в соответствии с аналогичным свойством поля в таблице данных. Если свойство помечено в таблице как обязательное, то при попытке приложения переслать в него пустое значение генерируется исключение EDatabaseError.

В приложении можно задать Required = true и для поля, которое в таблице данных не помечено как обязательное. Но в этом случае надо написать соответствующий обработчик события OnValidate, в котором генерировать EDatabaseError при попытке переслать в базу данных пустое значение.


Size - свойство TField

см.также

Размер, определенный в описании поля базы данных, для типов полей, поддерживающих различные размеры

Класс TField

Определение

property Size: Integer;

Описание

Свойство Size указывает размер, определенный в описании поля базы данных, для типов полей, поддерживающих различные размеры. Интерпретация значения Size зависит от типа поля:

ftBoolean	Size не используется; значение Size = 0
ftSmallInt	Size не используется; значение Size = 0
ftWord	Size не используется; значение Size = 0
ftAutoInc	Size не используется; значение Size = 0
ftDate	Size не используется; значение Size = 0
ftInteger	Size не используется; значение Size = 0
ftTime	Size не используется; значение Size = 0
ftCurrency	Size не используется; значение Size = 0
ftDateTime	Size не используется; значение Size = 0
ftFloat	Size не используется; значение Size = 0
ftBCD	Size - число цифр после десятичной запятой
ftString	Size - максимальное число символов в строке
ftVarBytes	Size - максимальное число байтов, не считая двух байтов, указывющих истинное использованное число байтов
ftBytes	Size - максимальное число байтов
ftBlob	Size - число байтов из поля BLOB, которые хранятся в буфере записи
ftDBaseOle	Size - число байтов из поля DBase OLE BLOB, которые хранятся в буфере записи
ftFmtMemo	Size - число байтов из поля Memo, которые хранятся в буфере записи
ftGraphic	Size - число байтов из поля изображения, которые хранятся в буфере записи
ftMemo	Size - число символов из поля Memo, которые хранятся в буфере записи Size
ftParadoxOle	Size - число байтов из поля Paradox OLE BLOB, которые хранятся в буфере записи
ftTypedBinary	Size - число байтов из поля BLOB, которые хранятся в буфере записи
ftUnknown	Size не используется; значение Size = 0
ftCursor	Size не используется; значение Size = 0
ftADT	Size - общее число полей, содержащихся в поле ADT, включая дочерние поля любых дочерних полей типа.
ftReference	Size не используется; значение Size = 0
ftDataSet	Size не используется; значение Size = 0


ValidChars - свойство TField

Примеры см.также

Определяет символы, которые могут использоваться при редактировании значения поля

Класс TField

Определение

type TFieldChars = set of Char;

property ValidChars: TFieldChars;

Описание

Свойство ValidChars задается, чтобы ограничить набор символов, используемых для редактирования значения поля. Значение ValidChars используется методом IsValidChar для проверки допустимости вводимых пользователем символов. В отличие от свойства EditMask, определяющего допустимые символы для каждой позиции, свойство ValidChars определяет символы, допустимые в любой позиции.

Значение ValidChars устанавливается по умолчанию автоматически в зависимости от типа поля (см. значения по умолчанию в разделе IsValidChar). Например, для строк допускаются любые символы, для целых типов - только цифры. Но вы можете заменить или дополнить эту установку по умолчанию (см. примеры).


Visible - свойство TField

см.также

Определяет видимость поля в таблицах данных

Класс TField

Определение

property Visible: Boolean;

Описание

Свойство Visible  определяет видимость поля в таблицах данных TDBGrid. Если Visible = false, то соответствующее поле в таблице не видно. Свойство Visible игнорируется, если в TDBGrid явно задано значение Columns для данного поля или если для отображения используется компонент, отличный от TDBGrid.


Assign - метод TField

см.также

Копирует в свойство Value значение другого поля или другого объекта

Класс TField

Определение

procedure Assign(Source: TPersistent);

Описание

Метод Assign копирует в свойство Value значение другого поля Source или другого объекта. При копировании значений полей они должны быть совместимых типов. Если Source - другой объект поля, то Assign вызывает метод AssignValue, используя Source как значение Value поля. Если Source = nil, то значение поля очищается.

Если Source - объект, отличный от поля, то вызывается метод AssignTo, позволяющий присвивание данного значения объекту TField.

Примеры

Следующий оператор копирует графическое поле в поле BLOB:

BlobField1.Assign(GraphicField1);

Следующий оператор копирует строки из компонента TMemo в поле TMemoField:

MemoField1.Assign(Memo1.Lines);


GetData - метод TField

см.также

Возвращает неформатированное ("сырое") значение поля

Класс TField

Определение

function GetData(Buffer: Pointer;
                 NativeFormat:Boolean=True): Boolean;

Описание

Метод GetData возвращает неформатированное ("сырое") значение поля в буфер Buffer. В отличие от свойств DisplayText, Text, AsString и т.п., метод GetData не осуществляет преобразование данных к какому-то типу. Буфер Buffer должен быть достаточного размера. Для определения этого размера можно использовать свойство DataSize.

Параметр NativeFormat указывает, не должны ли "сырые" данные транслироваться в тип поля набора данных: если NativeFormat = true - не должны, если false - должны.

Если значение поля пустое (NULL), то GetData возвращает false и в буфер ничего не заносится. В остальных случаях возвращается true.

Метод GetData не может применяться к полям BLOB и Memo.


IsValidChar - метод TField

Пример см.также

Проверяет, является ли указанный символ допустимым для данного поля

Класс TField

Определение

function IsValidChar(InputChar: Char): Boolean; virtual;

Описание

Метод IsValidChar проверяет, является ли указанный символ InputChar допустимым для данного поля. Метод IsValidChar возвращает true, если InputChar - допустимый символ, и false - если недопустимый.

Множество допустимых для поля символов задается в свойстве ValidChars. По умолчанию это свойство различно для различных типов DataType полей:

ftBoolean	все символы
ftSmallInt	цифры от 0 до 9, знаки "+" и "-"
ftWord	цифры от 0 до 9, знаки "+" и "-"
ftAutoInc	цифры от 0 до 9, знаки "+" и "-"
ftDate	все символы
ftInteger	цифры от 0 до 9, знаки "+" и "-"
ftTime	все символы
ftCurrency	цифры от 0 до 9, знаки "+" и "-", буква "E" или "e", десятичный разделитель (точка или запятая в зависимости от установки Windows)
ftDateTime	все символы
ftFloat	цифры от 0 до 9, знаки "+" и "-", буква "E" или "e", десятичный разделитель (точка или запятая в зависимости от установки Windows)
ftBCD	цифры от 0 до 9, знаки "+" и "-", десятичный разделитель (точка или запятая в зависимости от установки Windows)
ftString	все символы
ftVarBytes	все символы
ftBytes	все символы
ftBlob	все символы
ftDBaseOle	все символы
ftFmtMemo	все символы
ftGraphic	все символы
ftMemo	все символы
ftParadoxOle	все символы
ftTypedBinary	все символы
ftUnknown	все символы
ftCursor	все символы

В некоторых типах полей (например, ftGraphic) IsValidChar возвращает true для любых символов, хотя не все они допустимы.

Метод IsValidChar неявно используется многими компонентами, связанными с данными. Явное использование IsValidChar см. в примере.

Метод IsValidChar проверяет допустимости символа независимо от его позиции во вводимом значении. Проверку с учетом позиции символа может осуществлять свойство EditMask.


SetData - метод TField

Пример   см.также

Присваивает полю неформатированные данные

Класс TField

Определение

procedure SetData(Buffer: Pointer, NativeFormat: Boolean=True);

Описание

Метод SetData присваивает полю неформатированные данные, приводя, или не приводя их к формату типа данного поля. Это метод неявно используют многие другие методы, присваивающие значения полю.

Параметр Buffer указывает на буфер, который содержит вводимые данные. Параметр NativeFormat указывает, должны ли данные переноситься без форматирования (при значении true), или они предварительно должны приводиться к формату поля.


OnChange - событие TField

см.также

Событие наступает после занесения данных поля в буфер записи

Класс TField

Определение

type TFieldNotifyEvent = procedure(Sender: TField of object;

property OnChange: TFieldNotifyEvent;

Описание

При занесении значения поля Value в буфер текущей записи последовательно выполняются следующие операции:

1.	Вызывается обработчик события OnValidate, позволяющий проверить допустимость записываемых данных

2.	Если обработчик OnValidate не отказался от записи данных, то данные записываются в буфер записи

3.	Если при записи данных не сгенерировано исключение, вызывается обработчик события OnChange

Обработчик события OnChange позволяет определить реакцию на данные, успешно записанные в буфер записи, например, известить об этом пользователя.


OnGetText - событие TField

Пример   см.также

Событие наступает при обращении к свойствам DisplayText или Text

Класс TField

Определение

type TFieldGetTextEvent = procedure(Sender: TField; var Text: String; DisplayText: Boolean) of object;

property OnGetText: TFieldGetTextEvent;

Описание

Обработчик события OnGetText позволяет изменить форму отображения значения поля Value, т.е. изменить свойства DisplayText и Text, которые обычно просто соответствуют свойству AsString. При этом можно применить какое-то форматирование отображения или вообще изменить отображаемые тексты.

Параметр Sender представляет собой объект поля TField. В параметр Text надо занести отображаемую строку текста. Параметр DisplayText показывает, будет ли строка Text использоваться только для отображения, или она будет использоваться для редактирования.

Например, следующий обработчик обеспечивает отображение поля года рождения в режиме просмотра как "г.р. 1970", а в режиме редактирования как "1970".

procedure TForm1.Table1Year_bGetText(Sender: TField;
             var Text: String; DisplayText: Boolean);

begin

 if DisplayText
  then Text := 'г.р. '+ Sender.AsString

  else Text := Sender.AsString;

end;


OnSetText - событие TField

см.также

Событие наступает при задании свойству Text нового значения

Класс TField

Определение

type TFieldSetTextEvent = procedure(Sender: TField; const Text: String) of object;

property OnSetText: TFieldSetTextEvent;

Описание

Обработчик события OnSetText позволяет отреагировать на изменение свойства Text - строки, используемой для ввода пользователем данных в режиме редактирования. Событие OnSetText генерируется после редактирования пользователем значения поля перед присвоением нового значения свойству Value. Параметр обработчика Text отображает в текстовом виде новое введенное пользователем значение поля. Это значение можно проверить и, если оно допустимо, то передать его в соответственно отформатированном виде в значение Value. Если такого присваивания Value не сделано, то введенное значение поля не перепишется в Value.


OnValidate - событие TField

см.также

Событие наступает перед занесением данных в буфер записи

Класс TField

Определение

type TFieldNotifyEvent = procedure(Sender: TField) of object;

property OnValidate: TFieldNotifyEvent;

Описание

При занесении значения поля Value в буфер текущей записи последовательно выполняются следующие операции:

1.	Вызывается обработчик события OnValidate, позволяющий проверить допустимость записываемых данных

2.	Если обработчик OnValidate не отказался от записи данных, то данные записываются в буфер записи

3.	Если при записи данных не сгенерировано исключение, вызывается обработчик события OnChange

Обработчик события OnValidate позволяет проверить данные перед их записью в буфер. Если в результате проверки данные оказываются недопустимыми, в обработчике следует сгенерироватьь исключение, например, вызвать функцию Abort. Проверка в обработчике OnValidate может быть более полной, чем проводимая при вводе нового значения проверка отдельных символов с помощью EditMask. А если значение поля меняется программно, то проверка с помощью EditMask вообще отсутствует.


TFieldDefs - класс
TFieldDefs - класс собрания описаний полей

Иерархия   Свойства   Методы

Класс собрания описаний полей набора данных

Модуль db

Описание

Класс TFieldDefs является косвенным наследником базового класса собраний объектов TCollection и характеризует собрание (контейнер) описаний полей TFieldDef. В объектах TTable и TClientDataSet используется также при создании новых таблиц.

Объекты TFieldDefs типов TADTField и TArrayField имеют свои объекты того же типа TFieldDefs для собраний дочерних полей. В этих случаях создается иерархия объектов TFieldDef в отличие от списка TFieldDefList, в котором объекты дочерних описний TFieldDef перечисляются последовательно после родительского описания.

Свойства и методы TFieldDefs позволяют:

•	Получить доступ к описанию любого поля

•	Добавлять или удалять описания полей из списка при создании новых таблиц

•	Определить количество описаний полей

•	Копировать множество описаний полей из одной таблицы в другую

В собрание описаний полей TFieldDefs входят все поля таблицы, кроме ключевых.


Свойства TFieldDefs

TFieldDefs

Свойство	Описание
HiddenFields	Определяет, будут ли видны в "живом" наборе данных вспомогательные невидимые поля. Свойство в основном для внутреннего использования
Items	Индексированный список описаний полей
ParentDef	Ссылка в описании дочернего поля на описание родительского поля (типов TADTField или TArrayField). Только для чтения
DataSet	Указывает объект TDataSet, к которому относится данный TFieldDefs. Только для чтения
Updated	Указывает, соответствуют ли описания в массиве Items реальным экземплярам набора данных
Count	Число описаний в массиве Items. Только для чтения
ItemClass	Класс объектов описаний полей в Items. Только для чтения


Items - свойство TFieldDefs

Пример   см.также

Индексированный список описаний полей

Класс TFieldDefs

Определение

property Items[Index: Integer]: TFieldDef; default;

Описание

Свойство Items позволяет получить доступ к описанию TFieldDef каждого поля набора данных. Параметр Index определяет индекс описания в списке (начинается с 0). Например, Table1.FieldDefs.Items[0].DisplayName - имя первого поля набора данных компонента Table1.

Впрочем, к свойству FieldDefs можно обращаться по индексу непосредственно, без использования свойства Items. Например, выражение Table1.FieldDefs[0].DisplayName - даст тот же самый результат, что и приведенное выше выражение.


Updated - свойство TDefCollection

см.также

Указывает, соответствуют ли описания в массиве Items реальным экземплярам набора данных

Класс TDefCollection

Определение

property Updated: Boolean;

Описание

Свойство Updated  указывает, соответствуют ли описания в массиве Items объекта TDefCollection (или классов-наследников, например, TFieldDefs) реальным экземплярам описаний полей или индексов набора данных. Значение Updated равно true, если объекты описаний полей (индексов) созданы во время проектирования или если эти описания использованы для создания соответствующих входов наборра данных. Значение Updated равно false, если свойства описаний были изменены. Тогда для обновления описаний в Items можно применить метод Update.


методы класса TFieldDefs
Основные методы класса TFieldDefs

Все методы   TFieldDefs

Метод	Описание
Add	Создает новый объект описания поля и добавляет его в свойство Items объекта TFieldDefs. Вместо этого метода рекомендуется AddFieldDef
AddFieldDef	Создает новый объект описания поля и добавляет его в свойство Items объекта TFieldDefs
Assign	Копирует содержимое собрания объектов в другой контейнер
Clear	Очищает массив Items, уничтожая все содержавшиеся в нем объекты типа TCollectionItem
Delete	Удаляет объект из Items
Find	Ищет в Items описание поля по его имени
GetItemNames	Возвращает имена всех описаний полей
IndexOf	Определяет индекс описания поля в массиве Items по его имени
Insert	Создает новый объект TCollectionItem и вставляет его в массив Items
Update	Обновляет описания в массиве Items, чтобы они отражали рельные свойства полей


Все методы класса TFieldDefs

Все методы   TFieldDefs

Метод	Описание
Add	Создает новый объект описания поля и добавляет его в свойство Items объекта TFieldDefs. Вместо этого метода рекомендуется AddFieldDef
AddFieldDef	Создает новый объект описания поля и добавляет его в свойство Items объекта TFieldDefs
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует содержимое собрания объектов в другой контейнер
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Очищает массив Items, уничтожая все содержавшиеся в нем объекты типа TCollectionItem
Create	Создает объект TFieldDefs. Явным образом использоваться не должен
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет объект из Items
Destroy	Уничтожает собрание и все хранившиеся в нем объекты
Dispatch	Вызывает обработчик сообщения, полученного объектом
EndUpdate	Снятие запрета перерисовки, введенного методом BeginUpdate
FieldAddress	Возвращает указатель на опубликованное поле объекта
Find	Ищет в Items описание поля по его имени
FindItemID	Возвращает хранящийся объект с указанным идентификатором ID
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetItemNames	Возвращает имена всех описаний полей
GetNamePath	Возвращает строку, используемую для собрания в Инспекторе Объектов
IndexOf	Определяет индекс описания поля в массиве Items по его имени
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
Insert	Создает новый объект TCollectionItem и вставляет его в массив Items
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
SafeCall Exception	Обрабатывает исключения OLE и Com
Update	Обновляет описания в массиве Items, чтобы они отражали рельные свойства полей


Add - метод TFieldDefs

Пример   см.также

Создает новый объект описания поля и добавляет его в свойство Items объекта TFieldDefs

Класс TFieldDefs

Определение

procedure Add(const Name: String; DataType: TFieldType; Size: Integer = 0; Required: Boolean = False);

Описание

Метод Add оставлен только для обратной совместимости. В новых приложениях следует использовать метод AddFieldDef.

Метод создает новый объект описания поля и добавляет его в свойство Items объекта TFieldDefs. Параметры Name, DataType, Size, Required передаются в значения соответствующих свойств объекта описания поля. Если описание поля с тем же именем уже существует, то генерируется исключение EDatabaseError.


AddFieldDef - метод TFieldDefs

Пример   см.также

Создает новый объект описания поля и добавляет его в свойство Items объекта TFieldDefs

Класс TFieldDefs

Определение

function AddFieldDef: TFieldDef;

Описание

Метод AddFieldDef создает новый объект описания поля типа TFieldDef и добавляет его в свойство Items объекта TFieldDefs. Возвращается созданный объект описания. После вызова AddFieldDef можно задать свойства созданного описания Name, DataType, Size, Required (см. пример).

Метод AddFieldDef применяется только для последующего создания новой таблицы методами CreateTable или CreateDataSet. Для добавления поля в уже существующую таблицу метод использовать нельзя.


Find - метод TFieldDefs

см.также

Ищет в Items описание поля по его имени

Класс TFieldDefs

Определение

function Find(const Name: String): TFieldDef;

Описание

Метод Find ищет в Items описание поля по его имени Name. В результате поиска можно получить доступ к атрибутам указанного поля. Если требуемое описание не найдено, генерируется исключение. Чтобы избежать генерации исключения, можно перед вызовом Find удостовериться в наличии описания методом IndexOf. Если IndexOf вернет значение большее -1, значит описание поля существует и можно применять Find.


GetItemNames - метод TDefCollection

Пример   см.также

Возвращает имена всех описаний в объекте TDefCollection

Класс TDefCollection

Определение

procedure GetItemNames(List: TStrings);

Описание

Метод GetItemNames возвращает в виде списка строк типа TStrings имена всех описаний в объекте TDefCollection. При вызове метода параметр List может быть пустым списком строк. Этот список в результате вызова GetItemNames заполнится именами всех описаний (см. пример).


Update - метод TFieldDefs

см.также

Обновляет описания в массиве Items, чтобы они отражали рельные свойства полей

Класс TFieldDefs

Определение

procedure Update; reintroduce;

Описание

Метод Update обновляет описания в массиве Items, чтобы они отражали рельные свойства полей, если они были изменены в наборе данных. Обновление происходит без открытия набора данных. Перед обновлением полезно проверить свойство Updated.


IndexOf - метод TDefCollection

см.также

Определяет индекс описания в массиве Items по его имени

Класс TDefCollection

Определение

function IndexOf(const AName: string): Integer;

Описание

Метод IndexOf возвращает индекс описания в массиве Items по его имени AName. Индексы начинаются с 0. Если описания с именем AName нет, то возвращается -1. Это можно использовать для определения наличия описания перед применением метода Find.


TFieldDef - класс
TFieldDef - класс описания поля

Иерархия   Свойства   Методы

Класс описания поля таблицы

Модуль db

Описание

Класс TFieldDef содержит описание поля таблицы базы данных, включающее такие атрибуты, как имя поля, тип данных и размер. Используется в собрании полей - свойстве FieldDefs класса TDataSet.

Описание автоматически генерируется для каждого поля существующей таблицы набора данных. Через объект TFieldDef можно получить информацию о полях даже не открывая таблицу. При создании новой таблицы методом TTable.CreateTable TFieldDef используется для задания атрибутов полей таблицы.

Каждое описание соответствует объекту TField, но не все объекты TField имеют соответствующие им объекты описаний TFieldDef. Например, вычисляемые поля не имеют описаний.


свойства TFieldDef
Основные свойства TFieldDef

Все свойства TFieldDef

Свойство	Описание
Attributes	Атрибуты поля
Collection	Указывает собрание FieldDefs класса TDataSet, к которому относится данное описание поля
DataType	Определяет тип данных, хранящихся в поле
FieldClass	Класс объекта поля, соответствующий описанию TFieldDef; только для чтения
Name	Имя поля
Required	Указывает, обязательно ли должно быть задано значение данного поля
Size	Размер поля


Все свойства TFieldDef

Основные свойства   TFieldDef

Свойство	Описание
Attributes	Атрибуты поля
ChildDefs	Объект, содержащий массив дочерних полей
Collection	Указывает собрание FieldDefs класса TDataSet, к которому относится данное описание поля
DataType	Определяет тип данных, хранящихся в поле
DisplayName	Имя, появляющееся в Редакторе Полей во время проектирования
FieldClass	Класс объекта поля, соответствующий описанию TFieldDef; только для чтения
FieldNo	Порядковый номер поля в таблице
ID	Идентификатор поля в собрании FieldDefs класса TDataSet. Только для чтения
Index	Определяет позицию поля в свойстве Items его собрания FieldDefs класса TDataSet
InternalCalc Field	Определяет, является ли поле вычисляемым в источнике данных; только для чтения
Name	Имя поля
ParentDef	Ссылка на родительское поле, если оно имеется (например, для полей ADT или массивов полей); только для чтения
Precision	Число разрядов, определяющее точность поля BCD
Required	Указывает, обязательно ли должно быть задано значение данного поля
Size	Размер поля


методы класса TFieldDef
Основные методы класса TFieldDef

Все методы   TFieldDef

Практически никаких специальных методов для пользователя в классе не объявлено

Метод	Описание
Assign	Копирует одно описание поля в другое


Все методы класса TFieldDef

Основные методы   TFieldDef

Метод	Описание
AddChild	Добавляет новый объект описания поля TFieldDef в массив ChildDefsи возвращает добавленный объект
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует одно описание поля в другое
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует объект TFieldDef. Явным образом вызываться не должен
CreateField	Создает объект TField в соответствии с его описанием TFieldDef. Явным образом вызываться не должен
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Уничтожает экземпляр TFieldDef, освобождая память
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов. Только для внутреннего использования
HasChildDefs	Определяет, имеет ли объект TFieldDef дочерние поля. Для объектов типов TADTField и TArrayField возвращает true
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
SafeCall Exception	Обрабатывает исключения OLE и Com


Attributes - свойство TFieldDef

см.также

Атрибуты описания поля

Класс TFieldDef

Определение

type

TFieldAttribute = (faHiddenCol, faReadonly, faRequired, faLink, faUnNamed, faFixed);

 TFieldAttributes = set of TFieldAttribute;

property Attributes: TFieldAttributes;

Описание

Свойство Attributes содержит атрибуты объекта TFieldDef. Является множеством, которое может содержать следующие значения:

faHiddenCol	Внутренний флаг невидимых столбцов
faReadonly	Определяет свойство "только для чтения"
faRequired	Определяет поле, которое является обязательным в каждой записи
faLink	Внутренний флаг вложенного набора данных
faUnNamed	Указывает объект TObjectField без имени во вложенной таблице. Значение только для внутреннего использования
faFixed	Указывает, что поле имеет фиксированный размер


ChildDefs - свойство TFieldDef

см.также

Объект TFieldDef, содержащий массив дочерних полей

Класс TFieldDef

Определение

property ChildDefs: TFieldDefs;

Описание

Если поле является объектом, подобным TADTField или TArrayField, то дочерние поля хранятся как объекты массива TFieldDefs, на который указывает свойство ChildDefs.


DataType - свойства TFieldDef и TField

Пример   см.также

Определяет тип данных, хранящихся в поле

Классы TFieldDef и TField

Определение

property DataType: TFieldType;

Описание

Свойство DataType типа TFieldType определяет тип данных поля. Для существующих полей свойство DataType можно использовать для проверки типа поля. При создании описаний TFieldDef новых полей это свойство должно задаваться (см. пример).


TFieldType - тип полей данных
TFieldType - тип

см.также

Определяет тип данных, хранящихся в поле

Модуль DB

Определение

type TFieldType = (ftUnknown, ftString, ftSmallint, ftInteger, ftWord, ftBoolean, ftFloat, ftCurrency, ftBCD, ftDate, ftTime, ftDateTime, ftBytes, ftVarBytes, ftAutoInc, ftBlob, ftMemo, ftGraphic, ftFmtMemo, ftParadoxOle, ftDBaseOle, ftTypedBinary, ftCursor, ftFixedChar, ftWideString, ftLargeint, ftADT, ftArray, ftReference, ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface, ftIDispatch, ftGuid);

Описание

Тип TFieldType используется во многих классах: TField, TFieldDef, TParam, TParameter, TAggregate, а также во многих методах. Возможные значения TFieldType:

ftUnknown	неизвестный, неопределенный тип
ftString	символ или строка
ftSmallint	целое размером в 16 бит
ftInteger	целое размером в 32 бита
ftWord	целое без знака размером в 16 бит
ftBoolean	булево значение
ftFloat	число с плавающей запятой
ftCurrency	денежная сумма
ftBCD	десятичное число в двоичной кодировке
ftDate	дата
ftTime	время
ftDateTime	дата и время
ftBytes	двоичное представление с фиксированным числом байтов
ftVarBytes	двоичное представление с переменным числом байтов
ftAutoInc	автоматически нарастающее целое размером в 32 бита
ftBlob	большой двоичный объект (Binary Large OBject)
ftMemo	большой текст
ftGraphic	изображение в виде битовой матрицы
ftFmtMemo	большой форматированный текст
ftParadoxOle	объект OLE Paradox
ftDBaseOle	объект OLE dBASE
ftTypedBinary	типизированное двоичное значение
ftCursor	выходной курсор хранимой процедуры Oracle (применяется только в TParam)
ftFixedChar	фиксированные символы
ftWideString	строка типа Wide string
ftLargeInt	большое целое
ftADT	абстрактный тип даты (Abstract Data Type)
ftArray	массив
ftReference	ссылка REF
ftDataSet	набор данных DataSet
ftOraBlob	поля BLOB в таблицах Oracle 8
ftOraClob	поля CLOB в таблицах Oracle 8
ftVariant	данные типа Variant - неизвестные или неопределенные
ftInterface	ссылка на интерфейс IUnknown
ftIDispatch	ссылка на интерфейс IDispatch
ftGuid	глобальный уникальный идентификатор GUID


FieldClass - свойство TFieldDef

см.также

Класс объекта поля, соответствующий описанию TFieldDef

Класс TFieldDef

Модуль DB

Доступ только для чтения

Определение

type TFieldClass = class of TField;

property FieldClass: TFieldClass;

Описание

Свойство FieldClass определяет класс объекта поля, соответствующий описанию TFieldDef. Объект поля создается методом CreateField из описания TFieldDef как объект класса FieldClass. Значение FieldClass однозначно определяется значением свойства поля DataType. Например, если значение DataType равно ftString, то значение FieldClass равно TStringField.


FieldNo - свойство TFieldDef

см.также

Порядковый номер поля в таблице

Класс TFieldDef

Определение

property FieldNo: Integer;

Описание

Свойство FieldNo определяет порядковый номер поля в таблице. Например, если FieldNo равно 3, то это третье поле таблицы. При добавлении определения поля в набор данных значение FieldNo определяет место создаваемого поля в таблице.


InternalCalcField - свойство TFieldDef

см.также

Определяет, является ли поле вычисляемым в источнике данных

Класс TFieldDef

Доступ только для чтения

Определение

property InternalCalcField: Boolean;

Описание

Свойство InternalCalcField определяет, является ли поле вычисляемым в источнике данных (при значении true), или оно имеется в таблице набора данных. Например, если выполняется запрос

SELECT Fam, Nam, (2000-Year_b) FROM Pers

и набор представляет собой "живые" данные (свойство набора RequestLive равно true), то описание поля, соответствующего выражению (2000-Year_b), имеет значение InternalCalcField = true.

Следует различать поля с InternalCalcField = true и вычисляемые поля, значения которых просчитываются в обработчиках событий OnCalcFields.


Precision - свойство TFieldDef

см.также

Определяет число разрядов, характеризующих точность поля BCD

Класс TFieldDef

Определение

property Precision: Integer;

Описание

Свойство Precision определяет общее число разрядов, используемых для кранения значения поля BCD. Если DataType не ftBCD, то значение Precision игнорируется.


Required - свойство TFieldDef

Пример   см.также

Свойство указывает, обязательно ли должно быть задано значение данного поля

Класс TFieldDef

Определение

property Required: Boolean;

Описание

Свойство Required указывает, обязательно ли должно быть задано значение данного поля. Если Required = false, то значение поля при заполнении записи может оставаться пустым. Если Required = true, то значение поля обязательно должно быть задано. Свойство Required задается при создании нового поля в его описании (см. пример).


Size - свойство TFieldDef

Пример   см.также

Свойство определяет размер поля

Класс TFieldDef

Определение

property Size: Integer;

Описание

Свойство Size определяет размер поля одного из следующих типов TFieldType: ftString, ftBCD, ftBytes, ftVarBytes, ftBlob, ftMemo, ftGraphic. При создании в таблице полей этих типов для них должно быть указано значение Size (см. пример). Для строк и полей байтов значение Size - это число байтов, отведенных под хранение значения данного поля. Для полей BCD значение Size - это число разрядов после запятой. Для полей BLOB, Memo и Graphic значение Size - это число первых байтов значения поля, которые хранятся непосредственно в самой таблице набора данных.


DisplayName - свойство TNamedItem

см.также

Имя, появляющееся в редакторе наборов (например, в Редакторе Полей) во время проектирования

Класс TNamedItem

Определение

property DisplayName: String;

Описание

Свойство DisplayName определяет имя, появляющееся в редакторе наборов (например, в Редакторе Полей) во время проектирования. Оно принудительно устанавливается равным свойству Name.


Name - свойство TNamedItem

Пример   см.также

Имя входа в базу данных

Класс TNamedItem

Определение

property Name: String;

Описание

Свойство Name определяет имя объекта входа в базу данных. Если этот объект TNamedItem - описание поля, то Name - это имя поля таблицы (см. пример).


Create - метод TFieldDef

см.также

Создает и инициализирует объект TFieldDef

Класс TFieldDef

Определение

constructor Create(Owner: TFieldDefs; const Name: String; DataType: TFieldType; Size: Integer; Required: Boolean; FieldNo: Integer); reintroduce; overload;

Описание

Метод Create создает и инициализирует объект TFieldDef. Приложение не должно вызывать Create непосредственно. Описания полей TFieldDef для существующих таблиц создаются автоматически. При создании новой таблицы необходимые экземпляры TFieldDef создаются методами TFieldDefs.Add и TFieldDefs.AddFieldDef.


TCollection - класс
TCollection - базовый класс собраний объектов

Иерархия   Свойства   Методы

Контейнер собрания объектов TCollectionItem

Модуль classes

Описание

Класс TCollection является контейнером для группы (собрания) объектов класса TCollectionItem. Его основное свойство Items - массив объектов. Свойство Count определяет число объектов в контейнере. Методы Add, Delete, Insert и Clear позволяют добавлять и удалять объекты, содержащиеся в контейнере.

Классы-наследники TCollection, содержащие объекты классов-наследников TCollectionItem, используются во многих классах и компонентах Delphi:

Наследник TCollection	Наследник TCollectionItem	Класс, компонент
TAggregates	TAggregate	TClientDataSet
TCheckConstraints	TCheckConstraint	компоненты, использующие TField
TCookieCollection	TCookie	объекты HTTP
TCoolBands	TCoolBand	TCoolBar
TDataBindings	TDataBindItem	связанные с данными ActiveX
TDBGridColumns	TColumn	TDBGrid
TDependencies	TDependency	TService
TDisplayDims	TDisplayDim	TDecisionGrid
TFieldDefs	TFieldDef	TDataSet
THeaderSections	THeaderSection	THeaderControl
TIndexDefs	TIndexDef	TTable
THTMLTableColumns	THTMLTableColumn	TQueryTable Producer
TListColumns	TListColumn	TListView
TParams	TParam	TQuery, TStoredProc, TClientDataSet
TParameters	TParameter	компоненты ADO
TServerCollection	TServerItem	TSimpleObject Broker
TStatusPanels	TStatusPanel	TStatusBar
TWorkAreas	TWorkArea	TListView
TWebActionItems	TWebActionItem	TWebDispatcher


Свойства TCollection

TCollection

Свойство	Описание
Count	Число объектов в Items. Только для чтения
ItemClass	Класс содержащихся в Items объектов. Только для чтения
Items	Индексированный массив объектов, хранящихся в TCollection


методы класса TCollection
Основные методы класса TCollection

Все методы   TCollection

Метод	Описание
Add	Создает новый объект TCollectionItem и добавляет его в массив Items
Assign	Копирует содержимое собрания объектов в другой контейнер
BeginUpdate	Предотвращает перерисовку до выполнения метода EndUpdate
Clear	Очищает массив Items, уничтожая все содержавшиеся в нем объекты типа TCollectionItem
Delete	Удаляет объект из Items
EndUpdate	Снятие запрета перерисовки, введенного методом BeginUpdate
Insert	Создает новый объект TCollectionItem и вставляет его в массив Items


Все методы класса TCollection

Основные методы TCollection

Метод	Описание
Add	Создает новый объект TCollectionItem и добавляет его в массив Items
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует содержимое собрания объектов в другой контейнер
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BeginUpdate	Предотвращает перерисовку до выполнения метода EndUpdate
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Clear	Очищает массив Items, уничтожая все содержавшиеся в нем объекты типа TCollectionItem
Create	Создает и инициализирует собрание объектов указанного класса
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет объект из Items
Destroy	Уничтожает собрание и все хранившиеся в нем объекты
Dispatch	Вызывает обработчик сообщения, полученного объектом
EndUpdate	Снятие запрета перерисовки, введенного методом BeginUpdate
FieldAddress	Возвращает указатель на опубликованное поле объекта
FindItemID	Возвращает хранящийся объект с указанным идентификатором ID
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetInterface	Возвращает интерфейс, указанный идентификатором
GetNamePath	Возвращает строку, используемую для собрания в Инспекторе Объектов
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance. Не может быть перегружен
Insert	Создает новый объект TCollectionItem и вставляет его в массив Items
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
SafeCall Exception	Обрабатывает исключения OLE и Com


Count - свойство TCollection

Пример   см.также

Число объектов в контейнере TCollection

Класс TCollection

Доступ только для чтения

Определение

property Count: Integer;

Описание

Свойство Count определяет число объектов в контейнере TCollection - в массиве Items. Поскольку индексы, как всегда в Delphi, начинаются с 0, то значение Count на единицу больше последнего индекса в Items.


ItemClass - свойство TCollection

см.также

Класс объектов, содержащихся в контейнере TCollection

Класс TCollection

Доступ только для чтения

Определение

type TCollectionItemClass = class of TCollectionItem;

property ItemClass: TCollectionItemClass;

Описание

Свойство ItemClass определяет класс объектов, содержащихся в контейнере TCollection - в массиве Items. Каждому классу-наследнику TCollection соответствует свой класс-наследник TCollectionItem. Этот класс и указывается свойством ItemClass.


Items - свойство TCollection

см.также

Индексированный массив объектов, хранящихся в TCollection

Класс TCollection

Определение

property Items[Index: Integer]: TCollectionItem;

Описание

Свойство Items обеспечивает индексированный доступ к объектам, хранящимся в TCollection - объектам типа TCollectionItem. Индекс соответствует свойству Index соответствующего объекта TCollectionItem. Индексы начинаются с 0.


Add - метод TCollection

Пример   см.также

Создает новый объект TCollectionItem и добавляет его в массив Items

Класс TCollection

Определение

function Add: TCollectionItem;

Описание

Метод Add создает новый объект TCollectionItem и добавляет его в конец массива Items. Возвращает созданный объект.


Assign - метод TCollection

см.также

Копирует содержимое собрания объектов в другой контейнер

Класс TCollection

Определение

procedure Assign(Source: TPersistent); override;

Описание

Метод Assign копирует содержимое собрания объектов, указанного параметром Source, в то собрание, к которому применен метод. При этом в данном собрании удаляются все имеющиеся объекты в свойстве Items и  для каждого элемента массива Items источника Source создается его копия в массиве Items данного собрания.


BeginUpdate - метод TCollection

Пример   см.также

Предотвращает перерисовку до выполнения метода EndUpdate

Класс TCollection

Определение

procedure BeginUpdate; virtual;

Описание

Метод BeginUpdate предотвращает перерисовку экрана вплоть до выполнения метода EndUpdate. Метод имеет смысл применять перед началом изменения объектов, входящих в собрание некоторого визуального компонента. Тем самым ускоряется изменение перечня объектов собрания и предотвращается неприятное мерцание изображения в процессе изменения перечня объектов.


EndUpdate - метод TCollection

Пример   см.также

Снятие запрета перерисовки, введенного методом BeginUpdate

Класс TCollection

Определение

procedure EndUpdate; virtual;

Описание

Метод снимает запрет перерисовки, введенный ранее методом BeginUpdate. Совместное применение BeginUpdate и EndUpdate ускоряет реорганизацию перечня объектов собрания TCollection и предотвращается неприятное мерцание изображения в процессе изменения перечня объектов.


Create - метод TCollection

см.также

Создает и инициализирует собрание объектов указанного класса

Класс TCollection

Определение

type TCollectionItemClass = class of TCollectionItem;

constructor Create(ItemClass: TCollectionItemClass);

Описание

Метод Create создает и инициализирует собрание объектов TCollection. Класс объектов, которые будут добавляться в собрание методом Add определяется параметром ItemClass.


Delete - метод TCollection

см.также

Удаляет объект из собрания TCollection

Класс TCollection

Определение

procedure Delete(Index: Integer);

Описание

Метод Delete удаляет объект из массива Items собрания TCollection. Параметр Index указывает индекс удаляемого объекта (индексы начинаются с 0).


FindItemID - метод TCollection

см.также

Возвращает хранящийся объект с указанным идентификатором

Класс TCollection

Определение

function FindItemID(ID: Integer): TCollectionItem;

Описание

Метод FindItemID возвращает хранящийся объект с указанным идентификатором ID. Если объекта с указанным ID не находится, то возвращается nilNULL.


GetNamePath - метод TCollection

см.также

Возвращает строку, используемую для собрания в Инспекторе Объектов

Класс TCollection

Определение

function GetNamePath: string; override;

Описание

Метод GetNamePath возвращает строку, используемую для собрания в Инспекторе Объектов. Если собрание не имеет владельца (Owner), то возвращается имя типа. В противном случае возвращается имя владельца и после точки - имя свойства, соответствующего данному собранию. Например, "CoolBar1.Bands".


Insert - метод TCollection

см.также

Создает новый объект и вставляет его в массив Items

Класс TCollection

Определение

function Insert(Index: Integer): TCollectionItem;

Описание

Метод Insert создает новый объект TCollectionItem и вставляет его в массив Items в позицию, указанную параметром Index. Индексы прежних объектов, начиная с Index, увеличиваются на 1.


TCollectionItem - класс
TCollectionItem - класс объектов в собраниях TCollection

Иерархия   Свойства   Методы

Класс объектов, содержащихся в собраниях TCollection

Модуль classes

Описание

Класс TCollectionItem описывает объекты, которые могут содержаться в собраниях объектов TCollection. Каждый объект TCollectionItem имеет свойство Collection, указывающее на содержащий его контейнер. Объекты TCollectionItem создаются и уничтожаются методами своего контейнера TCollection: Add, Clear, Delete.

Класс TCollectionItem имеет множество классов-наследников (см. подробнее в разделе TCollection).


Свойства TCollectionItem

TCollectionItem

Свойство	Описание
Collection	Указывает собрание TCollection, к которому относится данный объект
DisplayName	Строка, появляющаяся в Редакторе Собраний (наборов) во время проектирования
ID	Идентификатор объекта. Только для чтения
Index	Определяет позицию объекта в свойстве Items его контейнера TCollection


DisplayName - свойство TCollectionItem

см.также

Строка, появляющаяся в Редакторе Собраний (наборов) во время проектирования

Класс TCollectionItem

Определение

property DisplayName: string;

Описание

Свойство DisplayName определяет строку, которая соответствует данному объекту в Редакторе Собраний (наборов) во время проектирования. Эта же строка может соответствовать некоторым другим свойствам объекта, отображаемым в Инспекторе Объектов. По умолчаниию DisplayName - это имя класса данного объекта.


ID - свойство TCollectionItem

см.также

Уникальный идентификатор объекта в собрании TCollection

Класс TCollectionItem

Доступ только для чтения

Определение

property ID: Integer;

Описание

Свойство ID определяет уникальный идентификатор объекта TCollectionItem. Обычно значение ID совпадает с индексом (свойством Index) в момент включения объекта в собрание TCollection. Но индекс Index может изменяться при вставке или удалении других объектов собрания. А идентификатор ID остается неизменным. Если объект удален из собрания, его идентификатор в дальнейшем использовать невозможно.

Поиск объекта по его идентификатору осуществляется методом FindItemID того собрания TCollection, к которому относится объект.


Index - свойство TCollectionItem

см.также

Индекс обьъекта в свойстве Items его контейнера TCollection

Класс TCollectionItem

Определение

property Index: Integer;

Описание

Свойство Index определяет позицию обьъекта в свойстве Items его контейнера (собрания) TCollection. Индексация начинается с 0. При вставке или удалении других объектов собрания Index может изменяться. В этом его отличие от идентификатор ID, который остается неизменным.


все методы класса TCollectionItem
Методы класса TCollectionItem

TCollectionItem

Никаких специальных методов, представляющих интерес для пользователя, в классе TCollectionItem не введено

Метод	Описание
After Construction	Вызывается автоматически после создания объекта
Assign	Копирует данные одного объекта в другой
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
Create	Создает и инициализирует объект
DefaultHandler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Destroy	Уничтожает объект
Dispatch	Вызывает обработчик сообщения, полученного объектом
FieldAddress	Возвращает указатель на опубликованное поле объекта
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами
SafeCall Exception	Обрабатывает исключения OLE и Com


TBDEDataSet - класс
TBDEDataSet - базовый класс наборов данных BDE

Иерархия   Свойства   Методы   События

Базовый класс компонентов наборов данных, использующих  Borland Database Engine (BDE)

Модуль dbtables

Описание

Класс TBDEDataSet инкапсулирует основные свойства, методы и события компонентов наборов данных, использующих  Borland Database Engine (BDE). Основные дополнения в TBDEDataSet по сравнению с родительским классом TDataSet связаны с организацией кэширования данных.

В приложениях объекты TBDEDataSet непосредственно не используются. Используются только потомки этого класса и производного от него класса TDBDataSet: TTable, TQuery, TStoredProc. При создании новых классов наборов данных удобнее, обычно, в качестве базового использовать не TBDEDataSet, а его дочерний класс TDBDataSet.


Основные свойства TBDEDataSet

Все свойства TBDEDataSet

Свойство	Описание
Active	Определяет открытие и закрытие набора данных
AggFields	Содержит массив полей совокупных (агрегированных) характеристик
AutoCalcFields	Управляет генерацией событий OnCalcFields
Bof	Указывает, находится ли курсор на первой записи
Bookmark	Определяет текущую закладку набора данных
CacheBlobs	Определяет, кэшируются ли поля BLOB в памяти
CachedUpdates	Определяет, кэшируются ли изменения набора данных
CanModify	Определяет, возможно ли редактирование набора данных
DataSource	Указывает источник данных другого набора данных, снабжающего информацией данный набор
Eof	Указывает, находится ли курсор на последней записи
ExpIndex	Указывает, использует ли набор данных индекс выражений dBASE. Свойство только для чтения
FieldCount	Число объектов полей, связанных с набором данных
FieldDefs	Указывает на список объектов, определяющих поля набора данных
Fields	Список всех объектов полей (кроме полей совокупных характеристик) набора данных. Свойство только для чтения
FieldValues	Обеспечивает доступ а значениям всех полей активной записи
Filter	Строка фильтра набора данных
Filtered	Разрешает или запрещает фильтрацию
FilterOptions	Опции фильтрации
Found	Булево свойство, показывающее успешность перемещения по набору данных методами FindFirst, FindLast, FindNext, FindPrior. Только для чтения
Modified	Указывает, была ли модифицирована активная запись. Только для чтения
Name	Имя набора данных, По умолчанию совпадает с именем соответствующего компонента (Table1, Query2 и т.п.). При изменении Name соответственно изменяются и использующие его имена полей  (Table1.Fam, Query2.Nam и т.п.)
RecNo	Номер записи
RecordCount	Количество записей в наборе данных. Только для чтения
State	Состояние массива данных. Только для чтения
UpdateObject	Определяет объект, используемый для обновления кэшируемых результатов "только для чтения"
UpdateRecord Types	Определяет, какие записи должны быть видимы в наборе данных при кэшировании
UpdatesPending	Определяет, имеются ли в кэше обновленные записи, не отправленные в базу данных


Все свойства TBDEDataSet

Основные свойства TBDEDataSet

Свойство	Описание
Active	Определяет открытие и закрытие набора данных
ActiveRecord	Индекс активной записи во внутреннем кэше записей. Свойство только для чтения
AggFields	Содержит массив полей совокупных (агрегированных) характеристик
AutoCalcFields	Управляет генерацией событий OnCalcFields
BlockReadSize	Число записей, помещаемых при чтении в буфер
Bof	Указывает, находится ли курсор на первой записи
Bookmark	Определяет текущую закладку набора данных
CacheBlobs	Определяет, кэшируются ли поля BLOB в памяти
CachedUpdates	Определяет, кэшируются ли изменения набора данных
CanModify	Определяет, возможно ли редактирование набора данных
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Components	Массив компонентов, которыми владеет данный компонент. Позволяет сослаться на любой компонент с помощью его ComponentIndex
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
DataSetField	Указывает на объект TDataSetField, управляющий вложенными наборами данных (например, в Oracle8)
DataSource	Указывает источник данных другого набора данных, снабжающего информацией данный набор
DefaultFields	Определяет, генерируются ли объекты полей автоматически (при значении true), или они созданы во время проектирования Редактором Полей. Свойство только для чтения
Designer	Указывает на инструмент, используемый для проектирования набора данных (например, Редактор Полей)
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Eof	Указывает, находится ли курсор на последней записи
ExpIndex	Указывает, использует ли набор данных индекс выражений dBASE. Свойство только для чтения
FieldCount	Число объектов полей, связанных с набором данных
FieldDefList	Указывает на внутренний "плоский" список объектов, определяющих поля набора данных. Свойство только для чтения
FieldDefs	Указывает на список объектов, определяющих поля набора данных
FieldList	"Плоский" список типа TFieldList объектов полей набора данных. Список хранится в TFieldList.Fields. Свойство только для чтения
Fields	Список всех объектов полей (кроме полей совокупных характеристик) набора данных. Свойство только для чтения
FieldValues	Обеспечивает доступ а значениям всех полей активной записи
Filter	Строка фильтра набора данных
Filtered	Разрешает или запрещает фильтрацию
FilterOptions	Опции фильтрации
Found	Булево свойство, показывающее успешность перемещения по набору данных методами FindFirst, FindLast, FindNext, FindPrior. Только для чтения
Handle	Дескриптор курсора BDE. Использется только при явном обращении к функциям BDE. Только для чтения
KeySize	Размер в байтах ключа индекса. Зависит от числа и типа полей. Только для чтения
Locale	Драйвер языка BDE. Использется только при явном обращении к функциям BDE. Только для чтения
Modified	Указывает, была ли модифицирована активная запись. Только для чтения
Name	Имя набора данных, По умолчанию совпадает с именем соответствующего компонента (Table1, Query2 и т.п.). При изменении Name соответственно изменяются и использующие его имена полей  (Table1.Fam, Query2.Nam и т.п.)
ObjectView	Определяет способ организации списка Fields
Owner	Определяет владельца данного компонента
RecNo	Номер записи
RecordCount	Количество записей в наборе данных. Только для чтения
RecordSize	Размер записи в наборе данных. Только для чтения
SparseArrays	Указывает, создаются ли уникальные объекты полей для каждого элемнта массива полей. Только для чтения
State	Состояние массива данных. Только для чтения
Tag	Это свойство не используется в Delphi. Разработчик может использовать его по своему усмотрению
UpdateObject	Определяет объект, используемый для обновления кэшируемых результатов "только для чтения"
UpdateRecord Types	Определяет, какие записи должны быть видимы в наборе данных при кэшировании
UpdatesPending	Определяет, имеются ли в кэше обновленные записи, не отправленные в базу данных
VCLComObject	Используется только в среде Delphi для поддержания стандарта COM


Основные методы класса TBDEDataSet

Все методы TBDEDataSet

Метод	Описание
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyUpdates	Записывает кэшированные изменения в базу данных
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
CommitUpdates	Очищает буфер кэшированных изменений
Compare Bookmarks	Сравнивает две закладки Bookmark набора данных
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Edit	Переводит набор данных в режим редактирования
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindField	Находит поле по его имени. При неверном имени возвращаент nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FreeBookmark	Уничтожает закладку набора данных
GetBookmark	Создает и возвращает новую закладку набора данных
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetail LinkFields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldNames	Выдает список имен всех полей набора данных
GotoBookmark	Осуществляет переход на указанную закладку набора данных
Insert	Вставляет новую пустую запись в набор данных
InsertRecord	Вставляет новую заполненную запись в набор данных
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MoveBy	Перемещает курсор на заданное число записей
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
Post	Пересылает отредактированную запись в базу данных
Prior	Перемещает курсор к предыдущей записи
Refresh	Обеспечивает обновление отображаемых данных
RevertRecord	Отменяет исправления текущей записи
SetFields	Устанавливает значения всех полей записи
UpdateStatus	Определяет состояние обновления текущей записи


Все методы класса TBDEDataSet

Основные методы TBDEDataSet

Метод	Описание
ActiveBuffer	Указывает на буфер текущей записи. Для внутреннего использования
After Construction	Вызывается автоматически после создания объекта
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyUpdates	Записывает кэшированные изменения в базу данных
Assign	Копирует данные одного объекта в другой
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
CheckBrowse Mode	Автоматически пересылает отредактированную активную запись в базу данных или отменяет результат редактирования при переходе к другой записе. Для внутреннего использования
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
CommitUpdates	Очищает буфер кэшированных изменений
Compare Bookmarks	Сравнивает две закладки Bookmark набора данных
Constraint CallBack	Определяет функцию, которая позволяет набору данных непосредственно связываться с API BDE
Constraints Disabled	Показывает, блокированы, или нет ограничения сервера
Controls Disabled	Проверяет наличие блокировки методом DisableControls компонентов, отображающих данные
Create	Создает пустой набор данных
CreateBlob Stream	Создает поток для чтения и записи данных поля BLOB
CursorPos Changed	Автоматически вызывается методами Locate и Lookup при изменении позиции курсора
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Destroy	Разрушает объект. Вместо Destroy надо использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Disable Constraints	Блокирует ограничения сервера
Disable Controls	Блокирует вывод данных в компоненты, связанные с данными
Dispatch	Вызывает обработчик сообщения, полученного объектом
Edit	Перевод набора данных в режим редактирования
Enable Constraints	Снимает блокировку ограничений сервера, введенную ранее методом DisableConstraints
EnableControls	Снимает блокировку отображения данных, введенную ранее методом DisableControls
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FetchAll	Считывает с сервера и сохраняет локально все записи, начиная с текущей
FieldAddress	Возвращает указатель на опубликованное поле объекта
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindComponent	Ищет в списке Components компонент с заданным именем.
FindField	Находит поле по его имени. При неверном имени возвращаент nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FlushBuffers	Пересылает в базу данных все изменения, сохраненные в буфере
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeBookmark	Уничтожает закладку набора данных
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetBlobField Data	Читает значение поля BLOB в буфер и возвращает размер буфера
GetBookmark	Создает и возвращает новую закладку набора данных
GetCurrent Record	Заносит текущую запись в буфер
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetail LinkFields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldData	Заносит данные указанного поля в буфер. Обычно не вызывается явным образом. Используется объектами TField в методе GetData
GetFieldList	Создает список копий объектов указанных полей. Используется в редких случаях, когда надо работать не с самими полями, а с их копиями
GetFieldNames	Выдает список имен всех полей набора данных
GetIndexInfo	Читает информацию BDE о текущем индексе. Обычно явным образом не вызывается
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetParent Component	Возвращает родителя компонента
GotoBookmark	Осуществляет переход на указанную закладку набора данных
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert	Вставляет новую пустую запись в набор данных
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
InsertRecord	Вставляет новую заполненную запись в набор данных
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
IsLinkedTo	Проверяет, черпает ли указанный источник данных TDataSource информацию из этого набора данных
IsSequenced	Определяет, можно ли в наборе данных использовать номер записи RecNo для навигации по набору данных
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MoveBy	Перемещает курсор на заданное число записей
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
Post	Пересылает отредактированную запись в базу данных
Prior	Перемещает курсор к предыдущей записи
Refresh	Обеспечивает обновление отображаемых данных
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Resync	Используется для синхронизации записей другими методами, изменяющими положение курсора. В приложении непосредственно не вызывается
RevertRecord	Отменяет исправления текущей записи
SafeCall Exception	Обрабатывает исключения OLE и Com
SetFields	Устанавливает значения всех полей записи
Translate	Взаимно преобразует строку символов ANSI (используются в Delphi и Windows) и строку символов OEM (используются в BDE)
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateCursor Pos	Позиционирует курсор на текущей записи. Явным образом в приложениях не вызывается
UpdateRecord	Обеспечивает правильное отображение данных. Явным образом в приложениях не вызывается
UpdateStatus	Определяет состояние обновления текущей записи


CacheBlobs - свойство TBDEDataSet

см.также

Показывает, кэшируются ли поля BLOB в памяти

Класс TBDEDataSet

Определение

property CacheBlobs: Boolean;

Описание

Свойство CacheBlobs показывает, кэшируются ли поля BLOB в памяти. Кэширование позволяет повысить производительность при перемещении по записям, когда приложение отображает образы полей BLOB. По умолчанию CacheBlobs = true, т.е. кэширование производится. Если приложение не предусматривает постоянное отображение полей BLOB, то целесообразно установить CacheBlobs = false, чтобы сэкономить ресурсы памяти.


CachedUpdates - свойство TBDEDataSet

см.также

Определяет, кэшируются ли изменения набора данных

Класс TBDEDataSet

Определение

property CachedUpdates: Boolean;

Описание

Свойство CachedUpdates определяет, кэшируются ли изменения набора данных (при значении true), или кэширование не производится. При кэшировании все изменения данных, вставка новых записей, удаление существующих записей, т.е. все манипуляции с данными, проводимые пользователем, сначала делаются не в самой базе данных, а запоминаются в памяти во временной, виртуальной таблице. И только по особой команде после всех проверок правильности вносимых в таблицу данных пользователю предоставляется возможность или зафиксировать все эти изменения в базе данных в рамках одной транзакции, или отказаться от этого и вернуться к тому состоянию, которое было до начала редактирования.

При работе в сети кэширование позволяет уменьшить число транзакций, сократить их длительность и разгрузить сеть. Дополнительным преимуществом кэширования является невозможность других приложений увидеть изменения данных, происходящие в процессе их редактирования данным приложением. С другой строны, если пока шло редактирование другие приложения внесли изменения в базу данных, то при переносе кэшированных изменений в базу данных возможны конфликты.

Альтернативой кэширования при работе в сети является использование клиентского набора данных и компонента - провайдера.


RecNo - свойство TBDEDataSet

Пример   см.также

Номер записи

Класс TBDEDataSet

Определение

property RecNo: Longint;

Описание

Свойство RecNo определяет номер активной записи в наборе данных с учетом применяемой индексации набора. Совместно с числом записей RecordCount свойство RecNo может использоваться для организации циклов по записям. Особенно это удобно делать для таблиц Paradox, в которых установка RecNo автоматически позиционирует курсор на указанную запись (см. пример). Впрочем, удобнее для навигации использовать методы First, Last, MoveBy, Next, Prior.

Свойство IsSequenced показывает, можно ли применять в данном наборе свойство RecNo.


UpdateObject - свойство TBDEDataSet

см.также

Определяет объект, используемый для обновления кэшируемых результатов "только для чтения"

Класс TBDEDataSet

Определение

property UpdateObject: TDataSetUpdateObject;

Описание

Объект TDataSetUpdateObject, определяемый свойством UpdateObject, используется для обновления результатов, возвращаеиых Borland Database Engine (BDE) в режиме "только для чтения". BDE всегда пытается, если возможно, вернуть "живые" данные, которые можнно редактировать. Но иногда это невозможно, если, например, делается запрос сразу к нескольким таблицам. В этих случаях требуется компонент TUpdateSQL, который может справляться с обновлением подобных наборов данных. Этот объект и должен быть указан в свойстве UpdateObject.


UpdateRecordTypes - свойство TBDEDataSet

см.также

Определяет, какие записи должны быть видимы в наборе данных при кэшировании

Класс TBDEDataSet

Определение

type TUpdateRecordTypes = set of (rtModified, rtInserted, rtDeleted, rtUnmodified);

property UpdateRecordTypes: TUpdateRecordTypes;

Описание

Свойство UpdateRecordTypes определяет, какие записи должны быть видимы в наборе данных при кэшировании. Свойство представляет собой множество следующих возможных значений:

rtModified	видимы модифицированные записи
rtInserted	видимы вставленные записи
rtDeleted	видимы удаленные записи.
rtUnmodified	видимы немодифицированные записи

По умолчанию UpdateRecordTypes = [rtModified, rtInserted, rtUnmodified]. Если, например, добавить в UpdateRecordTypes значение rtDeleted и удалить все прочие значения, то пользователь увидит все удаленные записи и может решать, следует ли их действительно удалять при занесении результатов в базу данных. Аналогично можно предоставить пользователю возможность видеть, например, только все вставленные или все отредактированные записи.


UpdatesPending - свойство TBDEDataSet

Пример1   Пример2   см.также

Определяет, имеются ли в кэше обновленные записи, не отправленные в базу данных

Класс TBDEDataSet

Определение

property UpdatesPending: Boolean;

Описание

Свойство UpdatesPending определяет, имеются ли в кэше обновленные записи, не отправленные в базу данных. Если UpdatesPending = true, значит имеются отредактированые, удаленные или вставленные записи, причем эти изменения набора данных еще не перенесены в базу данных. В этом случае можно осуществить перенос исправлений в базу данных или спросить пользователя о необходимости такого переноса.


ApplyUpdates - метод TBDEDataSet

Примеры   см.также

Записывает кэшированные изменения в базу данных

Класс TBDEDataSet

Определение

procedure ApplyUpdates;

Описание

Метод ApplyUpdates записывает кэшированные изменения в базу данных. Данные передаются в базу данных на хранение, но не фиксируются там. Для их фиксации в случае успешной пересылки в базу данных надо вызвать явным образом метод Commit. Если же обнаруживается, что фиксация не требуется, то можно отменить все изменения методом Rollback.

После успешной фиксации изменений в базе данных следует вызвать метод CommitUpdates, чтобы очистить буфер изменений.

Для записи и фиксации изменений в базе данных желательно использовать методы компонента базы данных TDatabase (см. пример).


CancelUpdates - метод TBDEDataSet

Пример   см.также

Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных

Класс TBDEDataSet

Определение

procedure CancelUpdates;

Описание

Метод CancelUpdates отменяет все кэшированные изменения и восстанавливает состояние набора данных, которое было в момент открытия таблицы, или в момент последнего разрешения кэширования, или в момент последней успешной пересылки изменений в базу данных. Для отмены изменеий только одной записи следует вызывать не CancelUpdates, а RevertRecord.

Метод CancelUpdates вызывается автоматически при закрытии базы данных или при задании false свойству CachedUpdates.


CommitUpdates - метод TBDEDataSet

Пример   см.также

Очищает буфер кэшированных изменеий

Класс TBDEDataSet

Определение

procedure CommitUpdates;

Описание

Метод CommitUpdates очищает буфер кэшированных изменеий после успешного вызова метода ApplyUpdates или метода Commit базы данных. Очистка кэша гарантирует, что в нем не осталось записей, кроме необработанных или пропущенных обработчиками событий OnUpdateRecord или OnUpdateError. Оставшиеся записи еще можно пытаться модифицировать.

Модификации оставшихся записей опять кэшируются и в дальнейшем должны пересылаться в базу данных методом ApplyUpdates.


ConstraintsDisabled, DisableConstraints, EnableConstraints - методы TBDEDataSet

см.также

Методы, управляющие доступностью ограничений сервера

Класс TBDEDataSet

Определения

function ConstraintsDisabled: Boolean;

procedure DisableConstraints;

procedure EnableConstraints;

Описание

Метод DisableConstraints временно блокирует применение ограничений сервера к набору данных. Например, при организации циклов по записям отключение ограничений ускоряет работу. Каждый вызов DisableConstraints увеличивает число блокировок на 1.

Метод EnableConstraints снимает введенную методом DisableConstraints блокировку. Точнее, вызов этого метода уменьшает на 1 число блокировок. Когда это число станет равно 0, блокировка снимется.

Функция ConstraintsDisabled проверяет наличие блокировки ограничений. Она возвращает true, если блокировка имеется. Совместное применение ConstraintsDisabled и EnableConstraints позволяет снять многократную блокировку:

while Table1.ConstraintsDisabled
  do Table1.EnableConstraints;


FetchAll - метод TBDEDataSet

см.также

Считывает с сервера и сохраняет локально все записи, начиная с текущей

Класс TBDEDataSet

Определение

procedure FetchAll;

Описание

Метод FetchAll считывает с сервера и сохраняет локально все записи, начиная с текущей и до конца файла. Предварительно вызывается CheckBrowseMode, чтобы переслать в базу данных все оставшиеся незафиксированными изменения данных.

При обычном кэшировании транзакции читают столько данных, сколько необходимо для их отображения в приложении. При необходимости новых данных выполняется новая транзакция. Метод FetchAll позволяет сократить нагрузку на сеть, считывая все данные одной транзакцией. Но применение этого метода сопряжено с определенными проблемами. Если базу данных одновременно использует несколько клиентов, то есть опасность, что какие-то из прочитанных данных будут изменены другими приложениями. Тогда при возврате ранее прочитанных записей в базу данных могут возникнуть конфликты.


FlushBuffers - метод TBDEDataSet

см.также

Пересылает в базу данных все изменения, сохраненные в буфере

Класс TBDEDataSet

Определение

procedure FlushBuffers;

Описание

Метод FlushBuffers пересылает в базу данных все оставшиеся изменения набора данных, включая кэшированные изменения, сохраненные в буфере. Метод можно использовать вместо CheckBrowseMode, если важно, чтобы было послано в базу данных содержимое буферов записей.


RevertRecord - метод TBDEDataSet

см.также

Отменяет исправления текущей записи

Класс TBDEDataSet

Определение

procedure RevertRecord;

Описание

Метод RevertRecord отменяет исправления текущей записи, если они кэшировались. Для отмены исправления одновременно всех записей используется метод CancelUpdates.


TDBDataSet - класс
TDBDataSet - класс компонентов наборов данных

Иерархия   Свойства   Методы   События

Базовый класс компонентов наборов данных

Модуль dbtables

Описание

Класс TDBDataSet является базовым для таких компонентов наборов данных, как TTable, TQuery, TStoredProc. При разработке новых классов компонентов базовым для них также целесообразно выбирать TDBDataSet. Он наследует свойства и методы своих предшественников - TDataSet и TBDEDataSet, добавляя к ним свойства соединения с базами данных.


Основные свойства TDBDataSet

Все свойства TDBDataSet

Свойство	Описание
Active	Определяет открытие и закрытие набора данных
AggFields	Содержит массив полей совокупных (агрегированных) характеристик
AutoCalcFields	Управляет генерацией событий OnCalcFields
AutoRefresh	Определяет, обновляются ли автоматически значения полей, вычисляемые сервером
Bof	Указывает, находится ли курсор на первой записи
Bookmark	Определяет текущую закладку набора данных
CacheBlobs	Определяет, кэшируются ли поля BLOB в памяти
CachedUpdates	Определяет, кэшируются ли изменения набора данных
CanModify	Определяет, возможно ли редактирование набора данных
Database	Указывает компонент базы данных TDatabase, связанный с набором данных. Свойство только для чтения
DatabaseName	Указывает имя базы данных, с которой связан набор данных
DataSource	Указывает источник данных другого набора данных, снабжающего информацией данный набор
DBSession	Связанный с набором данных компонент TSession
Eof	Указывает, находится ли курсор на последней записи
FieldCount	Число объектов полей, связанных с набором данных
FieldDefs	Указывает на список объектов, определяющих поля набора данных
Fields	Список всех объектов полей (кроме полей совокупных характеристик) набора данных. Свойство только для чтения
FieldValues	Обеспечивает доступ а значениям всех полей активной записи
Filter	Строка фильтра набора данных
Filtered	Разрешает или запрещает фильтрацию
FilterOptions	Опции фильтрации
Found	Булево свойство, показывающее успешность перемещения по набору данных методами FindFirst, FindLast, FindNext, FindPrior. Только для чтения
Modified	Указывает, была ли модифицирована активная запись. Только для чтения
Name	Имя набора данных, По умолчанию совпадает с именем соответствующего компонента (Table1, Query2 и т.п.). При изменении Name соответственно изменяются и использующие его имена полей  (Table1.Fam, Query2.Nam и т.п.)
RecNo	Номер записи
RecordCount	Количество записей в наборе данных. Только для чтения
SessionName	Имя компонента TSession, связанного с набором данных
State	Состояние массива данных. Только для чтения
UpdateObject	Определяет объект, используемый для обновления кэшируемых результатов "только для чтения"
UpdateRecord Types	Определяет, какие записи должны быть видимы в наборе данных при кэшировании
UpdatesPending	Определяет, имеются ли в кэше обновленные записи, не отправленные в базу данных


Все свойства TDBDataSet

Основные свойства TDBDataSet

Свойство	Описание
Active	Определяет открытие и закрытие набора данных
AggFields	Содержит массив полей совокупных (агрегированных) характеристик
AutoCalcFields	Управляет генерацией событий OnCalcFields
AutoRefresh	Определяет, обновляются ли автоматически значения полей, вычисляемые сервером
BlockReadSize	Число записей, помещаемых при чтении в буфер
Bof	Указывает, находится ли курсор на первой записи
Bookmark	Определяет текущую закладку набора данных
CacheBlobs	Определяет, кэшируются ли поля BLOB в памяти
CachedUpdates	Определяет, кэшируются ли изменения набора данных
CanModify	Определяет, возможно ли редактирование набора данных
ComObject	Ссылка на интерфейс в компонентах, поддерживающих стандарт COM
Component Count	Число компонентов в массиве Components
Component Index	Индекс компонента в массиве Components владельца данного компонента. Отсчитывается от 0, т.е. индекс первого компонента - 0. Может использоваться вместе с ComponentCount в циклах, когда надо изменить какие-то свойства всех компонентов
Components	Массив компонентов, которыми владеет данный компонент. Позволяет сослаться на любой компонент с помощью его ComponentIndex
Component State	Состояние компонента в процессе визуального проектирования. Свойство только для чтения. Во время выполнения не используется
Component Style	Определяет флаги стиля компонента. Используется при создании новых компонентов
Database	Указывает компонент базы данных TDatabase, связанный с набором данных. Свойство только для чтения
DatabaseName	Указывает имя базы данных, с которой связан набор данных
DataSetField	Указывает на объект TDataSetField, управляющий вложенными наборами данных (например, в Oracle8)
DataSource	Указывает источник данных другого набора данных, снабжающего информацией данный набор
DBHandle	Дескриптор базы данных BDE. Используется при прямом обращении к функциям API BDE
DBLocale	Драйвер языка BDE. Используется при прямом обращении к функциям API BDE
DBSession	Связанный с набором данных компонент TSession
DefaultFields	Определяет, генерируются ли объекты полей автоматически (при значении true), или они созданы во время проектирования Редактором Полей. Свойство только для чтения
Designer	Указывает на инструмент, используемый для проектирования набора данных (например, Редактор Полей)
DesignInfo	Используется только в среде Delphi при проектировании форм. В приложениях не используется
Eof	Указывает, находится ли курсор на последней записи
ExpIndex	Указывает, использует ли набор данных индекс выражений dBASE. Свойство только для чтения
FieldCount	Число объектов полей, связанных с набором данных
FieldDefList	Указывает на внутренний "плоский" список объектов, определяющих поля набора данных. Свойство только для чтения
FieldDefs	Указывает на список объектов, определяющих поля набора данных
FieldList	"Плоский" список типа TFieldList объектов полей набора данных. Список хранится в TFieldList.Fields. Свойство только для чтения
Fields	Список всех объектов полей (кроме полей совокупных характеристик) набора данных. Свойство только для чтения
FieldValues	Обеспечивает доступ а значениям всех полей активной записи
Filter	Строка фильтра набора данных
Filtered	Разрешает или запрещает фильтрацию
FilterOptions	Опции фильтрации
Found	Булево свойство, показывающее успешность перемещения по набору данных методами FindFirst, FindLast, FindNext, FindPrior. Только для чтения
Handle	Дескриптор курсора BDE. Использется только при явном обращении к функциям BDE. Только для чтения
KeySize	Размер в байтах ключа индекса. Зависит от числа и типа полей. Только для чтения
Locale	Драйвер языка BDE. Использется только при явном обращении к функциям BDE. Только для чтения
Modified	Указывает, была ли модифицирована активная запись. Только для чтения
Name	Имя набора данных, По умолчанию совпадает с именем соответствующего компонента (Table1, Query2 и т.п.). При изменении Name соответственно изменяются и использующие его имена полей  (Table1.Fam, Query2.Nam и т.п.)
ObjectView	Определяет способ организации списка Fields
Owner	Определяет владельца данного компонента
RecNo	Номер записи
RecordCount	Количество записей в наборе данных. Только для чтения
RecordSize	Размер записи в наборе данных. Только для чтения
SessionName	Имя компонента TSession, связанного с набором данных
SparseArrays	Указывает, создаются ли уникальные объекты полей для каждого элемнта массива полей. Только для чтения
State	Состояние массива данных. Только для чтения
Tag	Это свойство не используется в Delphi. Разработчик может использовать его по своему усмотрению
UpdateMode	Определяет критерии, по которым BDE идентифицирует запись. В TDBDataSet это защищенное свойство
UpdateObject	Определяет объект, используемый для обновления кэшируемых результатов "только для чтения"
UpdateRecord Types	Определяет, какие записи должны быть видимы в наборе данных при кэшировании
UpdatesPending	Определяет, имеются ли в кэше обновленные записи, не отправленные в базу данных
VCLComObject	Используется только в среде Delphi для поддержания стандарта COM


AutoRefresh - свойство TDBDataSet

см.также

Определяет, обновляются ли автоматически значения полей, вычисляемые сервером

Класс TDBDataSet

Определение

property AutoRefresh: Boolean;

Описание

Свойство AutoRefresh определяет, обновляются ли автоматически значения полей, вычисляемые сервером. К таким полям относятся поля с автоматически нарастающим значением (autoincrement) и поля со значениями по умолчанию. Если AutoRefresh = false, то значения таких полей при пересылке записи в базу данных не обновляются. Для их обновления надо явным образом вызывать метод Refresh. Если AutoRefresh = true, то обновление таких полей производится автоматически и вызов Refresh не требуется.

Некоторые драйверы баз данных не могут сами распознать поля с автоматическим нарастанием значения и поля, имеющие значения по умолчанию. В подобных случаях надо задать для всех полей, значения которых должны обновляться, свойство AutoGenerateValue. Это свойство снабдит драйверы необходимой информацией. Свойство AutoGenerateValue надо задавать также для полей наборов данных, отображающих запросы SQL и хранимые процедуры.


DatabaseName - свойство TDBDataSet

см.также

Определяет имя базы данных

Класс TDBDataSet

Определение

property DatabaseName: String;

Описание

Свойство DatabaseName определяет имя базы данных, с которой связан компонент набора данных. Это имя должно соответствовать имени одного из компонентов баз данных TDatabase в приложении. Прежде, чем задавать новое значение DatabaseName, надо закрыть базу данных, связанную с компонентом ранее. В противном случае будет генерироваться исключение.


DBSession - свойство TDBDataSet

см.также

Определяет связанный с набором данных компонент TSession

Класс TDBDataSet

Определение

property DBSession: TSession;

Описание

Свойство DBSession определяет связанный с набором данных компонент TSession. По умолчанию связь осуществляется с генерируемым автоматически объектом Session. Компонент TSession осуществляет общее управление связыванием приложения с базами данных. Он имеет много полезных методов и позволяет легко работать с BDE, например, через такие методы, как GetAliasNames, GetTableNames и др.


Session - переменная

см.также

Автоматически создаваемый объект TSession

Модуль Dbtables

Определение

var Session: TSession;

Описание

В приложениии автоматически создается объект типа TSession, на который можно ссылаться через глобальную переменную Session. Этот объект осуществляет общее управление связыванием приложения с базами данных. Он имеет много полезных методов и позволяет легко работать с BDE, например, через такие методы, как GetAliasNames, GetTableNames и др.


SessionName - свойство TDBDataSet

см.также

Имя компонента TSession, связанного с набором данных

Класс TDBDataSet

Определение

property SessionName: String;

Описание

Свойство SessionName задает имя набора данных компонента TSession. Это имя автоматически задается равным свойству

SessionName компонента базы данных TDatabase, с которым связан набор данных.

Если свойство SessionName в компоненте набора данных оставляется пустым, то набор автоматически связывается с компонентом по умолчанию Session. Во время проектирования свойство SessionName компонентов - наследников TDBDataSet устанавливается выбором из выпадающего списка в Инспекторе Объектов. В этом списке всегда имеется раздел Default - по умолчанию. Если в приложение явным образом введены компоненты TSession, в которых заданы свойства SessionName, то в выпадающем списке в Инспекторе Объектов содержатся также имена SessionName этих компонентов TSession. Значение SessionName, устанавливаемое в компоненте набора данных, должно совпадать со значением SessionName, установленным в наборе данных TDatabase, с которым связан набор.


SessionName - свойство TSession

см.также

Имя сеанса сетевого соединения, которое присваивается компоненту TSession для ссылок на него в компонентах наборов данных и баз данных

Класс TSession

Определение

property SessionName: String;

Описание

Свойство SessionName задает имя сеанса сетевого соединения, на которое могут ссылаться компоненты наборов данных TDBDataSet и баз данных TDatabase. Имя, указанное в свойстве SessionName компонента TSession, появится в Инспекторе Объектов в выпадающих списках свойств SessionName компонентов TDatabase и наборов данных - наследников TDBDataSet.

Если свойство AutoSessionName установлено в true, приложение не может явным образом установить значение SessionName.


SessionName - свойство TDatabase

см.также

Имя сеанса сетевого соединения, с которым связан компонент базы данных

Класс TDatabase

Определение

property SessionName: String;

Описание

Свойство SessionName задает имя сеанса сетевого соединения - компонента TSession, с которым связан компонент базы данных TDatabase. На это имя должны ссылаться использующие эту базу данных компоненты наборов данных (наследники TDBDataSet) в своих свойствах SessionName.

Если свойство SessionName в компоненте TDatabase оставляется пустым, то компонент автоматически связывается с компонентом по умолчанию Session. Во время проектирования свойство SessionName компонентов TDatabase устанавливается выбором из выпадающего списка в Инспекторе Объектов. В этом списке всегда имеется раздел Default - по умолчанию. Если в приложение явным образом введены компоненты TSession, в которых заданы свойства SessionName, то в выпадающем списке в Инспекторе Объектов содержатся также имена SessionName этих компонентов TSession.


UpdateMode - свойство TDBDataSet

см.также

Определяет критерии, по которым BDE идентифицирует запись

Класс TDBDataSet

Определение

type TUpdateMode = (upWhereAll, upWhereChanged,
                    upWhereKeyOnly);

property UpdateMode: TUpdateMode;

Описание

Защищенное свойство UpdateMode определяет критерии, по которым BDE идентифицирует запись при вызове метода ApplyUpdates. Тип TUpdateMode, объявленный в модуле Db, предусматривает следующие возможные значения UpdateMode:

upWhereAll	При идентификации используются все поля
upWhereChanged	При идентификации используются только значения ключевых полей  и полей, первоначальные значения которых были изменены
upWhereKeyOnly	При идентификации используются только значения ключевых полей


Основные методы класса TDBDataSet

Все методы   TDBDataSet

Метод	Описание
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyUpdates	Записывает кэшированные изменения в базу данных
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
CloseDatabase	Закрывает базу данных
CommitUpdates	Очищает буфер кэшированных изменений
Compare Bookmarks	Сравнивает две закладки Bookmark набора данных
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Edit	Переводит набор данных в режим редактирования
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindField	Находит поле по его имени. При неверном имени возвращаент nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FreeBookmark	Уничтожает закладку набора данных
GetBookmark	Создает и возвращает новую закладку набора данных
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetail LinkFields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldNames	Выдает список имен всех полей набора данных
GotoBookmark	Осуществляет переход на указанную закладку набора данных
Insert	Вставляет новую пустую запись в набор данных
InsertRecord	Вставляет новую заполненную запись в набор данных
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MoveBy	Перемещает курсор на заданное число записей
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
OpenDatabase	Открывет базу данных
Post	Пересылает отредактированную запись в базу данных
Prior	Перемещает курсор к предыдущей записи
Refresh	Обеспечивает обновление отображаемых данных
RevertRecord	Отменяет исправления текущей записи
SetFields	Устанавливает значения всех полей записи
UpdateStatus	Определяет состояние обновления текущей записи


Все методы класса TDBDataSet

Основные методыTDBDataSet   TDBDataSet

Метод	Описание
ActiveBuffer	Указывает на буфер текущей записи. Для внутреннего использования
After Construction	Вызывается автоматически после создания объекта
Append	Добавляет новую пустую запись в конец набора данных
AppendRecord	Добавляет в набор данных новую запись, заполняет ее и пересылает в базу данных
ApplyUpdates	Записывает кэшированные изменения в базу данных
Assign	Копирует данные одного объекта в другой
Before Destruction	Вызывается автоматически перед срабатыванием деструктора
BookmarkValid	Определяет, присвоено ли значение указанной закладке Bookmark набора данных. Возвращает false, если не присвоено (в частности, если набор данных не поддерживает закладки)
Cancel	Отменяет результаты редактирования
CancelUpdates	Отменяет все кэшированные изменения и восстанавливает исходное состояние набора данных
CheckBrowse Mode	Автоматически пересылает отредактированную активную запись в базу данных или отменяет результат редактирования при переходе к другой записе. Для внутреннего использования
CheckOpen	Проверяет, отсутствует ли ошибка при попытке доступа к данным
ClassInfo	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта. Таблица RTTI содержит информацию о типе компонента, типе его родителя, о его опубликованных свойствах. ClassInfo используется средой проектирования Delphi, но явным образом обычно не вызывается, так как доступ к RTTI проще получить другими методами
ClassName	Возвращает имя типа объекта
ClassNameIs	Возвращает true, если передаваемое в функцию имя совпадает с именем данного класса (в отличие от операции is не учитывает наследования)
ClassParent	Возвращает тип непосредственного предка данного класса
ClassType	Возвращает указатель на таблицу информации времени выполнения (RTTI) о типе объекта
Cleanup Instance	Очищает длинные строки и объекты variant. Вызывается автоматически в методе Free
ClearFields	Очищает содержимое всех полей активной записи набора данных
Close	Закрывает набор данных
CloseDatabase	Закрывает соединение с базой данных
CommitUpdates	Очищает буфер кэшированных изменений
Compare Bookmarks	Сравнивает две закладки Bookmark набора данных
Constraint CallBack	Определяет функцию, которая позволяет набору данных непосредственно связываться с API BDE
Constraints Disabled	Показывает, блокированы, или нет ограничения сервера
Controls Disabled	Проверяет наличие блокировки методом DisableControls компонентов, отображающих данные
Create	Создает пустой набор данных
CreateBlob Stream	Создает поток для чтения и записи данных поля BLOB
CursorPos Changed	Автоматически вызывается методами Locate и Lookup при изменении позиции курсора
Default Handler	Процедура обработки сообщения по умолчанию. Вызывается, из Dispatch, если не найден обработчик данного сообщения
Delete	Удаляет активную запись и позиционирует курсор на следующую запись
Destroy	Разрушает объект. Вместо Destroy надо использовать Free
Destroy Components	Уничтожает все компоненты, которыми владеет данный компонент. Автоматически вызывается в методе Free
Destroying	Показывает, что компонент и все компоненты, которыми он владеет, должны быть уничтожены. Автоматически вызывается в методе Free
Disable Constraints	Блокирует ограничения сервера
Disable Controls	Блокирует вывод данных в компоненты, связанные с данными
Dispatch	Вызывает обработчик сообщения, полученного объектом
Edit	Перевод набора данных в режим редактирования
Enable Constraints	Снимает блокировку ограничений сервера, введенную ранее методом DisableConstraints
EnableControls	Снимает блокировку отображения данных, введенную ранее методом DisableControls
ExecuteAction	Вызывает указанное действие Action, связанное с данным компонентом
FetchAll	Считывает с сервера и сохраняет локально все записи, начиная с текущей
FieldAddress	Возвращает указатель на опубликованное поле объекта
FieldByName	Находит поле по его имени. При неверном имени генерирует исключение
FindComponent	Ищет в списке Components компонент с заданным именем.
FindField	Находит поле по его имени. При неверном имени возвращаент nil
FindFirst	Перемещает курсор к первой записи и возвращает true в случае успеха
FindLast	Перемещает курсор к последней записи и возвращает true в случае успеха
FindNext	Перемещает курсор к следующей записи и возвращает true в случае успеха
FindPrior	Перемещает курсор к предыдущей записи и возвращает true в случае успеха
First	Перемещает курсор к первой записи
FlushBuffers	Пересылает в базу данных все изменения, сохраненные в буфере
Free	Уничтожает объект и освобождает выделенную под него память. Автоматически вызывает Destroy, если объект существует
FreeBookmark	Уничтожает закладку набора данных
FreeInstance	Освобождает память, выделенную ранее вызванным методом NewInstance. Автоматически вызывается деструктором Destroy. Непосредственный вызов пользователем не требуется. Должен быть перегружен, если перегружен метод NewInstance. Использует InstanceSize для определения размера выделенной области памяти
Free Notification	Гарантирует, что указанный в вызове компонент будет разрушен. Используется только по отношению к компонентам, расположенным на других формах. Для компонентов на текущей форме вызывается автоматически
FreeOnRelease	Освобождает ссылки на компоненты, которые создавались из классов COM. Используется внутри компонентов
GetBlobField Data	Читает значение поля BLOB в буфер и возвращает размер буфера
GetBookmark	Создает и возвращает новую закладку набора данных
GetCurrent Record	Заносит теущую запись в буфер
GetDetail DataSets	Заполняет список данными о вспомогательном наборе данных, находящемся с данным набором в соотношении master/detail
GetDetail LinkFields	Во вспомогательном наборе выдает списки ключевых полей этого и головного наборов данных
GetFieldData	Заносит данные указанного поля в буфер. Обычно не вызывается явным образом. Используется объектами TField в методе GetData
GetFieldList	Создает список копий объектов указанных полей. Используется в редких случаях, когда надо работать не с самими полями, а с их копиями
GetFieldNames	Выдает список имен всех полей набора данных
GetIndexInfo	Читает информацию BDE о текущем индексе. Обычно явным образом не вызывается
GetInterface	Возвращает интерфейс, указанный идентификатором
GetInterface Entry	Возвращает вход интерфейса, указанного идентификатором
GetInterface Table	Возвращает указатель на структуру, содержащую все интерфейсы класса
GetNamePath	Возвращает строку, используемую в Инспекторе Объектов
GetParent Component	Возвращает родителя компонента
GotoBookmark	Осуществляет переход на указанную закладку набора данных
HasParent	Указывает, имеет ли компонент родителя
InheritsFrom	Определяет, является ли указанный класс предком данного объекта. Используется в операциях is и as
InitInstance	Инициализирует новый объект и указатель на его таблицу виртуальных методов. Вызывается автоматически методом NewInstance
Insert	Вставляет новую пустую запись в набор данных
Insert Component	Добавляет указанный компонент в конец списка компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при добавлении компонента в список другого владельца.
InsertRecord	Вставляет новую заполненную запись в набор данных
InstanceSize	Возвращает число байтов, занимаемых объектом. Может использоваться для анализа затрат памяти различными типами объектов
IsEmpty	Возвращает true, если набор данных пуст, т.е. не содержит ни одной записи
IsLinkedTo	Проверяет, черпает ли указанный источник данных TDataSource информацию из этого набора данных
IsSequenced	Определяет, можно ли в наборе данных использовать номер записи RecNo для навигации по набору данных
Last	Перемещает курсор к последней записи
Locate	Осуществляет поиск записи в наборе данных
Lookup	Осуществляет поиск записи в наборе данных и возвращает значения указанных полей этой записи
MethodAddress	Возвращает адрес указанного метода.Непосредственно не вызывается
MethodName	Возвращает имя метода, расположенного по указанному адресу
MoveBy	Перемещает курсор на заданное число записей
NewInstance	Выделяет область памяти под объект и возвращает указатель на нее. Автоматически вызывается всеми конструкторами. Использует InstanceSize. Может перегружаться в классах-наследниках
Next	Перемещает курсор к следующей записи
Open	Открывает набор данных
OpenDatabase	Открывает базу данных
Post	Пересылает отредактированную запись в базу данных
Prior	Перемещает курсор к предыдущей записи
Refresh	Обеспечивает обновление отображаемых данных
Remove Component	Удаление указанного компонента из списка Components компонента-владельца. При визуальном проектировании вызывается автоматически. Специально может потребоваться вызов этого метода только при удалении компонента из список другого владельца
Resync	Используется для синхронизации записей другими методами, изменяющими положение курсора. В приложении непосредственно не вызывается
RevertRecord	Отменяет исправления текущей записи
SafeCall Exception	Обрабатывает исключения OLE и Com
SetFields	Устанавливает значения всех полей записи
Translate	Взаимно преобразует строку символов ANSI (используются в Delphi и Windows) и строку символов OEM (используются в BDE)
UpdateAction	Обновление действия Action, связанного с компонентом. Непосредственно не вызывается
UpdateCursor Pos	Позиционирует курсор на текущей записи. Явным образом в приложениях не вызывается
UpdateRecord	Обеспечивает правильное отображение данных. Явным образом в приложениях не вызывается
UpdateStatus	Определяет состояние обновления текущей записи


CheckOpen - метод TDBDataSet

см.также

Проверяет, отсутствует ли ошибка при попытке доступа к данным

Класс TDBDataSet

Определение

type DBIResult: Word;

function CheckOpen(Status: DBIResult): Boolean;

Описание

Метод CheckOpen проверяет, не вернула ли BDE ошибку при попытке доступа к данным. Тип DBIResult - это объявленный в модуле BDE.int тип ошибок BDE.

CheckOpen возвращает true, если доступ к данным получен. Если Status указывает на ограничения прав доступа к таблицам Paradox или dBASE, CheckOpen вызывает метод GetPassword компонента TSession,  т.е. запрашивает пароль пользователя. Если пользователь введет правильный пароль, то CheckOpen вернет true.

Если попытка доступа к данным завершилась неудачей, CheckOpen возвращает false.


CloseDatabase - метод TDBDataSet

см.также

Закрывает соединение с базой данных

Класс TDBDataSet

Определение

procedure CloseDatabase(Database: TDatabase);

Описание

Метод CloseDatabase закрывает соединение с базой данных. Параметр Database определяет временный (созданный ранее методом OpenDatabase) или постоянный компонент типа TDatabase, соединение которого закрывается. Вызов CloseDatabase уменьшает на 1 число ссылок этого компонента. Если число ссылок стало равно нулю и свойство KeepConnection (поддерживать соединение) этого компонента равно false, то временный компонент Database уничтожается, освобождая память. Временный компонент Database закрывается также автоматически, если закрылся последний связанный с ним набор данных. Метод CloseDatabase просто форсирует это закрывание. Если в компоненте TSession, с которым связан временный компонент Database, свойство KeepConnection = true, то при закрытии соединения Database не уничтожается. Для его уничтожения после закрытия соединения надо вызвать метод DropConnections компонента TSession.

Для постоянного компонента Database, чтобы закрыть соединение, надо явным образом вызвать его метод Close.


OpenDatabase - метод TDBDataSet

см.также

Открывает соединение с базой данных

Класс TDBDataSet

Определение

function OpenDatabase: TDatabase;

Описание

Метод OpenDatabase открывает соединение с базой данных через постоянный или временный компонент базы данных TDatabase. Свойство DatabaseName определяет открываемую базу данных.

При вызове OpenDatabase прежде всего активизируется компонент текущего сеанса сетевого соединения TSession. Затем определяется, соответствует ли свойство DatabaseName набора данных свойству DatabaseName одного из существующих компонентов TDatabase. Если не соответствует, то создается временный компонент TDatabase с именем, соответствующим свойству DatabaseName. В заключение выполняется метод Open компонента TDatabase и число его ссылок увеличивается на 1. Это число ссылок учитывается впоследствии при применении метода закрытия соединения CloseDatabase.


MinValue и MaxValue - свойства полей

см.также

Определяют ограничения на значение поля

Классы TIntegerField, TLargeIntField, TFloatField, TBCDField

Определение

property MinValue: Longint;  // для TIntegerField

property MaxValue: Longint;  // для TIntegerField

property MinValue: Largeint; // для TLargeIntField

property MaxValue: Largeint; // для TLargeIntField

property MinValue: Double;   // для TFloatField

property MaxValue: Double;   // для TFloatField

property MinValue: Currency; // для TBCDField

property MaxValue: Currency; // для TBCDField

Описание

Свойства MinValue и MaxValue определяют орраничения минимального и максимального значений, вводимых в поле. Если значения этих свойств равны нулю, значит ограничение не накладывается (кроме естественных ограничений, свойственных типу вводимых значений). При нарушении установленных ограничений генерируется исключение EDatabaseError.


DatabaseName - свойство TDatabase

Пример   см.также

Определяет имя базы данных

Класс TDatabase

Определение

property DatabaseName: String;

Описание

Свойство DatabaseName определяет имя базы данных, связанной с компонентом базы данных. Если значение DatabaseName является псевдонимом Borland Database Engine (BDE), то свойства AliasName и DriverName можно не устанавливать. Если же значение DatabaseName не соответствует псевдониму BDE, то надо или в дополнение к DatabaseName задать псевдоним в свойстве AliasName, или задать свойства DriverName и Params.

При работе с базами данных Paradox и dBASE значение DatabaseName может быть полным путем к базе данных.

Попытка установить DatabaseName при значении свойства Connected, равном true, приведет к генерации исключения.

Во время проектирования задание значения DatabaseName можно осуществлять с помощью редактора баз данных, вызываемого двойним щелчком на компоненте TDatabase.


TableName- свойство TTable

Пример   см.также

Определяет таблицу базы данных

Класс TTable

Определение

type TFileName = String;

property TableName: TFileName;

Описание

Свойство TableName определяет имя таблицы базы данных, с которой связан компонент TTable. Перед установкой TableName должно быть задано свойство DatabaseName - база

данных. Свойство Active в момент установки TableName должно быть равно false.

Во время проектирования значение TableName выбирается из выпадающего списка в Инспекторе Объектов.


Database - свойство TDBDataSet

Пример   см.также

Определяет объект базы данных

Класс TDBDataSet

Доступ только для чтения

Определение

property Database: TDatabase;

Описание

Свойство Database определяет компонент базы данных TDatabase, с которым связан набор данных. Этот объект создается автоматически, когда открявается база данных, указанная в свойстве DatabaseName. Объект Database дает доступ к свойствам, методам и событиям базы данных.


Exclusive - свойство TTable

Пример   см.также

Указывает, открыта ли таблица с блокировкой доступа со стороны других приложений

Класс TTable

Определение

property Exclusive: Boolean;

Описание

Свойство Exclusive определяет, открыта ли таблица с блокировкой доступа к ней со стороны других приложений. Значение Exclusive должно устанавливаться при закрытой таблице (свойство Active = false).

При Exclusive = true другие приложения на имеют доступа к таблице. Если в момент открытия таблицы при Exclusive = true таблица используется другими приложениями, генерируется исключение, которое надо обработать (см. пример)

При установке Exclusive = true во время проектирования свойство Active должно равняться false, так как в противном случае будет сообщение, что таблица уже используется.

Свойство Exclusive безусловно работает для таблиц Paradox и dBASE. Для таблиц SQL успех зависит от сервера. Не все серверы SQL поддерживают режим исключительного доступа. Другие поддерживают исключительный доступ для чтения/записи, но разрешают другим приложениям читать данные.


IndexFieldNames - свойство TTable

см.также

Список имен полей, используемых для индексации таблицы

Класс TTable

Определение

property IndexFieldNames: String;

Описание

Свойство IndexFieldNames определяет список имен полей, используемых для индексации таблицы. Имена в списке разделяются точками с запятой. Последовательность перечисления полей определяет последовательность их Для таблиц Paradox и dBASE имена, перечисленные в списке, должны относиться к одному из предопределенных индексов. Поэтому для этих таблиц удобнее задавать свойство IndexName. Для таблиц SQL поля могут быть любыми.

Свойства IndexFieldNames и IndexName являются взаимно исключающими. Задание одного из них стирает значение другого.


IndexName - свойство TTable

см.также

Имя используемого вторичного индекса таблицы

Класс TTable

Определение

property IndexName: String;

Описание

Свойство IndexName определяет имя используемого вторичного индекса таблицы. Если свойство IndexName пусто, то таблица в зависимости от ее типа или упорядочивается индексом по умолчанию, или отображается неупорядоченной.

Для таблиц dBASE индекс IndexName должен должен быть определен или в основном индексном файле таблицы, или в файле, указанном в свойстве IndexFiles.

Свойства IndexName и IndexFieldNames являются взаимно исключающими. Задание одного из них стирает значение другого.


IndexDefs - свойство TTable

Пример см.также

Объект собрания описаний индексов таблицы

Класс TTable

Определение

property IndexDefs: TIndexDefs;

Описание

Свойство IndexDefs является объектом типа TIndexDefs, содержащим собрание описаний индексов таблицы. Каждый из объектов, входящих в это собрание, описывает один из доступных индексов таблицы. Эти описания должны быть определены перед созданием таблицы во время выполнения методом CreateTable (см. пример). Если работа проводится с уже созданной таблицей, то обычно доступ к индексам осуществляется не через IndexDefs, а через свойства IndexFieldNames и IndexFields.

Если свойство IndexDefs модифицируется, то свойство StoreDefs устанавливается в true.

Определения индексов в IndexDefs не всегда соответствуют их действительным текущим значениям. Для обновления списка IndexDefs полезно перед его использованием вызвать метод Update.


IndexFieldCount - свойство TTable

см.также

Количество полей, используемых в текущем индексе

Класс TTable

Доступ только для чтения

Определение

property IndexFieldCount: Integer;

Описание

Свойство IndexFieldCount содежит число полей, используемых в текущем индексе. Если индексация проводится по одному полю, IndexFieldCount = 1. Свойство может использоваться совместно с IndexFields для организации цикла по полям индекса.


IndexFields - свойство TTable

см.также

Индексированный список объектов полей текущего индекса

Класс TTable

Определение

property IndexFields: [Index: Integer]: TField;

Описание

Свойство IndexFields содежит индексированный список объектов полей текущего индекса набора данных. Индексы отсчитываются от 0. Свойство IndexFields нельзя устанавливать непосредственно. Для изменения индексации таблицы используется свойство IndexFieldNames.


IndexFiles, OpenIndexFile и CloseIndexFile - свойство и методы TTable

см.также

Работают с индексными файлами таблицы dBASE

Класс TTable

Определения

property IndexFiles: TStrings;

procedure OpenIndexFile(const IndexFileName: String);

procedure CloseIndexFile(const IndexFileName: String);

Описание

Свойство IndexFiles определяет один или несколько индексных файлов таблицы dBASE, которые можно использовать для ее индексирования. Отдельные файлы в списке разделяются точками с запятой. Каждый из таких файлов может содержать несколько индексов. Все эти индексы становятся доступными для задания в свойстве IndexName.

Метод OpenIndexFile отрывает индексный файл dBASE с именем IndexFileName. Имя файла добавляется в список свойства IndexFiles. После этого все изменения в наборе данных отражаются в индексе.

Метод CloseIndexFile закрывает индексный файл IndexFileName. После этого все дальнейшие изменения в наборе данных не отражаются в индексе.


DefaultIndex - свойство TTable

см.также

Определяет, используется ли индексация по умолчанию при открывании таблицы

Класс TTable

Определение

property DefaultIndex: Boolean;

Описание

Свойство DefaultIndex определяет, используется ли индексация по умолчанию при открывании таблицы. Если DefaultIndex = false, то приоткрывани таблицы SQL сервера BDE не производит упорядочивания, т.е. не использует элемент запроса ORDER BY. Если же DefaultIndex = true (значение по умолчанию), то производится упорядочивание по первичному ключу или по уникальному индексу открываемой таблицы.


Exists - свойство TTable

Пример   см.также

Определяет, существует ли требуемая таблица базы данных

Класс TTable

Доступ только для чтения

Определение

property Exists: Boolean;

Описание

Свойство Exists определяет, существует ли требуемая таблица базы данных. Обычно используется перед созданием новой таблицы методом CreateTable, чтобы случайно не удалить имеющуюся таблицу с тем же именем.


KeyExclusive - свойство TTable

Примеры   см.также

Указывает, включаются ли в диапазон допустимых значений его границы

Класс TTable

Определение

property KeyExclusive: Boolean;

Описание

Свойство KeyExclusive определяет, включаются ли в диапазон допустимых значений полей, задаваемый методами SetRangeStart, SetRangeEnd, SetRange, его границы. По умолчания KeyExclusive = false. Это означает, что границы включаются в диапазон. Чтобы исключить границы из диапазона, следует задать KeyExclusive =  true.


методы TTable установки пределов допустимых значений полей
SetRangeStart, EditRangeStart, SetRangeEnd, EditRangeEnd, ApplyRange, SetRange, CancelRange - методы TTable

Примеры   см.также

Определяют допустимый диапазон значений поля

Класс TTable

Определения

procedure SetRangeStart;

procedure EditRangeStart;

procedure SetRangeEnd;

procedure EditRangeEnd;

procedure ApplyRange;

procedure SetRange(const StartValues,
                   EndValues: array of const);

procedure CancelRange;

Описание

Методы SetRangeStart, EditRangeStart, SetRangeEnd, EditRangeEnd, ApplyRange, SetRange устанавливают допустимый диапазон значений поля. Метод SetRangeStart переводит набор данных в состояние dsSetKey и очищает все ранее установленные значения нижних границ диапазонов. Если требуется только изменить какую-то из установленных ранее границ диапазонов, вместо SetRangeStart можно применять EditRangeStart. Оператор присваивания значения полю методом FieldByName, следующий за SetRangeStart или EditRangeStart, воспринимается как задание для поля нижней границы диапазона возможных значений (см. примеры). Методы SetRangeEnd и EditRangeEnd действуют аналогично, но последующий оператор присваивания воспринимается как задание верхней границы диапазона. После того, как пределы диапазона установлены, можно выполнить метод ApplyRange. При этом начнут использоваться установленные границы диапазона и доступными для просмотра и редактирования будут только те записи, в которых значения указанного поля находятся внутри диапазона.

Метод SetRange обеспечивает более простой способ установки диапазона. Его параметры - массивы StartValues и EndValues должны содержать соответственно нижние и верхние значения диапазонов полей, являющихся ключевыми. Таким образом, метод SetRange заменяет последовательное обращение к методам SetRangeStart, SetRangeEnd и ApplyRange. Если массивы StartValues и EndValues содержат меньше полей, чем используется в индексе, то остальные значения считаются установленными в NULL.

Метод CancelRange снимает ограничения диапазона, введенные рассмотреными методами.

На результаты работы описанных методов для числовых полей влияет свойство набора данных KeyExclusive. Оно определяет, будут ли считаться сами заданные границы входящими в диапазон (при KeyExclusive =  false), или не входящими. Иначе говоря, при KeyExclusive =  false используются операции отношения , , а при KeyExclusive =  true - >, <.

Для таблиц Paradox и dBASE методы работают только с полями индекса. Для таблиц SQL они работают с любыми полями, пересисленными в свойстве IndexFieldNames.

Description

Call SetRangeEnd to put the dataset into dsSetKey state, erase any previous end range values, and set them to NULL. Subsequent key buffer field assignments can be made using the FieldByName method to set the ending values for a range.

After assigning end-range values to FieldValues, call ApplyRange to activate the modified range.

Note:	With Paradox or dBASE tables, SetRangeEnd works only on indexed fields. With SQL databases, SetRangeEnd also works with any columns specified in the IndexFieldNames property.


KeyFieldCount - свойство TTable

см.также

При поиске по нескольким ключам задает чило используемых ключей

Класс TTable

Определение

property KeyFieldCount: Integer;

Описание

Свойство KeyFieldCount определяет, сколько первых ключей реально нужно использовать в ключе, включающем в себя несколько первичных ключей. Значение 0 соответствует использованию всех ключей, значение 1 - использованию только первого ключа, значение 2 - использованию первых двух ключей и т.д.


MasterFields - свойство TTable

см.также

Во вспомогательной таблице определяет ключевые поля головной таблицы, используемые для связи со вспомогательной таблицей

Класс TTable

Определение

property MasterFields: String;

Описание

Свойство MasterFields во вспомогательной таблице определяет ключевые поля головной таблицы, используемые для связи со вспомогательной таблицей. Отдельные ключевые поля в строке MasterFields разделяются точками с запятой.

Перед установкой MasterFields должно быть задано свойство MasterSource, которое определяет источник данных головной таблицы.


MasterSource - свойство TTable

см.также

Во вспомогательной таблице определяет источник данных головной таблицы

Класс TTable

Определение

property MasterSource: TDataSource;

Описание

Свойство MasterSource во вспомогательной таблице определяет источник данных головной таблицы, т.е. компонент TDataSource, в свойстве DataSet которого содержится ссылка на головной набор данных.

Псоле установки MasterSource можно задавать ключевые поля MasterFields, совпадение которых обеспечивает связь головной и вспомогательной таблиц.


StoreDefs - свойство TTable

см.также

Указывает, сохраняются ли определения полей и индексов в модуле данных или форме

Класс TTable

Определение

property StoreDefs: Boolean;

Описание

Свойство StoreDefs указывает, сохраняются ли определения полей и индексов в модуле данных или форме. Если StoreDefs = true, то сохраняются и создание таблицы методом CreateTable выполняется как одношаговая процедураЮ создающая поля, индексы и ограничения. По умолчанию StoreDefs = false и становится true при обновлении или редактировании FieldDefs или IndexDefs. Чтобы результаты редактирования не сохранялись, надо установить StoreDefs в false.


TableType - свойство TTable

Пример см.также

Тип таблицы

Класс TTable

Определение

type TTableType = (ttDefault, ttParadox, ttDBase,
                   ttASCII, ttFoxPro);

property TableType: TTableType;

Описание

Свойство TableType определяет тп таблицы: dBASE, Paradox, FoxPro, ASCII:

ttDefault	по умолчанию - тип определяется автоматически по расширению файла
ttParadox	таблица Paradox
ttDBase	таблица dBASE
ttFoxPro	таблица FoxPro
ttASCII	текстовая таблица, в которой поля разделяются запятыми и заключаются в кавычки

При TableType = ttDefault тип определяется по расширению файла следующим образом:

DB или отсутствие расширения	Paradox
DBF	dBASE
TXT	ASCII

При других значениях TableType расширение файла не анализируется.

Свойство TableType не применяется к таблицам удаленного SQL сервера.


AddIndex - метод TTable

см.также

Создает новый индекс таблицы

Класс TTable

Определение

type

  TIndexOption = (ixPrimary, ixUnique, ixDescending,
                  ixCaseInsensitive, ixExpression,
                  ixNonMaintained);

  TIndexOptions = set of TIndexOption;

procedure AddIndex(const Name, Fields: String;
                   Options: TIndexOptions,
                   const DescFields: String='');

Описание

Метод AddIndex создает новый индекс таблицы нобора данных, связанного с компонентом. Параметр Name - имя создаваемого индекса, которое должно быть допустимым для типа соответствующей базы данных. Параметр Fields - строка, содержащая имена полей индекса, разделенные точками с запятой. Параметр Options определяет множество атрибутов индекса:

ixPrimary	Первичный индекс (не применяется к таблицам dBASE уровня (TableLevel)ниже 7)
ixUnique	Не допускаются дубликаты, индекс каждой записи уникален (применим не ко всем таблицам)
ixDescending	Индекс, упорядочивающий по убыванию (применим не ко всем таблицам)
ixExpression	Индекс, основанный на ключевых выражениях dBASE (только для dBASE)
ixCaseInsensitive	Индекс, нечувствительный к регистру  (применим не ко всем таблицам)
ixNonMaintained	Не обновляется автоматически при редактировании данных (применим не ко всем таблицам)

Применимость тех или иных атрибутов к конкретным типам баз данных определяется документацией баз данных.

Параметр DescFields содержит строку списка полей (разделяются точками с запятой), для которых индекс обеспечивает упорядочивание по убыванию значения. Поля, перечисленные в Fields, но не указанные в DescFields, упорядочивают по нарастанию значения. Например, оператор

Table1.AddIndex('DepYear', 'Dep;Year_b', [ixCaseInsensitive], 'Year_b');

обеспечивает создание индекса с именем "DepYear", содержащий поля Dep и Year_b, причем по Year_b обеспечивается упорядочивание по убыванию. Индекс нечувствителен к регистру.


BatchMove - метод TTable

см.также

Перемещает записи из одной таблицы в другую

Класс TTable

Определение

type TBatchMode = (batAppend, batUpdate, batAppendUpdate,
                   batDelete, batCopy);

function BatchMove(ASource: TBDEDataSet;
                   AMode: TBatchMode): Longint;

Описание

Метод BatchMove перемещает записи из набора данных ASource в таблицу данного компонента. Параметр AMode типа TBatchMode определяет режим перемещения: добавление, замена, копирование. Метод возвращает число записей, с которыми проводилась работа.

Вызов BatchMove позволяет копировать записи из другой таблицы, обновлять записи данной таблицы значениями другой таблицы, добавлять запись из другой таблицы в конец данной, удалять из таблицы записи, содержащиеся в другой таблице.


TBatchMode - тип

см.также

Режим перемещения записей

Модуль Dbtables

Определение

type TBatchMode = (batAppend, batUpdate, batAppendUpdate,
                   batDelete, batCopy);

Описание

Тип TBatchMode характеризует режим перемещения записей из одной таблицы в другую:

batAppend	Добавляет все записи из таблицы - источника в таблицу - приемник. Обе таблицы но должны содержать записи с дубликатами ключей
batAppendUpdate	Если запись с соответствующим индексом существует в таблице - приемнике, она заменяется записью из источника. В противном случае запись источника добавляется в приемник. Таблица - приемник должна иметь индекс, который определяет соответствие записей двух таблиц
batCopy	Копирует структуру и все записи из таблицы - источника в таблицу - приемник. Если таблица - приемник существует, она удаляется и заменяется копией источника
batDelete	Удаляет все записи в таблице - приемнике, которые имеются в таблице - источнике
batUpdate	Если запись с соответствующим индексом существует в таблице - приемнике, она заменяется записью из источника. Таблица - приемник должна иметь индекс, который определяет соответствие записей двух таблиц


CreateTable - метод TTable

Пример   см.также

Создает новую таблицу базы данных

Класс TTable

Определение

procedure CreateTable;

Описание

Метод CreateTable создает новую таблицу базы данных на основании описаний полей и индексов, содержащихся в свойствах FieldDefs и IndexDefs.

Имя таблицы определяется свойством TableName. Если таблица с этим именем уже существует, она уничтожается и заменяется создаваемой. Поэтому прежде, чем вызывать CreateTable, полезно проверить с помощью свойства Exists, нет ли такой таблицы.

Если свойство FieldDefs, содержащее описания полей, задано, то эти описания используются в структуре создаваемой таблицы. Если FieldDefs не задано, структура таблицы создается на основании свойства Fields. Одно из этих свойств - FieldDefs или Fields обязательно должно быть задано.

Для создания индексов таблицы используются описания индексов, содержащиеся в свойстве IndexDefs.


DeleteIndex - метод TTable

см.также

Удаляет вторичный индекс таблицы

Класс TTable

Определение

procedure DeleteIndex(const Name: String);

Описание

Метод DeleteIndex удаляет вторичный индекс с именем Name. Первичный индекс удалить невозможно.

Перед удалением индекса таблица должна бать открыта в экслюзивном режиме (с запретом доступа к ней других приложений) - см. свойство Exclusive.


DeleteTable и EmptyTable - методы TTable

Пример   см.также

Удаляет (DeleteTable) или очищает (EmptyTable) существующую таблицу из базы данных

Класс TTable

Определение

procedure DeleteTable;

procedure EmptyTable;

Описание

Метод DeleteTable удаляет из базы данных существующую таблицу, связанную с компонентом TTable. При этом удаляются и все данные, и сама структура таблицы. Метод EmptyTable очищает таблицу, удаляя из нее все записи.

Таблица определяется свойствами DatabaseName и TableName  компонента TTable. Перед удалением таблица должна быть закрыта.


SetKey, EditKey, GotoKey, GotoNearest - методы TTable

Примеры   см.также

Обеспечивают поиск записей по ключу в состоянии набора dsSetKey

Класс TTable

Определения

procedure SetKey;

procedure EditKey;

function GotoKey: Boolean;

procedure GotoNearest;

Описание

Методы SetKey, EditKey, GotoKey, GotoNearest обеспечивают один из альтернативных (см. также FindKey, Lookup и Locate) способов поиска записи по ключу.

Перед началом поиска таблица должна быть индексирована по тем полям, которые будут ключевыми для поиска. Начинается поиск с метода SetKey или EditKey. Оба метода переводят набор данных (его свойство State) в состояние dsSetKey. Различие между методами SetKey и EditKey заключается только в том, что метод EditKey сохраняет буфер ранее установленного ключа. Так что этот метод целесообразно применять в случаях, когда задано много ключей, а вы хотите изменить только немногие из них. Определить текущие ключи можно с помощью свойства IndexFields.

Следующие за операторами SetKey или EditKey операторы присваивания значений полям с помощью метода FieldByName задают значения ключей поиска (см. пример).

После задания ключей можно применить метод GotoKey. Если найдена запись, в котором ключевые поля точно совпадают с заданными значениями ключей, то курсор переместится на эту запись, а GotoKey вернет true. Если же такая запись не найдена, то курсор останется на месте, а GotoKey вернет false.

Обычно более удобен метод GotoNearest, который перемещает курсор на запись, значения ключевых полей которой наиболее близки к заданным значениям ключей. Это позволяет проводить, например, ускоренный поиск записей со строковыми полями при посимвольным вводе искомого значения, как показано в примере). Значение свойства KeyExclusive определяет, на какую именно запись переместится курсор при частичном совпадением значений полей и ключей.


FindKey, FindNearest - методы TTable

Примеры   см.также

Обеспечивают поиск записей по ключу

Класс TTable

Определения

function FindKey(const KeyValues: array of const):
                                               Boolean;

procedure FindNearest(const KeyValues: array of const);

Описание

Методы FindKey и FindNearest обеспечивают один из альтернативных (см. также SetKey, Lookup и Locate) способов поиска записи по ключу.

Перед началом поиска таблица Paradox или dBASE должна быть индексирована по тем полям, которые будут ключевыми для поиска и которые указаны в свойстве IndexName. В противном случае поиск можно проводить только по первичному индексу. Для таблиц SQL ключ может соответствовать индексу в свойстве IndexName или списку полей в свойстве IndexFieldNames.

В методы передается массив KeyValues значений ключевых полей в той последовательности, в которой они входят в индекс. Элементами массива могут быть строки, переменные, NULL или nil. При этом не обязательно перечислять все поля - достаточно перечислить первое или несколько первых. Для остальных полей будет предполагаться значение NULL.

Если найдена запись, в которой значения ключевых полей совпадают с заданными ключами, то функция FindKey перемещает курсор на эту запись и возвращает true. Если же такая запись не найдена, то курсор останется на месте, а FindKey вернет false. Вместо FindKey часто удобнее использовать метод FindNearest, особенно для полей строкового типа. Метод обеспечивает переход к наиболее совпадающей записи, если полного совпадения не получено. Это позволяет проводить, например, ускоренный поиск записей со строковыми полями при посимвольным вводе искомого значения, как показано в примере). Значение свойства KeyExclusive определяет, на какую именно запись переместится курсор при частичном совпадением значений полей и ключей.


GetIndexNames - метод TTable

см.также

Возвращает список доступных индексов таблицы

Класс TTable

Определение

procedure GetIndexNames(List: TStrings);

Описание

Метод GetIndexNames возвращает в параметр List список доступных индексов таблицы. Напрмер, оператор

Table1.GetIndexNames(Memo1.Lines);

занесет в окно Memo1 список индексов, доступных в таблице, связанной с Table1.


GotoCurrent - метод TTable

см.также

Синхронизирует текущую запись таблицы с текущей записью другого набора данных

Класс TTable

Определение

procedure GotoCurrent(Table: TTable);

Описание

Метод GotoCurrent синхронизирует позицию курсора в таблице, связанной с данным компонентом, с позицией курсора в другом наборе данных Table, использующем другой источник данных, но связанном с той же таблицей. Свойства DatabaseName и TableName в обоих табличных компонентах должны быть одинаковыми. В противном случае будет сгенерировано исключение.


RenameTable - метод TTable

см.также

Переименовывает таблицу Paradox или dBASE

Класс TTable

Определение

procedure RenameTable(const NewTableName: String);

Описание

Метод RenameTable переименовывает таблицу Paradox или dBASE, связанную с данным компонентом, давая ей новое имя NewTableName. Одновременно переименовываются и все файлы, поддерживающие таблицу. Например, в Paradox переименовываются файлы с расширениями .DB и .MB.


LockTable и UnlockTable - методы TTable

см.также

Блокируют и деблокируют таблицу Paradox или dBASE

Класс TTable

Определения

type TLockType = (ltReadLock, ltWriteLock);

procedure LockTable(LockType: TLockType);

procedure UnlockTable(LockType: TLockType);

Описание

Метод LockTable блокирует таблицу Paradox или dBASE, запрещая другим приложениям выполнять операции с ней. Если LockType = ltReadLock, другим приложениям запрещается чтение данных из таблицы. Если LockType = ltWriteLock, запрещается запись в таблицу. Если нужны обе блокировки, надо дважды вазвать LockTable с различными значениями LockType.

Метод UnlockTable деблокирует таблицу Paradox или dBASE, разрешая другим приложениям выполнять операции с ней, указанные значением параметра LockType.


DataSet - свойство TDataSource

см.также

Набор данных, с которым связан компонент

Класс TDataSource

Определение

property DataSet: TDataSet;

Описание

Свойство DataSet указывает набор данных типа TDataSet, с которым связан источник данных. Изменение DataSet во время выполнения позволяет подключать один и тот же источник данных к различным наборам данных. Например, оператор

DataSource1.DataSet := Table2;

подключает DataSource1 к Table2.


Enabled - свойство TDataSource

см.также

Определяет, отображаются ли данные в компонентах отображения, связанных с этим источником данных

Класс TDataSource

Определение

property Enabled: Boolean;

Описание

Свойство Enabled определяет, отображаются ли данные в компонентах отображения, связанных с этим источником данных. При Enabled = true (по умолчанию) данные отображаются, при Enabled = false все компоненты отображения данных очищаются.


State - свойство TDataSource

см.также

Определяет, отображаются ли данные в компонентах отображения, связанных с этим источником данных

Класс TDataSource

Доступ только для чтения

Определение

type TDataSetState = (dsInactive, dsBrowse, dsEdit,
                      dsInsert, dsSetKey, dsCalcFields,
                      dsFilter, dsNewValue, dsOldValue,
                      dsCurValue, dsBlockRead,
                      dsInternalCalc, dsOpening);

property State: TDataSetState;

Описание

Свойство State источника данных определяет состояние связанного с ним набора данных. Его значение равно значению свойства State набора данных набора данных, если этот набор указан в свойстве источника DataSet и свойство Enabled = true. Если эти условия не выполнены, то значение State = dsInactive.


Edit - метод TDataSource

см.также

Подтверждает возможность редактирования набора данных, связанного с источником данных

Класс TDataSource

Определение

procedure Edit;

Описание

Метод Edit вызывается, чтобы гарантировать возможность редактирования набора данных, связанного с источником. Метод проверяет установку свойства AutoEdit набора данных в true и что перед вызовом метода Edit набора данных состояние набора State равно dsBrowse.


IsLinkedTo - метод TDataSource

см.также

Проверяет, связан ли источник данных с указанным набором данных

Класс TDataSource

Определение

function IsLinkedTo(DataSet: TDataSet): Boolean;

Описание

Метод IsLinkedTo обычно напрямую не используется, а применяется при разработке новых компонентов. Метод проверяет, связан ли источник данных с указанным набором данных DataSet типа TDataSet. Метод вовращает true, если DataSource связан с набором DataSet. Если набор DataSet существует, но не связан с источником DataSource, то такая связь устанавливается, т.е. свойство DataSet источника устанвдивается равным заданному DataSet. В этом случае также возвращается true. В остальных случаях возвращается false.


OnDataChange - событие TDataSource

см.также

Событие наступает при перемещении на новое поле или новую запись, если текущая запись редактировалась

Класс TDataSource

Определение

type TDataChangeEvent = procedure(Sender: TObject;
                              Field: TField) of object;

property OnDataChange: TDataChangeEvent;

Описание

Событие OnDataChange наступает, если текущая запись набора данных, связанного с источником, редактировалась и приложение перемещается на новое поле или новую запись.

Параметр Field равен редактировавшемуся полю. Если редактировалось несколько полей, Field = nil. Обработчик OnDataChange обычно используется, чтобы синхронизовать отображение данных в компонентах, не имеющих непосредственной связи с данными.


OnStateChange - событие TDataSource

см.также

Событие наступает при изменении состояния набора данных, связанного с данным источником

Класс TDataSource

Определение

type TNotifyEvent = procedure (Sender: TObject) of object;

property OnStateChange: TNotifyEvent;

Описание

Событие OnStateChange наступает при изменении состояния Stateнабора данных, связанного с данным источником. Обработчик этиго события можно использовать, например, чтобы делать доступными или недоступными те или иные кнопки и разделы меню в зависимости от состояния набора данных.


OnUpdateData - событие TDataSource

см.также

Событие наступает при изменении состояния набора данных, связанного с данным источником

Класс TDataSource

Определение

type TNotifyEvent = procedure (Sender: TObject) of object;

property OnUpdateData: TNotifyEvent;

Описание

Событие OnUpdateData наступает перед пересылкой данных текущей записи в базу данных методом Post. Обработчик события может использоваться для проверки допустимости передаваемых данных.


DataSource, DataField, Field - свойства компонентов, связанных с данными

см.также

Определяют источник данных и поле, с которыми связан компонент

Классы TDBText, TDBEdit, TDBMemo, TDBImage и многие другие

Определения

property DataSource: TDataSource;

property DataField: String;

property Field: TField;// только для чтения

Описание

В компонентах, связанных с данными, свойство DataSource определяет источник данных типа TDataSource, свойство DataField определяет имя поля в DataSource, с которым связан компонент, а свойство Field типа TField (только для чтения) определяет объект самого поля. Через этот объект можно получить доступ к данным, хранящимся в этом поле в текущей записи.

В компонентах DBLookupListBox и DBLookupComboBox свойство DataField указывает имя отображаемого просматриваемомго поля, а не того, которое снабжает информацией это поле.


Пример методов GetBookmark, GotoBookmark и FreeBookmark

В следующем примере делается закладка на текущей записи и после цикла по набору данных осуществляется возврат на запись, которая до этого была текущей.

var SavePlace: TBookmark;

begin

{Закладка на текущей записи}

 SavePlace := Query1.GetBookmark;

{Цикл по записям}

 Query1.First;

 while not Query1.eof do

  begin

{Операции с текущей записью}

Query1.Next;

  end;

{Возвращение на текущую запись}

 Query1.GotoBookmark(SavePlace);

{Очистка закладки}

 Query1.FreeBookmark(SavePlace);

...

enl;


Примеры свойств и методов навигации по набору данных

Следующий пример показывает типичный способ организации цикла по записям набора данных. Пусть в вашем приложении имеется выпадающий список с именем CBdep, который вы хотите заполнить данными, содержащимися в полях Dep всех записей таблицы, соединенной с компонентом Table1. Это можно сделать следующим кодом:

CBdep.Clear;

Table1.First;

while not Table1.EOF do

 begin

   CBdep.Items.Add(Table1.FieldByName('dep').AsString);

   Table1.Next;

 end;

Первый оператор кода очищает список CBdep. Второй - устанавливает курсор таблицы на первую запись. Далее следует цикл по всем записям, пока не достигнута последняя, что проверяется выражением Table1.EOF. Для каждой записи в список заносится значение поля Dep, после чего методом Next курсор перемещается к следующей записи.

Вместо метода FieldByName можно применить метод FindField:

CBdep.Items.Add(Table1.FindField('dep').AsString);

Отличие проявится только в случае, если поля Dep в наборе данных не окажется. Тогда метод FieldByName сгенерирует исключение, а метод FindField вернет nil.

Ниже приведен аналогичный пример, но просматривающий записи в направлении от последней к первой.

CBdep.Clear;

Table1.Last;

while not Table1.Bof do

 begin

   CBdep.Items.Add(Table1.FieldByName('dep').AsString);

   Table1.Prior;

 end;

В приведенных примерах вместо методов First, Next, Last и Prior можно использовать методы FindFirst, FindNext, FindLast и FindPrior, осуществляющие навигацию и возвращающие true при ее успешном завершении. Например:

CBdep.Clear;

Table1.FindFirst;

repeat

   CBdep.Items.Add(Table1.FieldByName('dep').AsString);

until not Table1.FindNext;


Примеры применения свойств FieldCount, Fields, FieldDefs и метода GetFieldNames
Примеры применения свойств FieldCount, Fields, FieldDefs и методов GetFieldNames, GetItemNames

В следующем примере выпадающий список ComboBox1 заполняется именами полей таблицы, соединенной с компонентом Table1.

var

   i: Integer;

begin

 Table1.Active := true;

 ComboBox1.Clear;

 for i := 0 to Table1.FieldCount - 1 do

   ComboBox1.Items.Add(Table1.Fields[i].FieldName);

end;

Почти аналогичного результата можно достичь с помощью списка описаний полей - FieldDefs. Для этого в приведенном выше примере надо заменить оператор for на:

for i:= 1 to Table1.FieldDefs.Count - 1 do

 ComboBox1.Items.Add(Table1.FieldDefs[i].Name);

или на тождественный ему:

for i:= 1 to Table1.FieldDefs.Count - 1 do

 ComboBox1.Items.Add(Table1.FieldDefs.Items[i].Name);

Отличие результата, полученного этими операторами, от рассмотренного ранее будет в том, что в списке не окажется имени поля первичного ключа.

Впрочем, получить список полей можно проще методом GetFieldNames:

Table1.GetFieldNames(ComboBox1.Items);

или

Table1.Fields.GetFieldNames(ComboBox1.Items);

или методом GetItemNames:

Table1.FieldDefs.GetItemNames(ComboBox1.Items);


Пример создания таблицы базы данных

Следующие операторы создают в базе данных, с которой связан компонент Table1, таблицу Paradox с именем Dep.db, с полями Dep и Proisv, создают первичный индекс и заполняют таблицу данными.

{ Компонент Table1 делается неактивным }

Table1.Active := False;

Table1.TableName:='Dep.db';

if not Table1.Exists then begin

  with Table1 do begin

    { Указывается тип таблицы }

    TableType := ttParadox;

    { Описываются поля таблицы }

    with FieldDefs do begin

      Clear;

      with AddFieldDef do begin

        Name := 'Dep';

        DataType := ftString;

        Size := 20;

        Required := True;

      end;

      with AddFieldDef do begin

        Name := 'Proisv';

        DataType := ftBoolean;

      end;

    end;

    with IndexDefs do begin

      Clear;

      { Индекс без имени - первичный ключ таблицы }

      with AddIndexDef do begin

        Name := '';

        Fields := 'Dep';

        Options := [ixPrimary];

      end;

    end;

    { Создание таблицы методом CreateTable }

    CreateTable;

    Open;

    {Вставка записей}

    Insert;

    FieldByName('Dep').AsString := 'Бухгалтерия';

    FieldByName('Proisv').AsBoolean := false;

    Post;

    Insert;

    FieldByName('Dep').AsString := 'Цех 1';

    FieldByName('Proisv').AsBoolean := true;

    Post;

    Insert;

    FieldByName('Dep').AsString := 'Цех 2';

    FieldByName('Proisv').AsBoolean := true;

    Post;

  end;

 end;


Примеры удаления и очистки таблицы базы данных

Следующие операторы удаляют таблицу Pers1 базы данных, с которой связан компонент Table1.

with Table1 do

begin

{ таблица переводится в неактивное состояние }

 Active := False;

{ задаются свойства, идентифицирующие удаляемую таблицу }

 TableName := 'Pers1.db';

 TableType := ttParadox;

{ удаление }

 DeleteTable;

end;

Следующие операторы очищают ту же таблицу, удаляя из нее все записи.

with Table1 do

begin

{ таблица переводится в неактивное состояние }

 Active := False;

{ задаются свойства, идентифицирующие удаляемую таблицу }

 TableName := 'Pers1.db';

 TableType := ttParadox;

{ удаление }

 EmptyTable;

end;


Пример применения методов BeginUpdate, EndUpdate, Add и свойства Count в компоненте CoolBar
Пример применения методов BeginUpdate, EndUpdate, Add и свойства Count в компоненте TCoolBar

Следующий пример создает в компоненте CoolBar1 три новых полосы и дает им заголовки с номерами полос. Применение методов BeginUpdate и EndUpdate предотвращает мерцание изображения в процессе создания новых полос.

var i:word;

begin

  with CoolBar1.Bands do

  begin

    BeginUpdate;

    for i:=1 to 3 do

     begin

      Add;

      Items[Count-1].Text := 'Полоса ' + IntToStr(Count);

     end;

    EndUpdate;

  end;

end;


Пример обработчика события OnGetText

Следующий пример анализирует значение поля Sex (предполагается, что это булево поле, в котором true соответствует мужскому полу сотрудника, а false - женскому). Обработчик события OnGetText изменяет отображаемое значение соответственно на 'м' и 'ж'.

procedure TForm1.Table1SexGetText(Sender: TField;
          var Text: String; DisplayText: Boolean);

begin

 if Sender.Value then Text := 'м'

 else  Text := 'ж';

end;


Пример применения свойств TableName, Fields, FieldCount, FieldName, DisplayName

Следующий пример отображает окно редактирования, содержащее имена всех полей таблицы, связанной с компонентом Table1, и их отображаемые имена DisplayName:

var

 i: Integer;

 Info: String;

begin

 Info := 'Поля таблицы ' + Table1.TableName +' :'#13#13;

 for i := 0 to Table1.FieldCount - 1 do

   Info := Info + Table1.Fields[i].FieldName +
           ' - '+ Table1.Fields[i].DisplayName+#13;

 ShowMessage(Info);

end;


Примеры применения свойства ValidChars,  метода IsValidChar, событий AfterOpen и OnKeyPress

1.

Пусть вы хотите, чтобы пользователь мог занести в объект поля Field1 только цифры от 1 до 3 (может быть, это номер отдела или номер ответа на какой-то вопрос). Тогда задайте значение ValidChars этого поля равным ['1'..'3']. Соответствующий оператор можно поместить, например, в обработчике события набора данных AfterOpen:

Field1.ValidChars:=['а'..'я','А'..'Я',' ','-'];

2.

Пусть вы имеете объект поля Table1Fam, в значение которого пользователь должен занести фамилию. Тогда целесообразно запретить ввод в это поле цифр, знаков препинания и латинских символов. Для этого достаточно задать значение ValidChars, равное ['а'..'я','А'..'Я',' ','-']. В этом множестве символы пробела и "-" добавлены для возможности задания составных фамилий. Как и в предыдущем примере, задание этого значения ValidChars можно осуществить в обработчике события AfterOpen.

3.

Пусть вы имеете окно редактирования Edit1, в которое пользователь должен вводить данные, передаваемые в дальнейшем в объект поля Field1. Тогда целесообразно запретить пользователю вводить в окно символы, не входящие в множество допустимых для данного поля. Это можно сделать, написав следующий обработчик события OnKeyPress окна редактирования Edit1:

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

 if not Field1.IsValidChar(Key)

 then Key:=#0;

end;

В этом обработчике все недопустимые символы подменяются нулевым и не вводятся в окно.


Примеры добавления записи в базу данных - методы Append, AppendRecord, Insert, InsertRecord

Следующие операторы создают новую запись, заполняют ее поля Fam, Nam, Par (Фамилия, Имя, Отчество) значениями, введенными в окна редактирования Edit1, Edit2, Edit3 и пересылают запись в базу данных.

Table1.Append;

Table1.FieldValues['Fam'] := Edit1.Text;

Table1.FieldValues['Nam'] := Edit2.Text;

Table1.FieldValues['Par'] := Edit3.Text;

Table1.Post;

В приведенном примере метод Append можно было бы заменить методом Insert. Никакой разницы в результатах не было бы, кроме, возможно, несколько иного размещения новой записи в базе данных.

Следующий оператор выполняет те же функции, что и в предыдущем примере. В первое поле (номер записи) заносится целое число, во второе поле (отдел работы сотрудника) не заносится ничего. В поля, следующие за полями фамилии, имени и отчества также ничего не заносится.

Table1.AppendRecord([18,Null,Edit1.Text,
Edit2.Text,Edit3.Text]);

Этот оператор нельзя применить, например, если первое поле (номер записи) является автоматически нарастающим (AutoIncrement), т.е. не модифицируемым. В подобных случаях вместо значения такого поля надо указывать nil:

Table1.AppendRecord([nil,Null,Edit1.Text, Edit2.Text,Edit3.Text]);

В приведенном примере метод AppendRecord можно было бы заменить методом InsertRecord. Никакой разницы в результатах не было бы, кроме, возможно, несколько иного размещения новой записи в базе данных.


Примеры пересылки результатов редактирования в базу  данных

Следующий оператор запрашивает пользователя о занесении результатов редактирования в базу  данных. При положительном ответе занесение производится методом Post, при ином ответе результаты редактирования отменяются методом Cancel.

if Application.MessageBox(

     'Хотите занести текущую запись в базу данных?',

     'Подтвердите сохранение изменений',

     MB_YESNOCANCEL+MB_ICONQUESTION) <> IDYES

then Table1.Cancel

else Table1.Post;


Примеры применения методов DisableControls, EnableControls, ControlsDisabled

Следующий пример иллюстрирует блокировку связанных с набором данных компонентов отображения на время циклической обработки записей и разблокирование их после окончания цикла.

with Table1 do

begin

  DisableControls;

  try

    First;

    while not Eof do

    begin

     { Обработка очередной записи }

     Next;

    end;

  finally

    EnableControls;

  end;

В сложных приложениях не всегда можно определить, сколько раз была проведена блокировка. В этих случаях блокировка может быть снята следующим оператором:

while Table1.ControlsDisabled do

 Table1.EnableControls;


Пример копирования поля BLOB

Приведенный ниже код обеспечивает копирование фотографии из поля Photo текущей записи набора данных Table1 в поле Photo текущей записи набора данных Table2.

var

  Stream1 : TBlobStream;

  Stream2 : TStream;

begin

{это пример создания потока методом Create}

 Stream1 := TBlobStream.Create(Table1Photo, bmRead);

 try

  Table2.Edit;

{это пример создания потока методом CreateBlobStream}

  Stream2 :=

   Table2.CreateBlobStream(Table2.FieldByName('Photo'),
                           bmReadWrite);

  try

   Stream2.CopyFrom(Stream1, Stream1.Size);

   Table2.Post;

  finally

   Stream2.Free;

  end;

 finally

  Stream1.Free;

 end;

end;


Примеры использования методов GetDetailDataSets и GetDetailLinkFields

Пусть в вашем приложении имеется головной набор данных Table1 и несколько вспомогательных (детализирующих) наборов данных, один из которых - Table2. Введите глобальные переменные:

var MasterFields, DetailFields:TList;

i,j:integer;

info: string;

В соответствующем месте (например, в обработчике события формы OnCreate) создайте объекты списков MasterFields и DetailFields:

procedure TForm1.FormCreate(Sender: TObject);

begin

 MasterFields:=TList.Create;

 DetailFields:=TList.Create;

end;

Тогда следующий код позволяет отобразить список ключевых полей головной и детализирующей таблиц (метод GetDetailLinkFields применяется ко вспомогательной таблице Table2):

Table2.GetDetailLinkFields(MasterFields, DetailFields);

info:='Ключевые поля таблиц'#13 + 'головной'#9 + 'вспомогательной'#13#13;

for i:=0 to MasterFields.Count-1 do

 info:=info + TField(MasterFields.Items[i]).FieldName + #9#9 + TField(DetailFields.Items[i]).FieldName + #13;

ShowMessage(info);

Следующий код с помощью метода GetDetailDataSets, примененного к головной таблице Table1, позволяет отобразить список всех вспомогательных (детализирующих) таблиц и списки всех их полей:

Table1.GetDetailDataSets(DetailFields);

 info:='Таблицы детализации'#13#13;

 for i:=0 to DetailFields.Count-1 do

  with TDataSet(DetailFields.Items[i]) do

  begin

   info:= info + 'поля таблицы '+ Name + #13;

   for j:=0 to FieldCount-1 do

   info:=info+Fields[j].FieldName+#13;

  end;

 ShowMessage(info);


Примеры поиска записи - методы Locate,  SetKey, FindKey, GotoNearest

Пусть в вашем приложении имеется набор данных Table1, содержащий список сотрудников, в котором поле Fam содержит фамилию сотрудника, а поле Dep - наименование отдела, в котором он работает. Приложение имеет также окно редактирования EFam, в котором пользователь вводит символы фамилии. Требуется осуществить ускоренный поиск записи по мере ввода пользователем фамилии искомого сотрудника.

При использовании метода Locate достаточно в обработчик события OnChange окна EFam вставить оператор

Table1.Locate('Fam',EFam.Text,
              [loCaseInsensitive,loPartialKey]);

По мере ввода символов в EFam, курсор будет перемещаться на запись, в которой первые символы значения поля Fam совпадают с введенными символами.

Если требуется найти не просто сотрудника с задаваемой фамилией, а сотрудника отдела, наименование которого введено в окно редактирования EDep, оператор надо изменить на следующий:

Table1.Locate('Dep;Fam',VarArrayOf([EDep.Text,EFam.Text]),
              [loCaseInsensitive,loPartialKey]);

Рассмотренный выше пример поиска сотрудника по его фамилии, заданной в окне редактирование EFam, при использовании методов SetKey и GotoNearest можно осуществить кодом:

Table1.IndexFieldNames := 'Fam';

Table1.SetKey;

Table1.FieldByName('Fam').AsString:=EFam.Text;

Table1.GotoNearest;

Первый оператор индексирует набор данных по полю Fam. Без такой индексации метод SetKey не сработает. Метод GotoNearest обеспечивает переход на запись с фамилией, наиболее похожей на введенную в EFam (совпадающую по первым символам).


Пример проверки достоверности данных - событие BeforePost

Один из множества возможных вариантов проверки достоверности данных перед их пересылкой в базу данных - использование события BeforePost. Обработчик этого события может иметь вид:

procedure TForm1.Table1BeforePost(DataSet: TDataSet);

begin

if  <проверка введенных данных>

 then begin

 if Application.MessageBox(

       'Хотите занести текущую запись в базу данных?',

       'Подтвердите сохранение изменений',

       MB_YESNOCANCEL+MB_ICONQUESTION) <> IDYES

then begin

    DataSet.Cancel;

    Abort;

   end

 end

 else begin

  Application.MessageBox('Ошибочные данные',
                         'Исправьте ошибку',

                         MB_OK + MB_ICONEXCLAMATION);

  Abort;

 end;

end;

К этому обработчику будет происходить обращение перед выполнением метода Post, как бы он не был вызван: явно или вследствие перемещения по базе данных, если текущая запись была изменена. В обработчике сначала производится проверка данных в записи. Если она дает неудовлетворительный результат, то пользователю дается сообщение об ошибочности данных и выполняется функция Abort, прерывающая выполнение Post. Текущая запись остается в состоянии dsEdit, но ошибочные данные в ней не сбрасываются, что позволяет пользователю исправить их.

Если проверка данных в записи показала их правильность, то у пользователя запрашивается подтверждение изменений в базе данных. Если он ответит отрицательно, т.е. не нажмет кнопку Да, то для набора данных выполняется метод Cancel, а затем выполняется функция Abort. Cancel возвращает данные в текущей записи к состоянию, которое было до их редактирования, т.е. уничтожает результаты редактирования.


Пример обработчика события BeforeDelete

Следующий обработчик события BeforeDelete запрашивает у пользователя разрешение на удаление записи. При отсутствии утвердительного ответа удаление не производится.

procedure TForm1.Table1BeforeDelete(DataSet: TDataSet);

begin

  if Application.MessageBox(

       'Действительно хотите удалить запись?',

       'Подтвердите удаление записи',

       MB_YESNOCANCEL+MB_ICONQUESTION) <> IDYES

    then Abort;

end;


Пример обработчика события BeforeInsert

Следующий обработчик события BeforeInsert запрашивает у пользователя разрешение на вставку записи. При отсутствии утвердительного ответа вставка не производится.

procedure TForm1.Table1BeforeInsert(DataSet: TDataSet);

begin

  if Application.MessageBox(

       'Действительно хотите вставить запись в базу данных?',

       'Подтвердите вставку записи',

       MB_YESNOCANCEL+MB_ICONQUESTION) <> IDYES

    then Abort;

end;


Пример обработчика события AfterCancel

Следующий обработчик события AfterCancel извещает пользователя об отмене введенных изменений записи:

procedure TForm1.Table1AfterCancel(DataSet: TDataSet);

begin

 StatusBar1.SimpleText := 'Исправление записи в таблице ' + (DataSet as TTable).TableName + ' отменено';

end;


Пример обработчика события AfterOpen

Следующий обработчик события AfterOpen извещает пользователя об открытии набора данных:

procedure TForm1.Table1AfterOpen(DataSet: TDataSet);

begin

 StatusBar1.SimpleText := 'Открыта таблица ' + (DataSet as TTable).TableName;

end;


Пример обработчика события AfterClose

Следующий обработчик события AfterClose извещает пользователя о закрытии набора данных:

procedure TForm1.Table1AfterClose(DataSet: TDataSet);

begin

 StatusBar1.SimpleText := 'Работа с таблицей ' + (DataSet as TTable).TableName + ' завершена';

end;


Пример обработчика события OnCalcFields

Следующий обработчик рассчитывает вычисляемое поле Age (возраст) таблицы Table1 по значению поля Year_b (год рождения) и текущей дате.

procedure TForm1.Table1CalcFields(DataSet: TDataSet);
var Year, Month, Day: Word;
begin
 DecodeDate(Date,Year,Month,Day);
 Table1Age.Value := Year - Table1Year_b.Value;
end;

Вместо непосредственного обращения к объектам полей Table1Age и Table1Year_b можно было бы использовать более общий вид - обращение через параметр DataSet: DataSet.FieldByName('Age') и DataSet.FieldByName('Year_b').

В коде обработчика введены переменные Year, Month и Day для хранения текущего года, месяца и дня. Использована процедура DecodeDate для преобразования своего первого аргумента, имеющего тип TDateTime (этот тип используется в Delphi для хранения дат и времени), в целые значения года, месяца и дня. А в качестве первого аргумента этой процедуры указана функция Date, возвращающая текущую дату. В результате переменная Year становится равной текущему году (переменные Month и Day не нужны и определены только для того, чтобы можно было обратиться к процедуре DecodeDate).


Пример обработчика события OnFilterRecord

В приведенном ниже обработчике события OnFilterRecord предполагается, что набор данных Table1 имеет поле Dep - отдел, в котором работает сотрудник, и поле Year_b - год рождения. Приложение имеет выпадающий список CBDep, в котором пользователь задает отдел, и компоненты TSpinEdit с именами SEmin и SEmax, в которых пользователь задает минимальный и максимальный год рождения. Подразумевается, что должны отфильтровываться записи сотрудников, работающих в указанном отделе, год рождения которых лежит в указанных пределах.

procedure TForm1.Table1FilterRecord(DataSet: TDataSet;

  var Accept: Boolean);

begin

 Accept := (Table1Dep.Value = CBDep.Text) and
  (Table1Year_b.Value <= SEmax.Value) and
  (Table1Year_b.Value >= SEmin.Value);

end;

Значение Accept получается равным true, если запись удовлетворяет поставленным условиям фильтрации.

Все это будет работать, если в компоненте Table1 значение Filtered = true. Кроме того, надо обеспечить, чтобы при смене условий фильтрации (введенных пользователем значений) происходило бы новое событие OnFilterRecord. Этого можно добиться, если в соответствующих местах программы (в частности, в обработчике события OnClick компонента CBDep) вставить операторы:

Table1.Filtered := false;
Table1.Filtered := true;

Они обеспечивают отключение и включение фильтрации. При включении и происходят события OnFilterRecord.


Пример использования свойств RecNo и RecordCount

Следующий код отображает список сотрудников, хранящийся в таблице Paradox.

procedure TForm1.Button1Click(Sender: TObject);

var i: integer;

    info: string;

begin

 info:='Список сотрудников'#13#13;

 for i:=1 to Table2.RecordCount do begin

   Table2.RecNo:= i;

   info:=info + Table2.FieldByName('Fam').AsString + #13;

 end;

   ShowMessage(info);

end;


Пример обработчика события BeforeClose
Примеры обработчика события BeforeClose

Следующий обработчик события BeforeClose определяет перед закрытием набора данных наличие в КЭШе изменений, не сохраненных в базе данных, и осуществляет их сохранение.

procedure TForm1.Table1BeforeClose(DataSet: TDataSet);

begin

  if Table1.UpdatesPending then Table1.ApplyUpdates;

end;

Следующий обработчик осуществляет весь комплекс операций, связанный с пересылкой изменений в базу данных. В нем используется компонент Database1 типа TDatabase. Этот обработчик события BeforeClose, безусловно, предпочтительнее предыдущего.

procedure TForm1.Table1BeforeClose(DataSet: TDataSet);

begin

if Table1.UpdatesPending then begin

 Database1.StartTransaction;

 try

{пересылка изменений в базу данных}

 Table1.ApplyUpdates;

{попытка их зафиксировать}

  Database1.Commit;

 except

{откат назад при безуспешной попытке фиксации}

  Database1.Rollback;

  {генерация исключения, чтобы предотвратить вызов CommitUpdates }

  raise;

 end;

 {очистка буфера КЭШа}

 Table1.CommitUpdates;

end;

end;


Пример сохранения данных в обработчике события OnCloseQuery

В приведенном ниже обработчике события формы OnCloseQuery предполагается, что приложение содержит компонент Query1 и изменения в этом наборе данных кэшируются. Обработчик выполняет следующие функции. При наличии не сохраненных изменений пользователю задается вопрос "Сохранить изменения в базе данных?". При положительном ответе изменения сохраняются методом ApplyUpdates. При отрицательном - изменения отменяются методом CancelUpdates. Если при получении запроса пользователь нажал кнопку Отмена, то приложение не закрывается (CanClose задается равным false).

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

if Query1.CachedUpdates
 then
  case Application.MessageBox(

               'Сохранить изменения в базе данных?',

               'Подтвердите сохранение изменений',

               MB_YESNOCANCEL+MB_ICONQUESTION) of

    IDYES:    Query1.ApplyUpdates;
    IDCANCEL: CanClose:=false;
    IDNO:     Query1.CancelUpdates;
  end;

end;


Пример организации работы через объект Database

Следующий пример показывает организацию пересылки в базу данных отредактированной записи с помощью объекта Database.

with Table1.Database do

begin

  TransIsolation:= tiDirtyRead;

  StartTransaction;

{ Пересылка данных }

  Commit;

end;


Пример приложения, работающего с произвольной базой данных и таблицей

В примере описывается приложение, позволяющее просматривать любую заданную пользователем таблицу в любой заданной им доступной базе данных. Приложение содержит два выпадающих списка типа TComboBox, названных cbDatabase и cbTable. Первый из них предназначен для выбора пользователем базы данных, а второй - для выбора таблицы.

При создании формы в обработчике ее события OnCreate надо загрузить список cbDatabase доступными BDE псевдонимами:

Session.GetAliasNames(cbAlias.Items);

Этот оператор использует метод GetAliasNames объекта Session, который передает в свой параметр типа TStrings (в данном примере это список cbAlias.Items) перечень псевдонимов баз данных, зарегистрированных в BDE.

При выборе пользователем базы данных в списке cbAlias надо загрузить список cbTable перечнем таблиц выбранной базы данных. Это делается включением в обработчик события OnChange компонента cbAlias операторов:

Session.GetTableNames(cbAlias.Text, '', true, false, cbTable.Items);
cbTable.ItemIndex:=0;

Первый из этих операторов использует метод GetTableNames для загрузки в свой последний параметр типа TStrings (в данном примере это список cbTable.Items) перечня таблиц базы данных, заданной своим первым параметром (в данном примере это cbAlias.Text).

Обработчик щелчка на копке, обеспечивающей просмотр таблицы, может иметь вид:

if cbTable.Text=''
  then begin
   ShowMessage('Не задана таблица');
   exit;
  end;
Table1.Active := false;
Table1.DatabaseName := cbAlias.Text;
Table1.TableName := cbTable.Text;
Table1.Active := true;

Этот обработчик просто задает свойства DatabaseName и TableName компонента Table1 равными выбранным пользователем значениям и переводит Table1 в активное состояние.


Пример организации исключительного доступа к таблице базы данных

В приведенном примере организуется исключительный доступ (Exclusive = true) к таблице базы данных. Если таблица в данный момент занята другим приложением, производится запрос пользователя о повторной попытке.

{ Перед изменение Exclusive таблица закрывается }

Table1.Active := False;

{ Цикл, продолжающийся до успешного соединения с таблицей или отказа пользователя от соединения }

repeat

 try

  Table1.Exclusive := True;

{ Попытка открыть таблицу }

  Table1.Active := True;

{ Прерывание цикла при успешном открытии таблицы }

  Break;

 except

  on EDatabaseError do

{ Запрос о повторении попытки открыть таблицу }

   if Application.MessageBox(

    'Таблица не открылась в режиме исключительного доступа. Повторить?',

    'Ошибка открывания таблицы',

    MB_OKCANCEL + MB_DEFBUTTON1) <> IDOK
    then raise; // прерывание цикла

 end;

until False;


Примеры методов ограничения вводимых значений полей
Примеры применения методов SetRange, SetRangeStart, EditRangeStart, SetRangeEnd, EditRangeEnd ApplyRange и свойства KeyExclusive

Операторы

with Table1 do
 begin
  IndexFieldNames := 'Fam';
  SetRangeStart;
  FieldByName('Fam').AsString:= 'А';
  SetRangeEnd;
  FieldByName('Fam').AsString:= 'Г';
  ApplyRange;
 end;

приведут к тому, что доступными будут только записи сотрудников, фамилии которых начинаются с букв "А", "Б", "В".

На результаты работы методов SetRangeStart и SetRangeEnd для числовых полей влияет свойство набора данных KeyExclusive. Оно определяет, будут ли считаться сами заданные границы входящими в диапазон (при KeyExclusive =  false, это значение принято по умолчанию), или не входящими (при KeyExclusive =  true). Например, если вы хотите отобрать записи, в которых год рождения сотрудников лежит в определенных пределах, то при коде

with Table1 do
 begin
  IndexFieldNames := 'Year_b';
  SetRangeStart;
  FieldByName('Year_b').AsInteger:= 1950;
  SetRangeEnd;
  FieldByName('Year_b').AsInteger:= 1960;
  ApplyRange;
 end;

будут отобраны записи, в которых год рождения лежит в пределах 1950 - 1960, включая годы 1950 и 1960. А при коде

with Table1 do
 begin
  IndexFieldNames := 'Year_b';
  SetRangeStart;
  FieldByName('Year_b').AsInteger:= 1950;
  KeyExclusive := true;
  SetRangeEnd;
  FieldByName('Year_b').AsInteger:= 1960;
  KeyExclusive := true;
  ApplyRange;
 end;

записи, соответствующие годам 1950 и 1960, не войдут в число отобранных.

Имеется и более простой способ установки диапазона - метод SetRange. Например, приведенные ранее операторы, задающие диапазон фамилий в отобранных записях, могут быть заменены следующими:

with Table1 do
 begin
  IndexFieldNames := 'Fam';
  SetRange(['А'],['Г']);
 end;

Если вы хотите работать не просто со всеми сотрудниками, фамилии которых начинаются на "А" - "В", а с теми из них, которые работают в цехе 1, то приведенные выше операторы можно изменить следующим образом:

with Table1 do
 begin
  IndexFieldNames := 'Dep;Fam';
  SetRange(['Цех 1','А'],['Цех 1','Г']);
 end;


Примеры поиска записей методами SetKey и EditKey
Примеры поиска записей методами SetKey, EditKey, GotoKey, GotoNearest

В приведенных ниже примерах предполагается поиск в таблице записи о сотруднике, работающем в отделе (поле Dep), название которого указано пользователем в окне Edit1. Фамилия сотрудника (поле Fam) указана пользователем в окне Edit2.

Следующий код обеспечивает переход к найденной записи или сообщение пользователю об отсутствии записи:

with Table1 do

begin

  IndexFieldNames:='Dep;Fam';

  EditKey;

  FieldByName('Dep').AsString := Edit1.Text;

  FieldByName('Fam').AsString := Edit2.Text;

  if(not GotoKey) then ShowMessage('Запись не найдена');

end;

Если приведенный ниже код вставить в обработчик события OnChange окна Edit2, то будет обеспечен ускоренный поиск: по мере ввода символов в Edit2 курсор набора данных будет перемещаться к записи, в которой начало фамилии наиболее близко к вводимым символам.

with Table1 do

begin

  IndexFieldNames:='Dep;Fam';

  SetKey;

  FieldByName('Dep').AsString := Edit1.Text;

  FieldByName('Fam').AsString := Edit2.Text;

  GotoNearest;

end;

В приведенных примерах тот же результат будет, если заменить метод SetKey на EditKey.


Примеры поиска записей методами FindKey и FindNearest

В приведенных ниже примерах предполагается поиск в таблице записи о сотруднике, работающем в отделе (поле Dep), название которого указано пользователем в окне Edit1. Фамилия сотрудника (поле Fam) указана пользователем в окне Edit2.

Следующий код обеспечивает переход к найденной записи или сообщение пользователю об отсутствии записи:

Table1.IndexFieldNames := 'Dep;Fam';

if (not Table1.FindKey([Edit1.Text,Edit2.text]))

 then ShowMessage('Запись не найдена');

Если приведенный ниже код вставить в обработчик события OnChange окна Edit2, то будет обеспечен ускоренный поиск: по мере ввода символов в Edit2 курсор набора данных будет перемещаться к записи, в которой начало фамилии наиболее близко к вводимым символам.

Table1.IndexFieldNames := 'Dep;Fam';

Table1.FindNearest([Edit1.Text,Edit2.text]);


Пример свойств Active и TableName

Table1.Active := false;
Table1.TableName := 'Pers.db';
Table1.Active := true;

Первый из приведенных операторов закрывает ранее открытый набор данных. Второй - изменяет таблицу, с которой далее будет работать компонент. Последний оператор открывает эту таблицу.

Аналогичных результатов достигает следующий код:

Table1.Close;
Table1.TableName := 'Pers.db';
Table1.Open;


Пример свойства Align

Пусть вы проектируете форму, окно которой содержит панель Panel типа TPanel, на которой будут размещаться управляющие компоненты, и компонент типа TMemo, в котором будут редактироваться тексты. Если, разместив их на форме, вы в обоих этих компонентах оставите значение Align по умолчанию, то при том размере формы, который вы проектировали, все будет выглядеть нормально, но если пользователь растянет размеры формы, надеясь увеличить площадь редактирования, то приложение приобретет нелепый вид. Увеличение формы просто приводит к увеличению на ней пустого места.

В данном случае логично для компонента Panel задать значение Align, равным alLeft, так как увеличение ширины панели не имеет смысла. А для компонента Memo следует задать значение Align, равным alClient, что позволит компоненту увеличиваться и в высоту, и в ширину.


Примеры изменения размеров и местоположения компонентов

1. Пусть панель Panel1 может менять свою длину при изменении пользователем размеров окна (например, имеет значение Align = alTop). И пусть в середине этой панели имеется метка StaticText1 типа TStaticText, которая при всех изменениях должна оставаться посередине, не изменяя своих размеров. Это можно осуществить, вставив в обработчик событий формы OnResize и OnShow оператор:

StaticText1.Left :=
        (Panel1.BoundsRect.Left + Panel1.BoundsRect.Right -
                      StaticText1.Width) div 2;

Впрочем, того же эффекта можно добиться и не прибегая к свойству BoundsRect, заменив приведенный оператор на следующий:

StaticText1.Left := Panel1.Left + (Panel1.Width -
                      StaticText1.Width) div 2;

1. 	Пусть мы хотим, чтобы при нажатии некоторой кнопки окно текстового редактора Memo1 перемещалось в новую заранее определенную позицию с новыми определенными размерами. Мы можем в нужной позиции разместить панель Panel1 с нужными размерами, сделать ее невидимой, а в нужный момент выполнить всего один оператор:

Memo1.BoundsRect := Panel1.BoundsRect;

3. Пусть мы хотим взаимно поменять места расположения двух одинаковых по размерам панелей Panel1 и Panel2. Это можно сделать следующими операторами:

Var rec:Trect;

..............

{Запоминание позиции Panel1}

rec := Panel1.BoundsRect;

{Перемещение Panel1}

Panel1.BoundsRect := Panel2.BoundsRect;

{Перемещение Panel2}

Panel2.BoundsRect := rec;

4. Пример задания BoundsRect с помощью функции Rect. Пусть окно текстового редактора Memo1 расположено на родительской панели Panel1, размеры которой во время выполнения могут изменяться при изменении размеров формы. Надо, чтобы размер Memo1 также изменялся, но по отношению к клиентской области Panel1 оставлял слева, внизу и справа зазор в 10 пикселей (для более приятного вида), а сверху - зазор 40 пикселей (для размещения заголовка окна). Это можно сделать, поместив в обработчик события OnResize панели Panel1 оператор:

Memo1.BoundsRect :=
     Rect(10,40,Panel1.ClientWidth-10,
          Panel1.ClientHeight-10);

5. Пусть вы проектируете форму, содержащую панель Panel1, на которой размещается список ListBox1, причем во время выполнения высота этой формы может изменяться. Тогда обеспечить синхронное изменение размера окна списка можно, вставив в событие OnResize формы или этой панели оператор:

ListBox1.Height := Panel1.ClientHeight - ListBox1.Top - 20;


Примеры свойств Components, ComponentIndex, ComponentCount
Примеры свойств Components, ComponentIndex, ComponentCount, Tag

1. В приведенном ниже примере все компоненты на данной форме, кроме компонента с именем Button1, смещаются вправо на 10 единиц.

for i := 0 to ComponentCount - 1 do
  if(Components[i].Name <> 'Button1') then
    (Components[i] as TControl).Left :=
                (Components[i] as TControl).Left + 10;

2. Ниже приведен аналогичный пример, но используется свойство Tag и сдвигаются только компоненты, у которых Tag =1.

for i := 0 to ComponentCount - 1 do
  if(Components[i].Tag = 1) then
    (Components[i] as TControl).Left :=
                (Components[i] as TControl).Left + 10;


Пример свойств Controls и ControlCount

Пусть в приложении в классе формы определена некоторая процедура

procedure Proc(Sender: TObject);

которая обрабатывает объект, передаваемый в нее через аргумент Sender. Это может быть какая-то процедура изменения размеров и мета расположения, окрашивания, перестановок и т.д. Тогда обработать все дочерние компоненты этой процедурой можно с помощью оператора:

for ind := 0 to ControlCount - 1 do
    Proc(Controls[ind]);

Если надо обработать только какую-то группу компонентов с идущими по порядку индексами и известны их начальный и конечный индексы Ind1 и Ind2, то соответствующий оператор может иметь вид

for ind := Ind1 to Ind2 do Proc(Controls[ind]);

Задать нужную последовательность индексов можно описанными выше способами в процессе проектирования или во время выполнения приложения.

Выяснит истинную последовательность индексов в приложении можно оператором:

for ind := 0 to ControlCount - 1 do

    ShowMessage('Ind='+IntToStr(ind) +' '+ Controls[ind].Name);


Примеры применения класса TList
Примеры класса TList

1. Пример изменений размеров списка

var List : TList;

................

List := TList.Create;

................

List.Clear;

List.Count := 5; {В списке появляется 5 указателей nil}

for I := 1 to 5 do List.Add(...);  {Count увеличивается
                                    до 10}

................

for I := 0 to 2 do List.Delete(I); {Count уменьшается на 3}

List.Capacity := List.Count; {Емкость списка приводится в
                              соответствие с числом
                              элементов}

2. Работа со свойством Items списка

type tps = ^string;    {Тип указателя на строку}
var  List: Tlist;
     ps: ^string;      {Указатель на строку}
  ................
  List := TList.Create;{Создание экземпляра списка}
  new(ps);             {Создание нового объекта - строки}
  List.Add(ps);        {Включение указателя в список}
  new(ps);            {Создание другого объекта - строки}
  List.Add(ps);       {Включение указателя в список}

  ps := List.Items[0]; {Неявное приведение типа свойства
                        Items}
  ps^ := 'bbb';        {Доступ к объекту}

  {Явное приведение типа свойства Items и доступ к объекту }

  tps(List.Items[0])^:='aaa';
  ................
  List.Pack;           {Удаление нулевых указателей,
                        если они могут быть }
{Поочередный доступ к объектам}

  for i := 0 to List.Count - 1 do
    ShowMessage(tps(List.Items[i])^.Name);

Во всех приведенных операторах доступ к элементу List.Items[i] можно заменить на List.List[i].


Примеры работы с объектом TFont, с ComboBox и SpinEdit

1. Пусть на форме имеется компонент Memo1, в котором расположен некоторый текст, компонент FontDialog1 - диалог выбора шрифта, и меню с разделом выбора шрифта, названным Font. Для того, чтобы пользователь мог выбрать имя и атрибуты шрифта текста, отображаемого в Memo1, в обработчик события OnClick раздела меню Font надо вставить операторы:

procedure TForm1.FontClick(Sender: TObject);
begin
  if (FontDialog1.Execute)
    then Memo1.Font.Assign(FontDialog1.Font);
end;

Если пользователь сменил атрибуты в диалоговом окне выбора шрифта, то метод FontDialog1.Execute возвращает true и атрибуты шрифта компонента Memo1 устанавливаются равными выбранным пользователем.

2. Для того, чтобы продемонстрировать доступные в системе шрифты, можно построить форму, содержащую выпадающий список ComboBox1 и компонент Memo1 с некоторым текстом. Приведенная ниже программа загружает в список доступные имена шрифтов и отображает первую строку списка (этот код вставлен в обработчик события формы OnCreate). В обработчик события OnClick компонента ComboBox1 вставлен оператор, меняющий подсвойство Name в свойстве Font компонента Memo1.

Procedure TForm1.FormCreate(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to Screen.Fonts.Count - 1 do
    ComboBox1.Items.Add(Screen.Fonts[i]);
  ComboBox1.ItemIndex := 0;
  Memo1.Font.Name := ComboBox1.Items[0];
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
Memo1.Font.Name := ComboBox1.Items[ComboBox1.ItemIndex];
end;

3. Для того, чтобы посмотреть влияние на отображаемый текст свойства Charset, определяющего набор символов шрифта, можно добавить на форму компонент редактирования (например, типа TSpinEdit и кнопку, в событие OnClick которой ввести оператор:

Memo1.Font.Charset := SpinEdit1.Value;

4. Чтобы посмотреть влияние на отображаемый текст свойства Pitch, можно добавить на форму еще один компонент ComboBox, задать в его свойстве Items строки fpDefault, fpFixed и fpVariable, а в событие OnClick вставить код:

Case ComboBox2.ItemIndex of

  0: Memo1.Font.Pitch := fpDefault;

  1: Memo1.Font.Pitch := fpFixed;

  2: Memo1.Font.Pitch := fpVariable;

end;


Примеры разработки подсказок

1. Пусть вы хотите отображать вторую часть подсказок, введенных в свойство Hint компонентов, в полосе состояния StatusBar. Поместите на форму панель состояния - компонент StatusBar со страницы Win32 и установите его свойство SimplePanel в true. Тем самым вы превратите панель в односекционную. Если вы хотите использовать многосекционную панель, то в приведенном ниже операторе надо заменить свойство SimpleText ссылкой на панель, в которой вы хотите отображать подсказку. Перенесите на форму компонент ApplicationEvents и в обработчик его события OnHint вставьте оператор

StatusBar1.SimpleText := Application.Hint;

2. Пусть вы хотите, чтобы при нажатии некоторой кнопки Button1 вашего приложения в панели Panel1 высвечивалась подсказка пользователю, например, 'Укажите имя файла', а сама кнопка имела ярлычок с текстом 'Ввод'. Тогда вы можете задать свойству Hint этой кнопки значение 'Ввод|Укажите имя файла', задать значение true свойству ShowHint, а в обработчик события нажатия этой кнопки вставить оператор

Panel1.Caption := GetLongHint(Button1.Hint);

Если же вы не хотите отображать ярлычок для кнопки, то можете ограничиться значением Hint, равным 'Укажите имя файла', а приведенный выше оператор оставить неизменным или заменить на эквивалентный ему в данном случае оператор

Panel1.Caption := GetShortHint(Button1.Hint);

или даже просто на оператор

Panel1.Caption := Button1.Hint;


Пример применения свойства Parent

Пусть вы создаете некоторое приложение, содержащее две панели с какими-то компонентами на них (см. первый из приведенных ниже рисунков). И пусть вы хотите ввести в приложение кнопку, позволяющую пользователю взаимно изменять положение этих панелей. Одно из возможных решений этой задачи - использование свойства Parent. Вы можете разместить на форме сначала три панели: Panel1, занимающую левую часть формы, Panel2, занимающую правую часть формы, и Panel3, занимающую низ формы. Затем вы размещаете на Panel1 новую панель - Panel4, для которой будет Panel1 родительской. Для Panel4 вы можете задать свойство Align = alClient, так что она полностью закроет родительскую форму Panel1. Аналогичным образом на панели Panel2 вы можете разместить панель Panel5. Затем на Panel4 и Panel5 размещаете все необходимые вам компоненты.

В обработку события OnClick кнопки Button1, размещенной на панели Panel3 и обеспечивающей обмен местами панелей Panel4 и Panel5 вы помещаете код:

if Panel4.Parent = Panel1 then

  begin

    Panel4.Parent:= Panel2;

    Panel5.Parent:= Panel1;

  end

  else

  begin

    Panel4.Parent:= Panel1;

    Panel5.Parent:= Panel2;

  end;

При каждом нажатии пользователя на эту кнопку панели Panel4 и Panel5 будут обмениваться своими родителями, а, значит, и взаимно меняться местами, как показано на приведенном рисунке.

Впрочем, того же эффекта можно достигнуть и несколько проще, применяя свойство BoundsRect. Изменять Parent имеет смысл, если будут использоваться какие-то свойства нового родительского компонента или, например, в дальнейшем надо, чтобы новый дочерний компонент перемещался вместе с новым родителем.


Пример Size свойства класса TBits

var ABit : TBits;
............
  ABit := TBits.Create; {Создание экземпляра массива}
  ABit.Size := 3;       {Задание размера; значения всех
                         элементов (с индексами 0...2)
                         равны false}
  ..............
  ABit.Size := 10;      {Изменение размера; значения всех
                         элементов с индексами > 2 равны false}
  ..............
  ABit.Size := 5;       {Изменение размера; значения всех
                         элементов с индексами > 4 теряются}


Пример применения свойства Style объекта Font

Label1.Font.Style := [ ];                 {Обычный стиль}

Label1.Font.Style := [fsBold];            {Полужирный}

Label1.Font.Style := [fsBold, fsItalic];  {Полужирный курсив}


Пример применения свойства Visible

Пусть в приложении в одном и том же месте формы друг на друге расположены две панели: Panel1 и на ней Panel2, содержащие какие-то управляющие компоненты для разных режимов работы. Panel2 расположена на Panel1, которая является, таким образом, ее родителем. В обработчик события формы OnCreate можно вставить операторы:

Panel2.Visible := false;

Panel1.Visible := true;

Panel2.Parent := Form1;

Panel2.BoundsRect := Panel1.BoundsRect;

Первый два из них делают панель Panel2 невидимой, а Panel1 - видимой. Впрочем можно было бы обойтись и без этих операторов, если задать в процессе проектирования значения Visible, равными true для Panel1 и false для Panel2. Третий оператор делает родительским компонентом панели Panel2 форму Form1. А четвертый оператор задает панели Panel2 то же местоположение и размеры, которые имеет панель Panel1. Последнее необходимо, поскольку при проектировании ее координаты соответствовали координатному пространству контейнера - клиентской области панели Panel1. А теперь ее родитель сменился на форму, и надо ее расположить в том же месте формы, в котором расположена Panel1.

Приведенный код можно было бы сократить, если в процессе проектирования размещать панель Panel2 не на панели Panel1, а в каком-то другом месте непосредственно на форме, и задать значения Visible, равными true для Panel1 и false для Panel2. Тогда в обработчике события формы OnCreate достаточно одного оператора:

Panel2.BoundsRect := Panel1.BoundsRect;

изменяющего положение Panel2.

Аналогичный оператор может быть также реализован методом SetBounds:

with Panel1 do Panel2.SetBounds(Left,Top,Width,Height);

В результате работы приведенных операторов в момент создания формы на ней будет видна панель Panel1. В момент, когда ее надо заменить на Panel2, можно выполнить операторы:

Panel1.Visible := false;

Panel2.Visible := true;

делающие невидимой первую и видимой вторую панель. Когда надо вернуть на экран изображение Panel1, можно выполнить операторы:

Panel2.Visible := false;

Panel1.Visible := true;

Другой способ решения той же задачи приведен в разделе BringToFront.


Пример работы со списком TList

var List : TList;

................

List := TList.Create;

................

List.Clear;

List.Capacity := 5;

for I := 1 to 5 do List.Add(...);

................

for I := 0 to 2 do List.Delete(I);

List.Capacity := List.Capacity - 3;

Этот пример будет выполнять те же самые функции и без операторов

List.Capacity := 5;

и

List.Capacity := List.Capacity - 3;

Но первый из этих операторов экономит время при увеличении длины списка, а второй - сокращает затраты памяти.


Пример использования свойства Caption

Примеры задания свойства Caption в процессе проектирования меню:

Задание	Отображение
&Файл	Файл
Фор&мат	Формат
Сохранить &как	Сохранить как

Пример использования метки для отображения результата ответа пользователя:

if (Edit1.Text = '1')
  then Label1.Caption := 'Ответ правильный'
  else Label1.Caption := 'Ответ ошибочный';


Примеры использования свойства Anchors

1.

Button1.Anchors:=[akLeft,akBottom];

В этом случае кнопка Button1, размещенная непосредственно на форме, оказывается привязанной к левому и нижнему краям окна. При изменении размеров окна кнопка будет перемещаться, сохраняя установленное расстояние от левого и нижнего краев формы.

2.

Задание компоненту списку TListBox свойства Anchors, равного [akLeft,akTop,akBottom], приведет к тому, что при изменении высоты окна будут поддерживаться постоянными расстояния верхнего и нижнего краев компонента соответственно от верхнего и нижнего краев окна. Таким образом, увеличивая высоту окна пользователь может увеличивать число строк, видимых в списке без прокрутки. При этом необходимые с точки зрения эстетики расстояния до краев окна будут поддерживаться автоматически.

3.

Button1.Anchors:=[akLeft,akBottom,akRight];

В этом случае кнопка привязана к левому, нижнему и правому краям формы. При изменении высоты окна кнопка будет перемещаться синхронно с нижним краем окна. А при изменении горизонтального размера окна кнопка будет растягиваться или сжиматься по горизонтали, что, конечно, будет создавать ужасный зрительный эффект. При сжатии кнопка может сжаться до нуля, после чего ее изображение исчезнет.


Примеры работы со свойствами MediaPlayer

Следующие операторы делают все кнопки медиа-плейера недоступными:

with MediaPlayer1 do begin

    AutoEnable := false;

    EnabledButtons := [];

  end;

Следующие операторы делают доступными только кнопки Play, Pause и Stop:

with MediaPlayer1 do begin

    AutoEnable := false;

    EnabledButtons := [btPlay,btPause,btStop];

  end;


Примеры использования свойства CopyMode и метода CopyRect

Операторы

Image1.Canvas.CopyMode:= cmSrcCopy;

Image1.Canvas.CopyRect(Rect(0,0,200,200),Image2.Canvas,
                       Rect(0,0,200,200));

обеспечивают копирование изображения канвы компонента Image2 на канву компонента Image1. Изображение, которое ранее было на канве компонента Image1, в операциях не участвует.

Операторы

Image1.Canvas.CopyMode:= cmSrcInvert;

Image1.Canvas.CopyRect(Rect(0,0,200,200),Image2.Canvas,
                       Rect(0,0,200,200));

...

Image1.Canvas.CopyRect(Rect(0,0,200,200),Image2.Canvas,
                       Rect(0,0,200,200));

обеспечивают копирование изображения канвы компонента Image2 на канву компонента Image1 в режиме cmSrcInvert. После выполнения функции CopyRect в первый раз изображения в компонентах Image1 и Image2 налагаются друг на друга, а в результате выполнения функции CopyRect во второй раз исходное изображение на канве компонента Image1 восстанавливается.

Операторы

Image1.Canvas.CopyMode:= cmWhiteness;

Image1.Canvas.CopyRect(Rect(0,0,200,200),Image2.Canvas,
                       Rect(0,0,200,200));

просто очищают указанную область канвы компонента Image1, закрашивая ее белым цветом. При этом изображение в компоненте Image2 никак не участвует в операциях копирования.


Пример использования свойства Display

MediaPlayer1.Display := Panel1;


Пример использования свойства DisplayRect

Следующий оператор задает для вывода область с координатами левого верхнего угла (10, 10), длиной и шириной, равными 200:

MediaPlayer1.DisplayRect:=Rect(10,10,200,200);


Пример использования свойства Mode
Пример использования свойства Mode (класса TMediaPlayer)

Ниже приведен обработчик события OnNotify медиа-плейера MediaPlayer1, в котором в метке отображается состояние мультимедийного устройства.

procedure TForm1.MediaPlayer1Notify(Sender: TObject);

const  ModeStr: array[TMPModes] of string = ('Не готово',
      'Остановлено', 'Воспроизведение', 'Запись', 'Поиск',
      'Пауза', 'Открыто');

begin

 with Sender as TMediaPlayer do

  begin

   Label1.Caption := ModeStr[Mode];

{Переустановка Notify, чтобы событие произошло в следующий раз}
   Notify := true;

  end;

end;


Пример использования свойства TimeFormat

Приведенный код отображает в соответствующих метках продолжительность загруженного объекта мультимедиа в часах, минутах и секундах. Для декодирования 4-байтовой переменной в формате tfHMS используется преобразование ее типа в объявленный тип записи HMSRec, выделяющей отдельные байты.

procedure TForm1.Button1Click(Sender: TObject);

type HMSRec = record

      Hours: byte;

      Minutes: byte;

      Seconds: byte;

      NotUsed: byte;

     end;

var TheLength: LongInt;

begin

 MediaPlayer1.TimeFormat := tfHMS;

 TheLength := MediaPlayer1.Length;

{Преобразование типа TheLength в тип записи HMSRec}

 with HMSRec(TheLength) do

  begin

{Отображение часов в Label1}

   Label1.Caption := IntToStr(Hours);

{Отображение минут в Label2}

   Label2.Caption := IntToStr(Minutes);

{Отображение секунд в Label3}

   Label3.Caption := IntToStr(Seconds);

  end;

end;


Пример использования свойства GroupIndex

Если в основной и вторичной формах структуры меню имеет следующие значения GroupIndex:

Форма 1	Форма 2

2	-	4 	1	-	3

|	|	|	|

2	4	1	3

|	|	|

2	4	1

то в момент, когда активизируется вторая форма в первой появляется меню со структурой:

1	-	2	-	3	-	4

|	|	|	|

1	2	3	4

|	|	|

1	2	4


Пример свойства Bits класса TBits

var ABit : TBits;
    l : boolean;
............
  ABit := TBits.Create; {Создание экземпляра массива}
  ABit.Size := 3;       {Задание размера}
  l := ABit.Bits[0];    {Значение l равно false, т.к. значения всех неустановленных элементов false}
  ..............

  ABit.Bits[0] := true; {Установка значения первого элемента}

  l := ABit.Bits[0];    {Значение l равно true}
  .................
  ABit.Free;         {Освобождение памяти}


Пример свойства HelpContext(свойство исключений)

Например, оператор

Exc := EMy.CreateHelp('Не хватает исходных данных',42);

задает создаваемому экземпляру исключения значение свойства Message, равное "Не хватает исходных данных", и значение свойства HelpContext, равное 42. При получении сообщения об этом исключении пользователь может нажать клавишу F1 и получить пояснения, что ему делать в этом случае.

Конечно, чтобы это работало, надо создать соответствующий файл справки и связать его с приложением, установив соответствующую опцию Help file (Файл справки) в окне Project Options (Опции проекта) на странице Application (Приложение).


Пример свойства Message (свойство исключений)

Например:

Exc := EMy.Create('Не хватает исходных данных');

или

s:='Не задана фамилия';

raise EMy.Create(s);

Например, оператор

raise EMy.CreateFmt('Задано %d параметров из %d', [N1, N2]);

сгенерирует исключение, в котором при значениях переменных N1=5 и N2=7 значение свойства Message будет равно "Задано 5 параметров из 7".

Наконец, есть конструкторы, которые передают в свойство Message строку из файла ресурсов или формируют текст по строке описания формата, взятой из файла ресурсов. Например, оператор

raise EMy.CreateRes(65369);

передаст в свойство Message строку из файла ресурсов с номером 65369, а оператор

raise EMy.CreateResFmt(65369, [N1, N2]);

возьмет из файла ресурсов строку с номером 65369 как строку описания формата и передаст в свойство Message сформатированные с ее помощью значения переменных N1 и N2.

Подробнее о конструкторах см. в разделе Exception и в разделах, посвященных отдельным конструкторам.


Пример использования свойств и методов класса TIniFile

Следующие операторы создают объект Ini типа TIniFile и связывают его с файлом My.ini:

var Ini:TIniFile;

...

Ini:=TIniFile.Create('MY.INI');

Следующий оператор проверяет наличие в файле раздела My Section, содержащего ключ MyKey:

if Ini.ValueExists('My Section','MyKey') then ...

Следующий оператор заносит в ключ MyKey раздела My Section значение '5':

Ini.WriteInteger('My Section','MyKey',5);

Следующий оператор удаляет ключ MyKey раздела My Section:

Ini.DeleteKey('My Section','MyKey');

Следующие операторы сохраняют содержимое объекта Ini в файле на диске и разрушают объект Ini:

Ini.UpdateFile;

Ini.Free;


Пример типа TBitmap и свойства кисти Bitmap

var

 Bitmap: TBitmap;

begin

 Bitmap := TBitmap.Create;

 try

  Bitmap.LoadFromFile('MyBitmap.bmp');

  Image1.Canvas.Brush.Bitmap := Bitmap;

  ...

 finally

  Image1.Canvas.Brush.Bitmap := nil;
  Bitmap.Free;

 end;

end;

В этом примере создается объект Bitmap типа TBitmap и в него загружается битовая матрица из фала с именем "MyBitmap.bmp". Затем свойству Image1.Canvas.Brush.Bitmap присваивается указатель на этот объект. После этого загруженный шаблон можно использовать для заполнения фигур на канве Image1. В конце кода свойству BitMap присваивается значение nil, после чего заполнение опять начинает определяться свойством Style. Затем объект Bitmap уничтожается, чтобы освободить занимаемую им память.


Пример использования класса TBrush

Следующие операторы изменяют цвет и стиль заполнения объекта Image1.Canvas - канвы компонента Image1:

Image1.Canvas.Brush.Style := bsCross;

Image1.Canvas.Brush.Color := clRed;

Image1.Canvas.FillRect(Rect(0,0,Image1.Width,Image1.Height));

Последний из приведенных операторов заполняет методом FillRect всю45 поверхность канвы.


Пример использования класса TBits

var ABit : TBits;
    i : integer;
    l : boolean;
............
  ABit := TBits.Create; {Создание экземпляра массива}
  ABit.Size := 3;       {Задание размера}
  l := ABit.Bits[0];    {Значение l равно false, т.к.
                         значения всех неустановленных
                         элементов false}
  ..............

  ABit.Bits[0] := true; {Установка значения первого
                         элемента}

  l := ABit.Bits[0];    {Значение l равно true}
...
  i := ABit.OpenBit;    {Возвращает 1 - первый
                         не установленный элемент}
  ...
  ABit.Free;            {Освобождение памяти}


Пример применения функции Pi

Y := sin(Pi/4); {синус угла Пи/4}

{коэффициент перевода градусов в радианы:}

GradToDeg := Pi / 180;

Y := sin(90 * GradToDeg);{синус угла 90}


Тригонометрические и гиперболические функции

Категории процедур и функций

Функция	Описание	Модуль
ArcCos(X)	арккосинус	Math
ArcCosh(X)	арккосинус гиперболический	Math
ArcSin(X)	арксинус	Math
ArcSinh(X)	арксинус гиперболический	Math
ArcTan(X)	арктангенс	System
ArcTan2(Y, X)	арктангенс от Y / X	Math
ArcTanh(X)	арктангенс гиперболический	Math
Cos(X)	косинус	System
Cosh(X)	косинус гиперболический	Math
Cotan(X)	котангенс	Math
Hypot(X, Y)	вычисление гипотенузы по заданным катетам X и Y	Math
Sin(X)	синус	System
SinCos(X, S, C)	синус и косинус	Math
Sinh(X)	синус гиперболический	Math
Tan(X)	тангенс	Math
Tanh(X)	тангенс гиперболический	Math
Комментарии

Во всех функциях тип аргумента и тип возвращаемого значения - Extended.

Во всех тригонометрических функциях аргумент X - угол в радианах.

Обратные тригонометрические функции возвращают главное значение угла в радианах. В функциях ArcSin и ArcCos аргумент должен лежать в пределах от -1 до 1. Функции ArcSin и ArcTan возвращают результат в пределах [-Pi/2 .. Pi/2], ArcCos - в пределах [0 .. Pi].

Функция ArcTan2:

function ArcTan2(Y, X: Extended): Extended;

вычисляет арктангенс ArcTan(Y/X) и возвращает угол с учетом квадранта. Возвращаемые значения угла в радианах лежат в пределах [-Pi .. Pi]. Значения X и Y должны лежать в пределах [–264 .. 264].  Кроме того X не должен равняться нулю.

Процедура SinCos:

procedure SinCos(Theta: Extended; var Sin, Cos: Extended);

вычисляет одновременно синус Sin и косинус Cos угла Theta. Эта функция работает вдвое быстрее, чем раздельное вычисление сначала синуса и затем косинуса.


AnsiLowerCase, LowerCase - функции

Примеры   см.также

Преобразуют строку к нижнему регистру

Модуль Sysutils

Объявления

function AnsiLowerCase(const S:string): string

function LowerCase(const S: string): string

Описание

Функции возвращают строку S, преобразованную к нижнему регистру. Функция LowerCase работает только для латинских символов. Функция AnsiLowerCase применима для русских текстов.


AnsiUpperCase, UpperCase - функции

Примеры   см.также

Преобразуют строку к верхнему регистру

Модуль Sysutils

Объявления

function AnsiUpperCase(const S:string): string

function UpperCase(const S: string): string

Описание

Функции возвращают строку S, преобразованную к верхнему регистру. Функция UpperCase работает только для латинских символов. Функция AnsiUpperCase применима для русских текстов.


Dec - процедура

см.также

Уменьшает порядковую величину на заданное значение

Модуль System

Объявление

procedure Dec(var X[ ; N: Longint]);

Описание

Процедура Dec - декремент уменьшает значение передаваемого по ссылке аргумента X на 1, если аргумент N не задан, или на N, если этот аргумент задан. Переменная X длжна быть порядкового типа (целого, перечислимого, указатель и т.п.) или типа PChar (если используется расширенный синтаксис). Аргумент N, если он задан, должен быть выражением целого типа.

Таким образом, выражение Dec(X) эквивалентно оператору

X = X - 1;

а выражение Dec(X, N) - оператору

X = X - N;

Но процедура Dec выполняется быстрее и порождает более компактный код.


FloatToStr - функция

Примеры   см.также

Преобразовывает действительное значение в строку

Модуль Sysutils

Объявление

function FloatToStr(Value: Extended): string;

Описание

Функция FloatToStr преобразовывает действительное значение Value в строку. Параметр Value - действительная константа или выражение. При преобразовании используется основной числовой формат с 15 значащими цифрами. Это обычно слишком много, если преобразуются числа с большим числом значащих цифр или иррациональные числа.

Если преобразовываемое выражение окажется не числом, функция вернет значение "NAN". Если преобразовываемое значение превышает по модулю величину, допустимую для объявленного типа данных, функция вернет значение "INF" (бесконечность) или "-INF" (минус бесконечность).

Если вам требуется управление форматом представления чисел, лучше использовать функции FloatToStrF или FloatToText.


FloatToStrF - функция

Примеры   см.также

Преобразовывает действительное значение в строку, используя заданный формат, точность и число цифр

Модуль Sysutils

Объявление

type TFloatFormat = (ffGeneral, ffExponent, ffFixed,
                     ffNumber, ffCurrency);

function FloatToStrF(Value: Extended;
                     Format: TFloatFormat;
                     Precision, Digits: Integer): string;

Описание

Функция FloatToStrF преобразовывает действительное значение Value в строку, используя заданный формат Format, точность Precision и число цифр Digits. Параметр Value - действительная константа или выражение. Возможные значения параметра означают следующее:

ffGeneral	Основной числовой формат
ffExponent	Научный формат
ffFixed	Формат с фиксированной запятой
ffNumber	Числовой формат
ffCurrency	Монетарный формат

Подробное описание всех этих форматов см. в TFloatFormat.

Параметр Precision определяет точность преобразовываемого значения. Значение Precision должно быть не более 7 при преобразовании типа Single, не более 15 для Double, не более 18 для Extended.

Параметр Digits совместно с Format определяют форматирование строки. Подробнее см. в описании TFloatFormat.

Если преобразовываемое выражение окажется не числом, функция вернет значение "NAN". Если преобразовываемое значение превышает по модулю величину, допустимую для объявленного типа данных, функция вернет значение "INF" (бесконечность) или "-INF" (минус бесконечность).


High - функция

Примеры   см.также

Возвращает максимально возможное значение порядкового типа данных или индекса массива или строки

Модуль System

Объявление

function High(X);

Описание

Функция High определяет максимальное значение порядкового типа, если X - идентификатор типа, или определяет максимальное значение индекса, если X - идентификатор массива или строки. Соответственно возвращаемый результат или имеет тип X, или тип индекса массива.

Таким образом, для различных X функция возвращает:

Тип X	Функция High возвращает
Порядковый тип (включая Int64)	Максимально возможное значение переменных данного типа
Массив	Максимальное значение индекса массива
Строка	Объявленный размер строки
Открытый массив	Значение типа Integer, дающее число элементов минус 1
Параметр String	Значение типа Integer, дающее число элементов минус 1


Inc - процедура

см.также

Увеличивает порядковую величину на заданное значение

Модуль System

Объявление

procedure Inc(var X [ ; N: Longint ] );

Описание

Процедура Inc - инкремент увеличивает значение передаваемого по ссылке аргумента X на 1, если аргумент N не задан, или на N, если этот аргумент задан. Переменная X длжна быть порядкового типа (целого, перечислимого, указатель и т.п.) или типа PChar (если используется расширенный синтаксис). Аргумент N, если он задан, должен быть выражением целого типа.

Таким образом, выражение Inc(X) эквивалентно оператору

X = X + 1;

а выражение Inc(X, N) - оператору

X = X + N;

Но процедура Inc выполняется быстрее и порождает более компактный код.


Length- функция

см.также

Возвращает число символов в строке или число элементов в массиве

Модуль System

Объявление

function Length(S): Integer;

Описание

Функция Length возвращает число символов в строке или число элементов в массиве, в зависимости от того, является ли S строкой или массивом данных любого типа.

Для массивов значение, возвращаемое Length, на единицу больше последнего индекса массива, который можно найти функцией High.

Для строк с однобайтными символами (AnsiString) или многобайтными функция Length возвращает число байтов, занятых строкой, а для строк Unicode (WideString) - число байтов, деленное на 2.


Low - функция

Примеры   см.также

Возвращает минимально возможное значение порядкового типа данных или индекса массива или строки

Модуль System

Объявление

function Low(X);

Описание

Функция Low определяет минимальное значение порядкового типа, если X - идентификатор типа, или определяет минимальное значение индекса, если X - идентификатор массива или строки. Соответственно возвращаемый результат или имеет тип X, или тип индекса массива.

Таким образом, для различных X функция возвращает:

Тип X	Функция Low возвращает
Порядковый тип (включая Int64)	Минимально возможное значение переменных данного типа
Массив	Минимальное значение индекса массива
Строка	Возвращает 0 (только для коротких строк)
Открытый массив	0
Параметр String	0


MaxIntValue и MaxValue - функции

см.также

Возвращают максимальное значение со знаком элементов массива.

Модуль Math

Объявления

function MaxIntValue(const Data: array of Integer): Integer;

function MaxValue(const Data: array of Double): Double;

Описание

Функции MaxIntValue и MaxValue возвращают максимальное значение со знаком элементов массива Data соответственно целых или действительных чисел. Могут работать как со статическими, так и с динамическими массивами. Например, оператор

B := MaxValue(A);

присваивает действительной переменной B максимальное из значений элементов, хранящихся в массиве действительных чисел A.


Mean - функция

см.также

Возвращает среднее арифметическое значение элементов массива.

Модуль Math

Объявление

function Mean(const Data: array of Double): Extended;

Описание

Функция Mean возвращает среднее арифметическое значение (математическое ожидание) элементов массива действительных чисел Data. Может работать как со статическими, так и с динамическими массивами. Если имеется массив действительных чисел A, содержащий n элементов, то среднее значение рассчитывается по формуле

.

Например, оператор

B := Mean(A);

присваивает действительной переменной B значение математического ожидания элементов, хранящихся в массиве действительных чисел A.

Если необходимо одновременно рассчитывать математическое ожидание и среднее квадратическое отклонение, то лучше воспользоваться более быстрой процедурой MeanAndStdDev.


MeanAndStdDev - процедура

см.также

Вычисляет математическое ожидание и среднее квадратическое отклонение элементов массива.

Модуль Math

Объявление

procedure MeanAndStdDev(const Data: array of Double; var Mean, StdDev: Extended);

Описание

Процедура MeanAndStdDev рассчитывает для массива Data одновременно математическое ожидание Mean и несмещенную оценку среднего квадратического отклонения StdDev. Может работать как со статическими, так и с динамическими массивами. Время вычислений по процедуре MeanAndStdDev вдвое меньше, чем при последовательном вызове функций Mean и StdDev. Поэтому, если требуется знать и математическое ожидание, и среднее квадратическое отклонение, то лучше использовать именно эту процедуру.

Формулы вычислений те же, которые приведены в описаниях функций Mean и StdDev.

При очень больших значениях математического ожидания (> 107) и сравнительно малых значениях среднего квадратического отклонения при расчетах возможны погрешности.


MinIntValue и MinValue - функции

см.также

Возвращают минимальное значение со знаком элементов массива.

Модуль Math

Объявления

function MinIntValue(const Data: array of Integer): Integer;

function MinValue(const Data: array of Double): Double;

Описание

Функции MinIntValue и MinValue возвращают минимальное значение со знаком элементов массива Data соответственно целых или действительных чисел. Могут работать как со статическими, так и с динамическими массивами. Например, оператор

B := MinValue(A);

присваивает действительной переменной B минимальное из значений элементов, хранящихся в массиве действительных чисел A.


MomentSkewKurtosis - процедура

см.также

Вычисляет первые четыре момента, коэффициент асимметрии и эксцесс элементов массива.

Модуль Math

Объявление

procedure MomentSkewKurtosis(const Data: array of Double; var M1, M2, M3, M4, Skew, Kurtosis: Extended);

Описание

Процедура MomentSkewKurtosis рассчитывает первые четыре момента M1, M2, M3, M4, коэффициент асимметрии Skew и эксцесс Kurtosis. Это набор характеристик, описывающий закон распределения случайной величины. Первый момент M1 равен среднему значению (математическому ожиданию), возвращаемому функцией Mean или процедурой MeanAndStdDev. Моменты M2, M3 и M4 - это смещенные оценки центральных моментов. K-ый центральный момент рассчитывается по формуле

.

Таким образом, второй центральный момент равен смещенной оценке дисперсии, возвращаемой функцией PopnVariance. Третий центральный момент M3 характеризует асимметрию закона распределения. Для симметричных распределений M3 = 0. Чаще асимметрия характеризуется не самим третьим моментом, а безразмерным коэффициентом асимметрии, равным частному от деления M3 на куб среднего квадратического отклонения. Эту величину процедура MomentSkewKurtosis заносит в параметр Skew. Четвертый центральный момент M4 характеризует "островершинность" распределения. Ексцесс, возвращаемый функцией MomentSkewKurtosis в параметр Kurtosis, равен моменту M4, деленному на четвертую степень среднего квадратического отклонения. Следует сказать, что в отечественной литературе чаще в качестве характеристики эксцесса используется эта величина, уменьшенная на 3. В этом случае эксцесс нормального закона распределения равен нулю. А коэффициент Kurtosis для нормального закона распределения равен 3.

Процедура MomentSkewKurtosis может работать как со статическими, так и с динамическими массивами.


Norm - функция

см.также

Возвращает корень из суммы квадратов значений элементов массива.

Модуль Math

Объявление

function TotalVariance(const Data: array of Double): Extended;

Описание

Функция Norm возвращает эвклидову норму: корень из суммы квадратов значений элементов массива. Функция может работать как со статическими, так и с динамическими массивами.


PopnStdDev - функция

см.также

Возвращает среднее квадратическое отклонение элементов массива.

Модуль Math

Объявление

function PopnStdDev(const Data: array of Double): Extended;

Описание

Функция PopnStdDev возвращает смещенную оценку среднего квадратического отклонения элементов массива действительных чисел Data. Может работать как со статическими, так и с динамическими массивами. Если массив A содержит n элементов, то смещенная оценка среднее квадратическое отклонение рассчитывается по формуле

,

где [image] - среднее значение (математическое ожидание) элементов массива. Эта смещенная оценка, статистически менее достоверна, чем несмещенная оценка, возвращаемая функцией StdDev или процедурой MeanAndStdDev. Но в некоторых расчетах используется именно такая смещенная оценка.


PopnVariance - функция

см.также

Возвращает дисперсию элементов массива.

Модуль Math

Объявление

function PopnVariance(const Data: array of Double): Extended;

Описание

Функция PopnVariance возвращает смещенную оценку дисперсии элементов массива действительных чисел Data, т.е. среднее значение квадрата отклонения значений элементов от их среднего значения. Может работать как со статическими, так и с динамическими массивами. Если массив A содержит n элементов, то дисперсия рассчитывается по формуле

,

где [image] - среднее значение (математическое ожидание) элементов массива. Это смещенная оценка дисперсии, статистически менее точная, чем сумма квадратов отклонений, деленная на n - 1, возвращаемая функцией Variance.


RandG - функция

см.также

Генерирует последовательность случайных чисел, распределенных по нормальному закону.

Модуль System

Объявление

function RandG(Mean, StdDev: Extended): Extended;

Описание

Функция RandG генерирует квазислучайные действительные числа, распределенные по нормальному закону (закону Гаусса) с математическим ожиданием Mean и средним квадратическим отклонением StdDev. Например, оператор

for i:=Low(A) to High(A) do

  A[i] := RandG(10,1);

заполняет массив A случайными числами, распределенными по нормальному закону с математическим ожиданием 10 и средним квадратическим отклоненим 1.

Для рандомизации генератора RandG используется процедура Randomize.


Random - функция

см.также

Генерирует последовательность целых или действительных случайных чисел

Модуль System

Объявление

function Random (Range: Integer);

Описание

Функция Random генерирует последовательность целых или действительных случайных чисел. Парметр Range не является обязательным. Если этот параметр не задан, то функция возвращает случайные действительные числа X, равномерно распределенные в интервале 0  <= X < 1. Например, оператор

for i:=Low(A) to High(A) do

  A[i] := Random;

заполняет массив A равномерно распределенными действительными числами в диапазоне от 0 до 1. Если вам требуются действительные случайные числа X, равномерно распределенные в каком-то другом диапазоне A1 <= X < A2, то такие действительные числа легко получить, сдвинув начальное значение чисел и умножив генерируемые числа на длину интервала. Например, операторы

A1, A2: double;

...

A1 := 50;

A2 := 150;

for i:=Low(A) to High(A) do

  A[i] := A1 + (A2 - A1) * Random;

обеспечивают заполнение массива действительными случайными числами X, лежащими в диапазоне 50 <= X < 150.

Если в функции Random задан параметр Range, то функция возвращает случайные целые числа в диапазоне 0 <= X < Range. Например, оператор

for i:=Low(M) to High(M) do

  M[i] := Random(101);

заполняет массив M целыми числами, равномерно распределенными в диапазоне от 0 до 100. А оператор

for i:=Low(M) to High(M) do

  M[i] := 100 + Random(101);

заполняет массив M целыми числами, равномерно распределенными в диапазоне от 100 до 200.

Для рандомизации генератора Random используется процедура Randomize.


Randomize - процедура

см.также

Рандомизирует генераторы случайных чисел

Модуль System

Объявление

procedure Randomize;

Описание

Процедура Randomize рандомизирует функции генерации случайных чисел Random и RandG. Если не использовать процедуру Randomize, то при каждом запуске на выполнение функции Random и RandG будут генерировать одинаковые последовательности квазислучайных чисел. Если же вставить в код процедуру Randomize, например, в событии OnCreate формы, то при каждом запуске последовательности случайных чисел будут разными.


SetLength - процедура

Примеры   см.также

Устанавливает заданную длину переменной типа строки или динамического массива

Модуль System

Объявление

procedure SetLength(var S; NewLength: Integer);

Описание

Процедура SetLength устанавливает длину NewLength переменной S типа строки или динамического массива.

Для коротких строк значение NewLength должно лежать между 0 и 255. В этом случае процедура SetLength просто записывает это знчение в нулевой символ строки (S[0]).

Для длинных строк и динамических массивов процедура SetLength перераспределяет память, выделяя для переменной S область требуемой длины. Если размер увеличивается по сравнению с прежним, то все прежние символы строи или элементы массива сохраняются, а значения новых символов или элементов не определены.

Для многомерных динамических массивов вызов процедуры SetLength может содержать несколько параметров NewLength, разделяемых запятыми - по числу измерений массива. Если число параметров NewLength меньше размерности массива, то нехватающие измерения считаются пока не определенными.

Если при увеличении длины строки или массива не хватает памяти для размещения, генерируется исключение EOutOfMemory.

Вызов SetLength гарантирует, что S будет уникальной строкой или массивом, т.е. число ссылок на строку или массив будет равно 1.


StdDev - функция

см.также

Возвращает среднее квадратическое отклонение элементов массива.

Модуль Math

Объявление

function StdDev(const Data: array of Double): Extended;

Описание

Функция StdDev возвращает несмещенную оценку среднего квадратического отклонения элементов массива действительных чисел Data. Может работать как со статическими, так и с динамическими массивами. Если массив A содержит n элементов, то среднее квадратическое отклонение рассчитывается по формуле

,

где [image] - среднее значение (математическое ожидание) элементов массива. Это несмещенная оценка, статистически более точная, чем корень из суммы квадратов отклонений, деленной на n. Если массив содержит всего один элемент, функция StdDev возвращает значение NAN.

Например, оператор

B := StdDev(A);

присваивает действительной переменной B значение среднего квадратического отклонения элементов, хранящихся в массиве действительных чисел A.

Если необходимо одновременно рассчитывать математическое ожидание и среднее квадратическое отклонение, то лучше воспользоваться более быстрой процедурой MeanAndStdDev.


StrToCurr, StrToFloat, StrToInt - функции

Примеры   см.также

Преобразуют строку в монетарное, действительное или целое число.

Модуль Sysutils

Объявления

function StrToCurr(const S: string): Currency;

function StrToFloat(const S: string): Extended;

function StrToInt(const S: string): Integer;

Описание

Функции преобразуют строку S в число: StrToCurr - в монетарное типа Currency, StrToInt - в целое, StrToFloat - в действительное. Если строка записана в неправильном формате, то генерируется исключение EConvertError.


SumInt и Sum - функции

см.также

Возвращают сумму значений элементов массива.

Модуль Math

Объявления

function SumInt(const Data: array of Integer): Integer;

function Sum(const Data: array of Double): Extended;

Описание

Функции SumInt и Sum возвращают сумму значений элементов массива Data соответственно целых или действительных чисел. Могут работать как со статическими, так и с динамическими массивами.

Если необходимо одновременно рассчитывать сумму и сумму квадратов значений элементов массива, то лучше воспользоваться более быстрой процедурой SumsAndSquares.


SumOfSquares - функция

см.также

Возвращает сумму квадратов значений элементов массива действительных чисел.

Модуль Math

Объявление

function SumOfSquares(const Data: array of Double): Extended;

Описание

Функция SumOfSquares возвращает сумму квадратов значений элементов массива действительных чисел Data. Может работать как со статическими, так и с динамическими массивами.

Если необходимо одновременно рассчитывать сумму и сумму квадратов значений элементов массива, то лучше воспользоваться более быстрой процедурой SumsAndSquares.


SumsAndSquares - функция

см.также

Вычисляет сумму и сумму квадратов значений элементов массива.

Модуль Math

Объявление

procedure SumsAndSquares(const Data: array of Double;
var Sum, SumOfSquares: Extended);

Описание

Процедура SumsAndSquares рассчитывает для массива Data одновременно сумму Sum и сумму квадратов SumOfSquares значений элементов. Может работать как со статическими, так и с динамическими массивами. Время вычислений по процедуре SumsAndSquares меньше, чем при последовательном вызове функций Sum и SumOfSquares. Поэтому, если требуется знать и сумму, и сумму квадратов, то лучше использовать именно эту процедуру.


TFloatFormat - тип формата

Примеры   см.также

Определяет формат преобразования действительных чисел

Модуль Sysutils

Объявление

type TFloatFormat = (ffGeneral, ffExponent, ffFixed,
                     ffNumber, ffCurrency);

Описание

Тип TFloatFormat определяет коды форматирования чисел с плавающей запятой в функциях FloatToText, FloatToStrF, FloatToDecimal, TextToFloat. В этих функциях одновременно с форматом указываются два параметра: Precision - точность, и Digits - число цифр.

Возможные значения формата определяются следующими правилами форматирования:

ffGeneral	Основной числовой формат. Число преобразуется по формату с фиксированной точкой или научному в зависимости от того, какой из них оказывается короче. Начальные нули удаляются, десятичная точка ставится только при необходимости. Фиксированный формат используется, если число разрядов слева от точки не больше указанной точности Precision и если значение не меньше 0.00001. В противном случае используется научный формат, в котором параметр Digits определяет число разрядов степени - от 0 до 4
ffExponent	Научный формат. Число преобразуется в строку вида "-d.ddd...E+dddd". Общее число цифр, включая одну перед десятичной точкой, задается параметром Precision. После символа "E" всегда следует знак "+" или "-" и до четырех цифр. Параметр Digits определяет минимальное число разрядов степени - от 0 до 4
ffFixed	Формат с фиксированной точкой. Число преобразуется в строку вида "-ddd.ddd...". По крайней мере одна цифра всегда предшествует десятичной точке. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18. Если число разрядов слева от десятичной точки больше указанного параметром Precision, то используется научный формат
ffNumber	Числовой формат. Число преобразуется в строку вида "-d,ddd,ddd.ddd...". Данный формат совпадает с ffFixed за исключением наличия в нем разделителей тысяч
ffCurrency	Монетарный формат. Число преобразуется в строку, отображающую денежную сумму. Формат контролируется глобальными переменными CurrencyString, CurrencyFormat, NegCurrFormat, ThousandSeparator, DecimalSeparator, задаваемыми для монетарного формата разделом Currency Format элемента International Контрольной панели Windows. Число цифр после десятичной точки задается параметром Digits, который может лежать в пределах от 0 до 18

Для всех форматов действительные символы, используемые в качестве десятичной точки и разделителя тысяч определяются глобальными переменными DecimalSeparator и ThousandSeparator.


TotalVariance - функция

см.также

Возвращает сумму квадратов отклонений значений элементов массива от их среднего значения.

Модуль Math

Объявление

function TotalVariance(const Data: array of Double): Extended;

Описание

Функция TotalVariance рассчитывает сумму квадратов отклонений значений элементов массива от их среднего значения:

.

Это вспомогательная величина, входящая в выражения для дисперсии и среднего квадратического отклонения, вычисляемые функциями и процедурами Variance, PopnVariance, MeanAndStdDev.

Функция может работать как со статическими, так и с динамическими массивами.


Variance - функция

см.также

Возвращает дисперсию элементов массива.

Модуль Math

Объявление

function Variance(const Data: array of Double): Extended;

Описание

Функция Variance возвращает несмещенную оценку дисперсии элементов массива действительных чисел Data. Может работать как со статическими, так и с динамическими массивами. Если массив A содержит n элементов, то дисперсия рассчитывается по формуле

,

где [image] - среднее значение (математическое ожидание) элементов массива. Это несмещенная оценка, статистически более точная, чем сумма квадратов отклонений, деленная на n, возвращаемая функцией PopnVariance. Если массив содержит всего один элемент, функция Variance возвращает значение NAN.

Дисперсия равна квадрату среднего квадратического отклонения, вычисляемого функцией StdDev или процедурой MeanAndStdDev. Таким образом, выполняется соотношение Sqr(StdDev(A)) = Variance(A).


Примеры применения функций High и Low

Выражение High(Integer) вернет целое число, равное 2147483647. Выражение Low(Integer) вернет целое число, равное -2147483648. Аналогичные значения вернут выражения High(I) и Low(I), если I - переменная типа Integer.

Выражение High(real) выдаст ошибку компиляции, поскольку тип real не является порядковым.

Следующий оператор заполняет массив List числами, равными индексу соответствующего элемента:

var List: array[10..20] of real;

    i: word;

...

for i := Low(List) to High(List) do

      List[i] := i;

Следующий оператор уменьшает на 1 текущую длину динамического массива PZ:

var PZ: array of integer;

...

SetLength(PZ,High(PZ));

Следующая функция возвращает сумму элементов открытого массива, передаваемого в него как параметр:

function Sum( var X: array of real): real;

var

  i: Word;

begin

  Result := 0;

{Индекс отсчитывается от нуля, поскольку так всегда принято для открытых массивов}

  for i := 0 to High(X) do Result := Result + X[I];

end;


Примеры применения процедуры SetLength

Операторы

var S: string[3];

...

S:='Ура';

записывают в строку S текст "Ура". Но если после этого выполняется оператор

SetLength(S,1);

то текст строки будет восприниматься как "У".

Операторы

var PZ: array of integer;

...

SetLength(A,10);

выделяют для динамического массива A место в памяти под 10 элементов.

Следующий оператор уменьшает на 1 текущую длину динамического массива A:

SetLength(A, High(A));

Следующий оператор увеличивает на 1 текущую длину динамического массива A:

SetLength(A, Length(A) + 1);

Пусть оператор

var A2: array of array of integer;

объявляет двумерный динамичекий массив. Тогда оператор

SetLength(A2,3,4);

задает размерность массива 3 на 4. Если вместо этого оператора выполнить оператор

SetLength(A2,3);

то первый размер массива будет задан равным 3. В памяти отводится место под 3 строки - 3 динамических массива A2[0], A2[1] и A2[2]. Размеры каждого из этих массивов еще не определены. Далее можно, например, задать размер первого из них равным 1, второго - 2, третьего - 3:

SetLength(A2[0],1);

SetLength(A2[1],2);

SetLength(A2[2],3);

Получится двумерный динамический массив нижней треугольной матрицы:

A2[0,0]

A2[1,0]	A2[1,1]

A2[2,0]	A2[2,1]	A2[2,2]


Примеры процедур StrToCurr, StrToInt, StrToFloat
Примеры применения процедур StrToCurr, StrToInt, StrToFloat

Следующие операторы читают тексты, введенный пользователем в окна редактирования Edit1 и Edit2. Если при перевде строки генерируется исключение, то срабатывают операторы раздела except:

try

  С := StrToCurr(Edit1.Text);

  R := StrToFloat(Edit1.Text);

  I := StrToInt(Edit2.Text);

except

// Перехват исключения при ошибочном числе

   on EConvertError do begin

     Application.MessageBox('Неверный формат чисел',

                            'Исправьте данные',
                            MB_OK+MB_ICONSTOP);

   abort;

   end


Примеры изменения регистра строк

Ниже приведен ряд операторов, преобразующих строку, содержащую анлийский и русский тексты: "Hi! Привет!". В комментариях указывается, какой результат дает каждый оператор. Вы можете видеть, что функции UpperCase и LowerCase не преобразуют русский текст.

var S: string;

...

S := 'Hi! Привет!';

Edit1.Text := AnsiUpperCase(S); // "HI! ПРИВЕТ!"

Edit2.Text := UpperCase(S);     // "HI! Привет!"

Edit3.Text := AnsiLowerCase(S); // "hi! привет!"

Edit4.Text := LowerCase(S);     // "hi! Привет!"


Примеры преобразования действительных чисел

Если S - строка, а R - действительное число или выражение, то оператор

S := FloatToStr(R);

даст следующие результаты при разных значениях R:

R	S
-3	-3
5.1E20	5,1E20
Sqrt(2)	1,4142135623731
1E5000	INF

Оператор

S := FloatToStrF(R,ffGeneral,7,0);

даст те же результаты, но для корня из 2 число цифр результата не превысит заданного значения 7: 1,414214. Как правило, формат ffGeneral с ограниченным числом цифр наиболее удачен для большинства применений.