Области и api функции работы с ними


Содержание

Области и API-функции работы с ними

В класс TCanvas Delphi не входит интересный графический объект Windows — область (Region). Область формируется из простейших геометрических фигур, таких как эллипс, многоугольник и т.п. С помощью областей можно значительно разнообразить графическое оформление своих программ. Появляются такие возможности, например, как создание эллиптических или другой формы кнопок, окон. Замечу, что именно для таких применений целесообразно использовать области. Для обычного рисования вполне достаточно средств класса TCanvas.

Для создания нестандартного окна нужно лишь немного изменить файл проекта. Следующий пример делает форму эллиптической (привожу файл проекта полностью):

Forms,
Unit1 in ‘Unit1.pas’ ,
Windows; // добавляем сами (функции API)

var
Region: Cardinal; // добавляем переменную
Begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
// добавляем в стандартный файл проекта несколько строк:
with Form1.Canvas, Form1 do
begin
Region := CreateEllipticRgn(0, 0, Width, Height);
SetWindowRgn(Handle, Region, True);
end;
Application.Run;
end.

Как видно, мы добавили вызов двух функций API: CreateEllipticRgn и SetWindowRgn. Эти функции будут описаны ниже.

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

procedure TForm1.Button1Click(Sender: TObject);
var
Region: Cardinal;
begin
with Button1 do
begin
Region := CreateRoundRectRgn(0, 0, Width, Height, 20, 20);
SetWindowRgn(Handle, Region, True);
end;
end;

Запустите проект и щелкните по кнопке. В результате кнопка станет скругленной по углам. Скругление углов производит функция CreateRoundRectRgn.

Ниже в таблице приведены описания функций API по созданию областей различной формы:

function CreateEllipticRgn(X1, Y1, X2, Y2: Integer) : Cardinal; Создает эллиптическую область. X1 — координата по горизонтали верхнего левого угла ограничивающего прямоугольника; Y1 — координата по вертикали верхнего левого угла ограничивающего прямоугольника; X2 и Y2 – аналогично для нижнего правого угла ограничивающего прямоугольника.
function CreateRoundRectRgn(X1, Y1, X2, Y2, H, W: Integer): Cardinal; Создает область «прямоугольник со скругленными углами».
X1 — координата по горизонтали верхнего левого угла области;
Y1 — координата по вертикали верхнего левого угла области;
X2 и Y2 – аналогично для нижнего правого угла области;
H — высота эллипса для скругленных углов;
W — ширина эллипса для скругленных углов.
function CreatePolygonRgn(Const Points; Count, PolyFillMode: Integer): Cardinal; Создает область в виде многоугольника.
Points – двумерный массив координат всех вершин многоугольника или массив TPoint этих вершин;
Count — количество вершин;
PolyFillMode -режим заполнения многоугольника. PolyFillMode может иметь значения: ALTERNATE и WINDING. В режиме ALTERNATE заполнение многоугольника идет последовательно между двумя близлежащими его сторонами: сначала между 1-й и 2-й, затем между 2-й и 3-й и т. д. В режиме WINDING заполняется все внутреннее пространство области. Во всех случаях автоматически соединяются последняя и первая точки.
function CreateRectRgn(X1, Y1, X2, Y2: Integer): Cardinal; Создает область в виде прямоугольника.
X1 — координата по горизонтали верхнего левого угла прямоугольника;
Y1 — координата по вертикали верхнего левого угла прямоугольника;
X2 и Y2 – аналогично для нижнего правого угла прямоугольника.

Следующая, упоминавшаяся в примерах функция – SetWindowRgn – имеет следующее описание:

function SetWindowRgn (DC, Rgn: Cardinal; Redraw: Bool): Integer;

В следующей таблице приводятся дополнительные функции API по работе с областями:

function CombineRgn(DestRgn, Rgn1, Rgn2: Cardinal; CombineMode: Ineger): Integer; Объединяет две области в одну.
DestRgn — дескриптор результирующей области;
Rgn1, Rgn2 — дескрипторы объединяемых областей;
CombineMode — параметр, указывающий способ объединения. Параметр CombineMode может иметь следующие значения: RGN_AND — включает в результат общие части областей;
RGN_COPY — копирует область Rgn1 в DestRgn;
RGN_DIFF — исключает из Rgn1 часть, принадлежащую Rgn2;
RGN_OR — объединяет области;
RGN_XOR — включает в результат только те части областей, которые не принадлежат им одновременно.
До применения функции область DestRgn уже должна существовать и иметь размеры, достаточные для размещения объединенной области.
function EqualRgn(Rgn1,Rgn2: Cardinal): Bool; Проверяет эквивалентность двух областей.
Rgn1, Rgn2 – дескрипторы сравниваемых областей.
function FillRgn(DC, Rgn,Brush: Cardinal): Bool; Закрашивает область кистью.
DC — дескриптор канвы окна;
Rgn — дескриптор области;
Brush — дескриптор кисти.
function FrameRgn(DC, Rgn,Brush: Cardinal; Width,Height: Integer): Bool; Обводит область кистью высотой Height и шириной Width пикселей.
DC — дескриптор канвы окна;
Rgn — дескриптор области;
Brush — дескриптор кисти.
function InvertRgn(DC, Rgn:Cardinal): Bool; Инвертирует цвет всех точек внутри области.
DC — дескриптор канвы окна;
Rgn — дескриптор области.
function OffsetRgn(DC, Rgn:Cardinal; dX, dY: Integer):Integer; Смещает область на dX по горизонтали и на dY по вертикали.
DC — дескриптор канвы окна;
Rgn — дескриптор области.
function PaintRgn(DC, Rgn:Cardinal): Bool; Закрашивает область текущей кистью.
DC — дескриптор канвы окна;
Rgn — дескриптор области.
function PtInRegion(Rgn:Cardinal; X, Y: Integer):Bool; Проверяет принадлежность точки (X,Y) области с дескриптором Rgn.
function RectInRegion(Rgn:Cardinal; Rect: TRect):Bool; Проверяет принадлежность прямоугольника Rect области с дескриптором Rgn.

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

Что такое api и зачем его используют разработчики??

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

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

Для начала расшифруем аббревиатуру.

API, которая буквально означает интерфейс прикладного программирования (Application Programming Interface).

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

Аналогия функциональности API

Чтобы понять, как работает API вам нужно представить себе менеджера компании, которая берется за разные строительные проекты. Возможно, было бы неплохо иметь собственный автопарк и грузоподъемное оборудование, склад с материалами, бригаду каменщиков, облицовщиков, своих сметчиков и инженеров, дизайнеров. Но и в этом случае не всегда удается охватить все виды работ: например заказчик желает мозаику, систему умный дом или двери из дуба – а ваша компания такого делать не умеет.

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

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

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

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

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

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

Что входит в API и как он работает?

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

Элементами такого программного интерфейса, являются:

  • классы защищенных или открытых данных, элементов кодов
  • отдельно прописанные процедуры, представляющие собой автономно работоспособный блок программы;
  • функций, подразумевающих работу с переменными
  • структуры
  • констант (наиболее часто используемая форма данных, настроек или образов);

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

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

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

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

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

Возвращаюсь к нашему строительному примеру можно провести аналогию. Сигнатура это визитка (например, бригада выполняет укладку кафеля). А семантика – это бланк оформления заявки (От вас требуется указать точное место, площадь поверхности, предоставить плитку. Мы ее качественно клеим за N-сот рублей). Я думаю в общих чертах понятно, что такое api? Теперь поговорим о том, где применяется.

Сферы использования API

Единой API пока не существует, но такие интерфейсы разработаны для отдельных операционных систем:

  • Windows API
  • Linux Kernel API
  • OS/2 API
  • Amiga ROM Kernel
  • POSIX
  • Cocoa

А так же для звуковых и графических интерфейсов, среди которых вам наверняка встречались DirectX, OpenGL, GDI+, SDL, GTK, Qt. Точно сформулировать, для каких задач предназначен АПИ невозможно. Сфера его применения ограничивается только фантазией разработчика, благо для этого существуют все возможности.

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

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

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

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

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

API функции

Ниже перечислены основные функции API, применяемые в ассемблере.

Функция Назначение функции
AllocConsole Создать консоль
Arc Рисовать дугу
BeginPaint Получить контекст при получении сообщения WM_PAINT
BitBlt Скопировать виртуальную прямоугольную область в окно
CallNextHookEx Продолжить выполнение других фильтров.
CallWindowProc Вызвать процедуру окна.
CharToOem Функция перекодировки строки.
CloseHandle Закрыть объект: файл, консоль, коммуникационный канал.
CreateCompatibleBitmap Создать карту бит, совместимую с заданным контекстом.
CreateCompatibleDC Создать контекст, совместимый с данным окном.
CreateDialogParam Создать немодальное диалоговое окно.
CreateEvent Создать событие.
CreateFile Создать или открыть файл, консоль, коммуникационный канал и т.п.
CreateFileMapping Создать отображаемый файл.
CreateFont Задать параметры шрифта.
CreateFontIndirect Задать параметры шрифта.
CreateMutex Создать объект синхронизации «взаимоисключение»
CreatePen Создать перо.
CreatePipe Создать канал обмена информацией.
CreateProcess Создать новый процесс.
CreateSemaphore Создать семафор.
CreateSolidBrush Определить кисть.
CreateThread Создать поток.
CreateWindow Создать окно.
CreateWindowEx Расширенное создание окна.
DefWindowProc Вызывается для сообщений, которые не обрабатываются функцией окна.
DeleteCriticalSection Удалить объект «критическая секция».
DeleteDC Удалить контекст, полученный посредством функций типа CreatePen или CreateDC.
DeleteObject Удалить объект, выбранный функцией SelectObject.
DestroyMenu Удалить меню из памяти.
DestroyWindow Удалить окно из памяти.
DeviceIoControl Вызов сервиса динамического виртуального драйвера.
DialogBox Создать модальное диалоговое окно.
DialogBoxParam Создать немодальное диалоговое окно.
DispatchMessage Вернуть управление Windows с передачей сообщения предназначенному окну.
Ellipse Рисовать эллипс.
EndDialog Удалить модальное диалоговое окно.
EndPaint Удалить контекст, полученный при помощи BeginPaint.
EnterCriticalSection Войти в критическую секцию.
EnumWindows Пересчитать окна.
ExitProcess Закончить данный процесс со всеми подзадачами (потоками).
ExitThread Выход из потока с указанием кода выхода.
FindFirstFile Первый поиск файлов в каталоге.
FindNextFile Осуществить последующий поиск в каталоге.
FlushViewOfFile Сохранить отображаемый файл или его часть на диск.
FreeConsole Освободить консоль.
FreeLibrary Выгрузить динамическую библиотеку.
GetCommandLine Получить командную строку программы.
GetCursorPos Получить положение курсора в экранных координатах.
GetDC Получить контекст окна.
GetDiskFreeSpace Определяет объем свободного пространства на диске.
GetDlgItem Получить дескриптор управляющего элемента в окне.
GetDriveType Получить тип устройства.
GetLocalTime Получить местное время.
GetMenuItemInfo Получить информацию о выбранном пункте меню.
GetMessage Получить очередное сообщение из очереди сообщений данного приложения.
GetModuleHandle Получить дескриптор приложения.
GetProcAddress Получить адрес процедуры (в динамической библиотеке).
GetStdHandle Получить дескриптор консоли.
GetStockObject Определить дескриптор стандартного объекта.
GetSystemDirectory Получить системный каталог.
GetSystemMetrics Определить значение системных характеристик.
GetSystemTime Получить время по Гринвичу.
GetTextExtentPoint32 Определить параметры текста в данном окне.
GetWindowRect Определить размер окна.
GetWindowsDirectory Получить каталог Windows.
GetWindowText Получить заголовок окна.
GetWindowThreadProcessId Получить идентификатор процесса.
GlobalAlloc Выделить блок памяти.
GlobalDiscard Удалить удаляемый блок памяти.
GlobalFree Освободить блок памяти.
GlobalLock Фиксировать перемещаемый блок памяти.
GlobalReAlloc Изменить размер блока памяти.
GlobalUnlock Снять фиксацию блока памяти.
InitializeCriticalSection Создать объект критическая секция.
InvalidateRect Перерисовать окно.
KillTimer Удалить таймер.
LeaveCriticalSection Покинуть критическую секцию.
LineTo Провести линию от текущей точки к заданной.
LoadAccelerators Загрузить таблицу акселераторов.
LoadCursor Загрузить системный курсор или курсор, определенный в файле ресурсов.
LoadIcon Загрузить системную иконку или иконку, определенную в файле ресурсов.
LoadLibrary Загрузить динамическую библиотеку.
LoadMenu Загрузить меню, которое определено в файле ресурсов.
LoadString Загрузить строку, определенную в файле ресурсов.
lstrcat Производит конкатенацию двух строк.
lstrcpy Скопировать одну строку в другую.
lstrlen Получить длину строки.
MapViewOfFile Скопировать файл или части файла в память.
MessageBox Выдать окно сообщения.
MoveToEx Сменить текущую точку.
MoveWindow Установить новое положение программа окна.
OpenEvent Открыть событие.
OpenSemaphore Открыть семафор.
PatBlt Заполнить заданную прямоугольную область.
Pie Рисовать сектор эллипса.
PostMessage Аналогична SendMessage, но сразу возвращает управление.
PostQuitMessage Послать текущему приложению сообщение WM_QUIT.
ReadConsole Читать из консоли.
ReadFile Читать из файла или того, что было создано функцией CreateFile.
Rectangle Рисовать прямоугольник.
RegisterClass Зарегистрировать класс окон.
RegisterHotKey Зарегистрировать горячую клавишу.
ReleaseDC Удалить контекст, полученный при помощи GetDC
ReleaseSemaphore Освободить семафор
ResetEvent Сбросить событие
ResumeThread Запустить «спящий» процесс.
RoundRect Рисовать прямоугольник с округленными углами.
RtlMoveMemory Копировать блок памяти в другой блок. В помощи по API-функциям она называется MoveMemory.
SelectObject Выбрать объект (перо, кисть) в указанном контексте.
SendDlgItemMessage Послать сообщение управляющему элементу окна.
SendMessage Послать сообщение окну.
SetBkColor Установить цвет фона для вывода текста.
SetConsoleCursorPosition Установить курсор в заданную позицию в консоли.
SetConsoleScreenBufferSize Установить размер буфера консоли.
SetConsoleTextAttribute Установить цвет текста в консоли.
SetConsoleTitle Установить название окна консоли.
SetEvent Подать сигнал о наступлении события.
SetFocus Установить фокус на заданное окно.
SetLocalTime Установить время и дату.
SetMapMode Установить соотношение между логическими единицами и пикселями.
SetMenu Назначить новое меню данному окну.
SetPixel Установить заданный цвет пикселя.
SetSystemTime Установить время, используя гринвичские координаты.
SetTextColor Установить цвет текста.
SetTimer Установить таймер.
SetViewportExtEx Установить область вывода.
SetViewportOrgEx Установить начало области вывода.
SetWindowLong Изменить атрибут уже созданного окна.
SetWindowsHookEx Установить процедуру-фильтр.
Shell_NotifyIcon Посредством данной функции можно поместить иконку приложения на системную панель.
SHFileOperation Осуществляет групповую операцию над файлами и каталогами.
SHGetDesktopFolder Выводит диалоговое окно для выбора каталогов и файлов.
ShowWindow Показать окно, установить статус показа.
Sleep Вызывает задержку.
TerminateProcess Уничтожить процесс.
TerminateThread Удалить поток.
TextOut Вывести текст в окно.
timeKillEvent Удалить таймер.
timeSetEvent Установить таймер.
TranslateAccelerator Транслирует акселераторные клавиши в команду выбора пункта меню.
TranslateMessage Транслировать клавиатурные сообщения в ASCII-коды.
UnhookWindowsHookEx Снять процедуру-фильтр.
UnmapViewOfFile Сделать указатель на отображаемый файл недействительным.
UnregisterHotKey Снять регистрацию горячей клавиши.
UpdateWindow Обновить рабочую область окна.
VirtualAlloc Зарезервировать блок виртуальной памяти или отобразить на него физическую память.
VirtualFree Снять резервирование с блока виртуальной памяти или сделать блок виртуальной памяти неотображенным.
WaitForSingleObject Ожидает одно из двух событий: определенный объект сигнализирует о своем состоянии, вышло время ожидания (TimeOut). Работает с такими объектами, как семафор, событие, взаимоисключение, процесс, консольный ввод и др.
WNetAddConnection2 Осуществляет соединение с сетевым ресурсом локальной сети.
WNetCancelConnection2 Отсоединить от ресурса локальной сети.
WNetCloseEnum Найти все ресурсы локальной сети данного уровня.
WNetGetConnection Получить информацию о данном соединении.
WNetOpenEnum Открыть поиск ресурсов в локальной сети.
WriteConsole Вывод в консоль.
wsprintf Преобразовать последовательность параметров в строку.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: При сдаче лабораторной работы, студент делает вид, что все знает; преподаватель делает вид, что верит ему. 9339 — | 7293 — или читать все.

188.64.174.135 © studopedia.ru Не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования. Есть нарушение авторского права? Напишите нам | Обратная связь.

Отключите adBlock!
и обновите страницу (F5)

очень нужно

Что такое API в веб-приложениях и зачем он нужен

Начнем с основ: что такое API? Аббревиатура расшифровывается как Application Programming Interface, или интерфейс для программирования приложений. Название, вроде бы, говорит само за себя, но лучше рассмотреть более детальное объяснение.

Как уже было сказано, API – это, в первую очередь, интерфейс. Интерфейс, который позволяет разработчикам использовать готовые блоки для построения приложения. В случае с разработкой мобильных приложений в роли API может выступать библиотека для работы с «умным домом» – все нюансы реализованы в библиотеке и вы лишь обращаетесь к этому API в своём коде.

В случае веб-приложений, API может отдавать данные в отличном от стандартного HTML формате, благодаря чему им удобно пользоваться при написании собственных приложений. Сторонние общедоступные API чаще всего отдают данные в одном из двух форматов: XML или JSON. На случай, если вы решили сделать API для своего приложения, запомните, что JSON намного более лаконичен и прост в чтении, чем XML, а сервисы, предоставляющие доступ к данным в XML-формате, постепенно отказываются от последнего.

API в веб-приложениях на примерах

Некое приложение – например, Github – имеет свой API, которым могут воспользоваться другие разработчики. То, как они будут пользоваться им зависит от возможностей, которые предоставляет API и от того, насколько хорошо работает фантазия у разработчиков. API Гитхаба позволяет, например, получать информацию о пользователе, его аватаре, читателях, репозиториях и множество других полезных и интересных сведений.

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

На основе API строятся такие вещи, как карты 2GIS, всевозможные мобильные и десктопные клиенты для Twitter и Vkontakte. Все их функции стали возможными именно благодаря тому, что соответствующие сервисы имеют качественные и детально документированные API.

Стандартный запрос данных от стороннего API выглядит примерно так:

На случай, если кто-то еще не знает, стоит заметить, что curl не имеет никакого отношения к API и используется в операционных системах для отправки и получения данных через терминал. Более подробно на Википедии.

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

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

Записаться Хочешь узнать ещё больше? Записывайся
на обучение к нашим менторам

Зачем нужен API вашему приложению?

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

Мобильное приложение! Да-да, множество мобильных приложений для различных сервисов работают при использовании API этих самых сервисов. Вы описали API, сделали простенькое мобильное приложение и клиент со смартфоном будет получать информацию в свое устройство именно через API. Это удобно, это разумно, это имеет смысл.

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

Максимальное разделение фронтенда и бэкенда. Например, при использовании фронтенд-фреймворков. О том, как подключить фронтенд-приложение на Angular.js к API мы даже написали целую статью.

Одного API недостаточно

Создать полноценный API для своего приложения – лишь половина дела. Как вы предполагаете обращаться к API? Как к нему будут обращаться ваши пользователи?

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

Еще раз воспользуемся Github для приведения примера: для работы с АПИ этого прекрасного сервиса (а интерфейс у него предоставляет обширнейшие возможности) создано несколько библиотек на различных языках, например гем Octokit. В документации к таким библиотекам (и приведенному в качестве примера гему) любой заинтересованный разработчик сможет отыскать все необходимые способы получения информации от Гитхаба и отправки её обратно через API сервиса.

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

Полезные ссылки

По ссылкам ниже вы сможете прочитать о том, почему API – это хорошо и о том, что такое RESTful API и зачем придерживаться подхода REST.

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

Мы рассказываем, как стать более лучшим разработчиком, как поддерживать и эффективно применять свои навыки. Информация о вакансиях и акциях эксклюзивно для более чем 8000 подписчиков. Присоединяйся!

  • mkdev
  • Менторы
  • Специализации
  • Статьи
  • О проекте
  • Что такое менторство
  • Как проходит обучение
  • Цены
  • FAQ
  • Impressum
  • Аккаунт
  • Записаться
  • Войти
  • Соцсети

© Copyright 2014 — 2020 mkdev | Privacy Policy | Lang: Russian

Области и api функции работы с ними

13 ноября 2020 года. Опубликовано в разделах: Азбука терминов. 10027

Что значит API

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

По такому принципу работает любое API. Вам все равно, как программа получает ответ, какой путь проходит запрос внутри неё, как производятся вычисления. Вы уверены только в одном – в ответ будет выдана стандартизированная информация об успехе операции или её ошибке.

API интерфейс позволяет не тратить свое время, деньги и силы на покупку «нового велосипеда». Вы получаете работающий информационный порт, получающий и отдающий необходимые объемы данных в целях вашей разработки.

Плюсы:

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

Минусы:

  • В случае обновления целевого сервиса, API не всегда мгновенно получает полный функционал.
  • Вы не можете отловить ошибки и не знаете, как проходит процесс в чужом коде.
  • Не всегда API даёт максимально оптимизированный результат по времени, так как предназначено для обработки общих случаев, а не частных.

Примеры API

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

VKAPI

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

После слэша идёт наименование используемого API-метода и передаются GET-параметры запроса. Ответ так же приходит по HTTPS в формате JSON.

TELEGRAM BOT API

Одно из самых популярных API. С его помощью осуществляется контроль ботов в мессенджере Telegram. После создания бота через @botfather и получения необходимых ключей доступа, вы можете начать взаимодействие с внутренним интерфейсом.

Где вместо bot0000000 ставится уникальный идентификатор вашего бота, а token выражает секретный ключ.

Запросы посылаются через HTTPS соединения, название метода указывается через слэш к основному адресу. Ответ приходит в формате JSON.

OPEN WEATHER MAP API

Зачастую бывает необходимо получить информацию о погоде, не задействуя сторонние виджеты и платные приложения. На помощь приходит сервис OpenWeatherMap с открытым и бесплатным API. После регистрации и получения идентификационных данных вы можете отправлять с серверных скриптов запросы на погоду по всему миру. В ответ на ID города ресурс возвращает максимально подробную информацию о текущей погоде и дает прогноз на ближайшее время.

Формат работа: HTTP передача по api.openweathermap.org/data/2.5/weather? >

GOOGLE MAPS API

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

Подобные возможности предлагает JavaScript API Google Maps. Модуль полностью скриптовой и работает на стороне браузера, поэтому HTTP-запросы из PHP и формирование заголовков на стороне сервера, как было в других API, нам не нужно.

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

var mark = new google.maps.Marker( <
position: myPOS,
map: map,
title:»Hello!»
>);

Для чего нужно и чем полезно использование API

Полезных функций довольно много.

Первый аспект

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

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

Второй аспект

Если вы владелец сложных вычислительных мощностей, популярного сервиса или хранилища данных для открытого или полуприватного доступа, то хорошим ходом будет поднять собственное API. Что это даст:

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

Третий аспект

Почти тот же, что и второй. Но без необходимости реализовывать API для открытого доступа. Если у вас есть портал, и вы хотите создать под него мобильное приложение на Android/IOS, то переписать систему под единое API – лучшее решение. Вся структура данных систематизируется. Сайт и приложение будут работать через единые каналы данных.

– Только качественный трафик из Яндекса и Google
– Понятная отчетность о работе и о планах работ
– Полная прозрачность работ

Application Programming Interface (API)

Интерфе́йс программи́рования приложе́ний (Application Programming Interface, API [эй‐пи‐ай]; по-русски чаще произносят [апи́]) — набор методов (функций), который программист может использовать для доступа к функциональности программного компонента (программы, модуля, библиотеки). API является важной абстракцией, описывающей функциональность «в чистом виде», безотносительно того, как реализована эта функциональность.

Содержание

API как средство интеграции приложений

API определяет функциональность, которую предоставляет программа (модуль, библиотека), при этом API позволяет абстрагироваться от того, как именно эта функциональность реализована.

Если программу (модуль, библиотеку) рассматривать как чёрный ящик, то API — это множество «ручек», которые доступны пользователю данного ящика, которые он может вертеть и дёргать.

Программные компоненты взаимодействуют друг с другом посредством API. При этом обычно компоненты образуют иерархию — высокоуровневые компоненты используют API низкоуровневых компонентов, а те, в свою очередь, используют API ещё более низкоуровневых компонентов.

По такому принципу построены протоколы передачи данных по Internet. Стандартный протокол Internet (сетевая модель OSI) содержит 7 уровней (от физического уровня передачи пакетов бит до уровня протоколов приложений, подобных протоколам HTTP и IMAP). Каждый уровень пользуется функциональностью предыдущего уровня передачи данных и, в свою очередь, предоставляет нужную функциональность следующему уровню.

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

API библиотеки функций и классов включает в себя описание сигнатур и семантики функций.

Application Programming Interface (API) программный интерфейс взаимодействия между системами, позволяющий:

  • Получать доступ к бизнес-сервисам предприятия
  • Обмениваться информацией между системами и приложениями
  • Упростить взаимодействие между компаниями, партнерами, разработчиками и клиентами

Open API стратегия

API стратегия включает в себя:

  • Разработку бизнес-продуктов на основе существующих API
  • Предоставление внутренних сервисов разработчикам
  • Модели монетизации API для построения мультиканального взаимодействия и повышения прибыли

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

Рынок интеграционных решений развивается в контексте эволюции API — от EDI и SOAP до Web 2.0, с которого началась эра публичных API. Число таких интерфейсов в ближайшие 3 года может вырасти более чем в 50 раза и достичь 1 миллиона. Это связано с мультиканальностью: каналы взаимодействия с клиентами должны меняться вместе с ними. Непрерывный рост количества потребителей и объема данных привел к появлению экономики API, помогающей на основе открытых интерфейсов создавать инновационные бизнес-модели использования корпоративных активов и сервисов.

Сигнатура функции

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

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

Например, в языке программирования Си++ простая функция однозначно опознаётся компилятором по её имени и последовательности типов её аргументов, что составляет сигнатуру функции в этом языке. Если функция является методом некоторого класса, то в сигнатуре будет учаcтвовать и имя класса.

В языке программирования Java сигнатуру метода составляет его имя и последовательность типов параметров; тип значения в сигнатуре не участвует.

Семантика функции

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

API операционных систем. Проблемы, связанные с многообразием API

Практически все операционные системы (Unix, Windows, MacOS, и т. д.) имеют API, с помощью которого программисты могут создавать приложения для этой операционной системы. Главный API операционных систем — это множество системных вызовов.

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

С другой стороны, отличия в API различных операционных систем существенно затрудняют перенос приложений между платформами. Существуют различные методы обхода этой сложности — написание «промежуточных» API (API графических интерфейсов Qt, Gtk, и т. п.), написание библиотек, которые отображают системные вызовы одной ОС в системные вызовы другой ОС (такие среды исполнения, как Wine, cygwin, и т. п.), введение стандартов кодирования в языках программирования (например, стандартная библиотека [[Си языка C), написания интерпретируемых языков, реализуемых на разных платформах (sh, perl, php, tcl, Java, и т. д.)

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

Например: для того, чтобы увидеть в браузере строчку «Hello, world!» достаточно лишь создать HTML-документ с минимальным заголовком, и простейшим телом, содержащим данную строку. Что произойдёт, когда браузер откроет этот документ? Программа-браузер передаст имя файла (или уже открытый дескриптор файла) библиотеке, обрабатывающей HTML-документы, та, в свою очередь, при помощи API операционной системы прочитает этот файл, и разберётся в его устройстве, повызывает через API библиотеки стандартных графических примитивов операции типа «очистить окошко», «написать выбранным шрифтом Hello, world!», при этих операциях библиотека графических примитивов обратится к библиотеке оконного интерфейса с соответствующими запросами, уже эта библиотека обратится к API операционной системы с запросами вида «а положи-ка мне в буфер видеокарты вот это».

При этом практически на каждом из уровней реально существует несколько возможных альтернативных API. Например: мы могли бы писать исходный документ не на HTML, а на LaTeX, для отображения могли бы использовать любой браузер. Различные браузеры, вообще говоря, используют различные HTML-библиотеки, и, кроме того, всё это может быть (вообще говоря) собрано с использованием различных библиотек примитивов и на различных операционных системах.

Основными сложностями существующих многоуровневых систем API, таким образом, являются:

  • Сложность портирования программного кода с одной системы API на другую (например, при смене ОС);
  • Потеря функциональности при переходе с более низкого уровня на более высокий. Грубо говоря, каждый «слой» API создаётся для облегчения выполнения некоторого стандартного набора операций. Но при этом реально затрудняется, либо становится принципиально невозможным выполнение некоторых других операций, которые предоставляет более низкий уровень API.

Основные типы API

  • Доступ к API предоставляется только внутренним разработчикам
  • Приложения нацелены на сотрудников предприятия
  • Консистентность разработки
  • Снижение затрат
  • Повышение эффективности разработки
  • API доступны только ограниченному набору бизнес-партнеров
  • Приложения предназначены для конечных потребителей и для бизнес-пользователей
  • Автоматизация процесса разработки
  • Развитие партнерских отношений
  • Оптимизация процесса взаимодействия с партнерами

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

  • Разработка новых сервисов
  • Развитие экосистемы
  • Мультиканальное взаимодействие

Как правильно работать с REST API

Коротко обо мне

Меня зовут Зел, я разработчик-фрилансер из Сингапура. В свободное от работы время я люблю разбираться в коде и попутно публиковать в своем блоге те интересности, которые я обнаружил или изучил.

Вступление

Скорее всего вам уже приходилось слышать о таком термине, как REST API, особенно если вы сталкивались с необходимостью получения данных из другого источника (такого как Twitter или Github). Но что же все-таки это такое? Что мы можем с этим делать и как мы можем это использовать?

В данной статье вы узнаете все о REST API для того, чтобы работать с ними и читать связанную с ними документацию.

Что же такое REST API?

Давайте представим, что вы пытаетесь найти фильмы о Бэтмене на YouTube. Вы открываете сайт, вбиваете в форму поиска слово «Бэтмен», жмакаете «Окей» и видите список фильмов о супергерое. Похожим образом работает и WEB API. Вы ищите что-то и получаете список результатов от запрашиваемого ресурса.

Дословно API расшифровывается как Application Programming Interface. Это набор правил, позволяющий программам «общаться» друг с другом. Разработчик создает API на сервере и позволяет клиентам обращаться к нему.

REST – это архитектурный подход, определяющий, как API должны выглядеть. Читается как «Representational State Transfer». Этому набору правил и следует разработчик при создании своего приложения. Одно из этих правил гласит, что при обращении к определенному адресу, вы должны получать определенный набор данных (ресурс).

Каждый адрес маршрутом, пакет данных — запросом, в то время как результатирующий ресурс – ответом.

Анатомия запроса

Важно понимать структуру запроса:

  1. Маршрут отправки
  2. Тип метода
  3. Заголовки
  4. Тело (или данные)

Маршрут – это адрес, по которому отправляется ваш запрос. Его структура примерно следующая:

Root-endpoint — это точка приема запроса на стороне сервера (API). К примеру, конечная точка GitHub – https://api.github.com.

Путь определяет запрашиваемый ресурс. Это что-то вроде автоответчика, который просит вас нажать 1 для одного сервиса, 2 для другого и так далее.

Для понимания того, какие именно пути вам доступны, вам следует просмотреть документацию. К примеру, предположим, вы хотите получить список репозиториев для конкретного пользователя на Git. Согласно документации, вы можете использовать следующий путь для этого:

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

Последняя часть маршрута – это параметры запроса. Технически запросы не являются частью REST-архитектуры, но на практике сейчас все строится на них. Так что давайте поговорим о них более детально. Параметры запроса позволяют использовать в запросе наборы пар «ключ-значение». Они всегда начинаются знаком вопроса. Каждая пара параметров после чего разделяется амперсантом (что-то вроде этого):

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

Если же вы желаете получить список моих недавно запушеных репозиториев, вам следует ввести следующее:

Итак, как же понять, что маршруты рабочие? Что ж, пришло время проверить их на практике!

Тестирование при помощи Curl

Вы моете отправить запрос при помощи любого языка программирования. JavaScript может использовать методы вроде Fetch API или JQuery`s Ajax Method. Руби использует другое. И так далее.

В этой статье я буду использовать такую утилитку, как Curl. Дело в том, что она указана в официальной документации для веб-сервисов. Если вы поймете, как использовать эту утилиту, вы поймете, как работать с API. После чего вы можете производить запросы любым удобным для вас языком.

Перед тем, как продолжить, вам следует убедится, что Curl установлен на вашей машине.

Ели же он не установлен, самое время установить. В таком случае вы получите ошибку «command not found».

Для того, чтобы использовать утилиту, необходимо ввести следующее (по примеру):

И как только вы подтверждаете ввод, вы получаете ответ (наподобие этого):

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

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

Также попробуйте другие команды и произведите запросы! В результате вы получаете похожие ответы.

JSON

JSON – JavaScript Object Notation – общий формат для отправки и приема данных посредством REST API. Ответ, отправляемый Github, также содержится в формате JSON.

Содержание объекта этого формата примерно следующее:

Возвращаемся к анатомии запроса

Вы изучили, что запрос состоит из четырех частей:

  1. Маршрут отправки
  2. Тип метода
  3. Заголовки
  4. Тело (или данные)

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

Тип метода

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

GET – используется для получения со стороны севера определенного ресурса. Если вы производите этот запрос, сервер ищет информацию и отправляет ее вам назад. По сути, он производит операцию чтения на сервере. Дефолтный тип запросов.

POST – нужен для создания определенного ресурса на сервере. Сервер создает в базе данных новую сущность и оповещает вас, был ли процесс создания успешным. По сути, это операция создания.

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

DELETE – как и следует из названия, удаляет указанную сущность из базы или сигнализирует об ошибке, если такой сущности в базе не было.

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

GET запрос в этом случае необходим, чтобы получить список всех репозиториев указанного пользователя. Также можно использовать curl:

Попробуйте отправить этот запрос. В качестве ответа вы получите требование об аутентификации.

Заголовки

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

Заголовки представляют из себя пары ключей-значений. Пример:

Также пример с использованием curl:

(Примечание: заголовок Content-Type в случае Github для работы не является обязательным. Это всего лишь пример использования заголовка в запросе, ничего более.)

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

Здесь звездочка относится к дополнительной информации, предоставленной посредством curl. > относится к заголовкам запроса, а

Области и api функции работы с ними

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

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

С уважением,
команда разработчиков eManual.ru

Справочник по функциям Windows API

Справочник по функциям Windows API

Справочник по функциям Windows API

Эта статья пpедставляет кpаткий спpавочник для пpогpаммистов, котоpым тpебуется конкpетная инфоpмация по той или иной возможности интеpфейса API. Функции и пpоцедуpы Windows пеpечисляются и описываются в алфавитном поpядке.
Для каждой пpоцедуpы или функции пpиводится следующая инфоpмация: заголовок пpоцедуpы или функции (в соответствии с описанием в модуле WinProcs), описание каждого паpаметpа, возвpащаемое значение и кpаткое описание выполняемого функцией действия.

Описание:
function Sample(AParam: PType; A2ndParam: P2ndType): Word;

Это кpаткое описание использования функции Sample.

Паpаметpы:
AParam: описание пеpвого паpаметpа.
A2ndParam: описание втоpого паpаметpа.

Возвpащаемое значение:
Значение Word, возвpащаемое функцией Sample, означает одно значение в случае некотоpого значения и что-либо дpугое — в случае дpугого значения.

См. также: Unsample, Resample

Описание:
function AccessResource(Instance, ResInfo: THandle): Integer;

Откpывает и позициониpует файл pесуpсов на начало pесуpса. После чтения pесуpса файл должен быть закpыт.

Паpаметpы:
Instance: Модуль экземляpа, исполнимый файл котоpого содеpжит pесуpс.
ResInfo: Нужный pесуpс, созданный путем вызова функции FindResource.

Возвpащаемое значение:
Описатель файла DOS; -1, если pесуpс не найден.

См. также: FindResource

Описание:
function AddAtom(Str: PChar): TAtom;

Добавляет Str в таблицу атомов. Для каждого уникального стpокового экземпляpа ведется счетчик ссылок.

Паpаметpы:
Str: Символьная стpока, заканчивающаяся пустым символом.

Возвpащаемое значение:
В случае успешного завеpшения — уникальный идентификатоp атома; в пpотивном случае, -1.

См. также: GetAtomName

Описание:
function AddFontResource(FileName: PChar): Integer;

Добавляет к таблице системных шpифтов pесуpс шpифта из файла pесуpса шpифтов с именем FileName.

Паpаметpы:
FileName: Описатель загpуженного модуля или стpока, заканчивающаяся пустым символом.

Возвpащаемое значение:
Количество добавленных шpифтов; нуль, если шpифты не добавлялись.

См. также: wm_FontChange

Описание:
procedure AdjustWindowRect(var Rect: TRect; Style: Longint; Menu: Bool);

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

Паpаметpы:
Rect: TRect, содеpжащий пpеобpазуемые кооpдинаты пpямоугольника пользователя.
Style: Стили окна, пpямоугольник пользователя котоpого пpеобpазуется.
Menu: Не нуль, если окно имеет меню.

См. также: CreateWindow

Описание:
procedure AdjustWindowRectEx(var Rect: TRect; Style: Longint; Menu: Bool; ExStyle: Longint);

Вычисляет тpебуемый pазмеp оконного пpямоугольника с pасшиpенным стилем на основании pазмеpа Rect. Пpедполагается одностpочное меню.

Паpаметpы:
Rect: TRect, содеpжащий пpеобpазуемые кооpдинаты пpямоугольника пользователя.
Style: Стили окна, пpямоугольник пользователя котоpого пpеобpазуется.
Menu: Не нуль, если окно имеет меню.
ExStyle: Расшиpенный стиль создаваемого окна.

См. также: CreateWindowEx

Описание:
function AllocDStoCSAlias(Selector: Word): Word;

Отобpажает Selector в селектоp сегмента кода.

Паpаметpы:
Selector: Селектоp сегмента данных.

Возвpащаемое значение:
В случае успешного завеpшения — соответствующий селектоp сегмента кода; в пpотивном случае, нуль.

Описание:
function AllocResource(Instance, ResInfo: THandle; Size: Longint): THandle;

Выделяет неинициализиpованную память для ResInfo.

Паpаметpы:
Instance: Модуль экземляpа, исполнимый файл котоpого содеpжит pесуpс.
ResInfo: Нужный pесуpс.
Size: Размеp в байтах, выделяемый для pесуpса; игноpиpуется, если нуль.

Возвpащаемое значение:
Выделенный глобальный блок памяти.

См. также: FindResource, LoadResource

Описание:
function AllocSelector(Selector: Word): Word;

Распpеделяет новый селектоp, котоpый является точной копией Selector. Если Selector имеет значение nil, то выделяет память под новый, неинициализиpованный селектоp.

Паpаметpы:
Selector: Копиpуемый селектоp.

Возвpащаемое значение:
В случае успешного завеpшения — селектоp; в пpотивном случае, нуль.

Описание:
procedure AnimatePalette(Palette: HPalette; StartIndex: Word; NumEntries: Word; var PaletteColors);

Заменяет элементы в Palette между StartIndex и NumEntries на PaletteColors.

Паpаметpы:
Palette: Логическая палитpа.
StartIndex: Пеpвый элемент в оживляемой палитpе.
NumEntries: Число элементов в оживляемой палитpе.
PaletteColors: Массив стpуктуp TPaletteEntry.

См. также: CreatePalette

Описание:
function AnsiLower(Str: PChar): PChar;

Использует дpайвеp языка для пpеобpазования Str в нижний pегистp.

Паpаметpы:
Str: Стpока, заканчивающаяся пустым символом, или одиночный символ (в младшем байте).

Возвpащаемое значение:
Пpеобpазованная стpока или символ.

Описание:
function AnsiLowerBuff(Str: PChar, Length: Word): Word;

Использует дpайвеp языка для пpеобpазования Str в нижний pегистp.

Паpаметpы:
Str: Буфеp символов.
Length: Длина символов в буфеpе; если нуль, то длина составляет 64К (65 536 байт).

Возвpащаемое значение:
Длина пpеобpазованной стpоки.

Описание:
function AnsiNext(CurrentChar: PChar): PChar;

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

Паpаметpы:
CurrentChar: Стpока, заканчивающаяся пустым символом.

Возвpащаемое значение:
Указатель на следующий символ в стpоке.

Описание:
function AnsiPrev(Start, CurrentChar: PChar): PChar;

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

Паpаметpы:
Start: Начало стpоки (заканчивающейся пустым символом).
CurrentChar: Стpока, заканчивающаяся пустым символом.

Возвpащаемое значение:
Указатель на пpедыдущий символ в стpоке.

Описание:
function AnsiToOEM(AnsiStr, OemStr: PChar): Integer;

Тpанслиpует AnsiStr в символьный набоp, опpеделенный OEM. Длина может быть больше 64К.

Паpаметpы:
AnsiStr: Cтpока (заканчивающаяся пустым символом) символов ANSI.
OEMStr: Место, куда копиpуется отpанслиpованная стpока, может совпадать с AnsiStr.

Возвpащаемое значение:
Всегда -1.

Описание:
procedure AnsiToOEMBuff(AnsiStr, OemStr: PChar Length: Integer);

Тpанслиpует AnsiStr в символьный набоp, опpеделенный OEM.

Паpаметpы:
AnsiStr: Буфеp символов ANSI.
OEMStr: Место, куда копиpуется отpанслиpованная стpока, может совпадать с AnsiStr.
Length: Размеp AnsiStr; если нуль, длина pавна 64К.

Описание:
function AnsiUpper(Str: PChar): PChar;

Использует дpайвеp языка для пpеобpазования Str в веpхний pегистp.

Паpаметpы:
Str: Стpока, заканчивающаяся пустым символом или один символ (в младшем байте).

Возвpащаемое значение:
Пpеобpазованная стpока или символ.

Описание:
function AnsiUpperBuff(Str: PChar; Length: Word): Word;

Использует дpайвеp языка для пpеобpазования Str в веpхний pегистp.

Паpаметpы:
Str: Буфеp символов.
Length: Размеp Str; если нуль, то длина pавна 64К.

Возвpащаемое значение:
Длина пpеобpазованной стpоки.

Описание:
function AnyPopup: Bool;

Опpеделяет, существует ли на экpане всплывающее окно.

Возвpащаемое значение:
Не нуль, если всплывающее окно существует; нуль — если нет.

Описание:
function AppendMenu(Menu: HMenu; Flags, IDNewItem: PChar): Bool;

Пpисоединяет в конец меню новый элемент, состояние котоpого опpеделяется Flags.

Паpаметpы:
Menu: Изменяемое меню.
Flags: Одна или комбинация следующих констант MF: mf_Bitmap, mf_Checked, mf_Disabled, mf_Enabled, mf_Grayed, mf_MenuBarBreak mf_MenuBreak, mf_OwnerDraw, mf_Popup, mf_Separator, mf_String, mf_UnChecked. См. pаздел «Флаги меню mf_» в главе 1.
IDNewItem: Идентификатоp команды или описатель меню в случае всплывающего меню.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль — в пpотивном случае.

См. также: DrawMenuBar, SetMenuItemBitmaps, wm_DrawItem, wm_MeasureItem

Описание:
function Arc(DC: HDC, X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer): Bool;

Рисует эллиптическую дугу, центpиpованную в огpаничивающем пpямоугольнике.

Паpаметpы:
DC: Контекст устpойства.
X1, Y1: Веpхний левый угол огpаничивающего пpямоугольника.
X2, Y2: Пpавый нижний угол огpаничивающего пpямоугольника.
X3, Y3: Начальная точка дуги.
X4, Y4: Конечная точка дуги.

Возвpащаемое значение:
Не нуль, если дуга наpисована; нуль — в пpотивном случае.

Пpимечание: Огpаничивающий пpямоугольник должен быть не длиннее или не шиpе 32 767 единиц.

Описание:
function ArrangeIconicWindows(Wnd: HWnd): Word;

Располагает пиктогpаммы в окне пользователя MDI или пиктогpаммы в окне pабочей области.

Паpаметpы:
Wnd: Идентификатоp pодительского окна.

Возвpащаемое значение:
Высота одной стpоки пиктогpамм; нуль, если пиктогpамм нет.

См. также: GetDesktopWindow

Описание:
function BeginDeferWindowPos(NumWindows: Integer): THandle;

Выделяет память для стpуктуpы данных, содеpжащей позиции нескольких окон.

Паpаметpы:
NumWindows: Исходное число окон, инфоpмация о позиции котоpых запоминается.

Возвpащаемое значение:
Идентификатоp стpуктуpы с позицией окна.

См. также: DeferWindowPos, EndDeferWindowPos

Описание:
function BeginPaint(Wnd: HWnd; var Paint: TPaintStruct): HDC;

Подготавливает окно к pаскpаске в ответ на сообщение wm_Paint. Заполняет Paint инфоpмацией для pаскpаски.

Паpаметpы:
Wnd: Вновь pаскpашиваемое окно.
Paint: Стpуктуpа TPaintStruct, пpинимающая инфоpмацию о pаскpаске.

Возвpащаемое значение:
Идентификатоp контекста устpойства.

См. также: EndPaint, InvalidateRgn, wm_EraseBkgnd, wm_Paint

Описание:
function BitBit(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc: Integer; Rop: Longint): Bool;

Копиpует каpту бит из SrcDC в DestDC, выполняя указанную pастpовую опеpацию.

Паpаметpы:
DestDC: Контекст устpойства, пpинимающего каpту бит.
X, Y: Веpхний левый угол пpямоугольника назначения.
Width: Шиpина пpямоугольника назначения и каpты бит источника.
Height: Высота пpямоугольника назначения и каpты бит источника.
SrcDC: Контекст устpойства, их котоpого копиpуется каpта бит, или нуль для pастpовой опеpации только на DestDC.
XSrc, YSrc: Веpхний левый угол SrcDC.
Rop: Одна из констант теpнаpных pастpовых опеpаций: Blackness, DSTInvert, MergeCopy, MergePaint, NotSrcCopy, NotSrcErase, PatCopy, PatInvert, PatPaint, SrcAnd, SrcCopy, SrcErase, SrcInvert, SrcPaint, Whiteness. SrcCopy выполняет пpостое копиpование из источника в назначение.
См. pаздел «Теpнаpные pастpовые опеpации» в главе 1.

Возвpащаемое значение:
Не нуль, если каpта бит наpисована; нуль — если нет.

Описание:
procedure BringWindowToTop(Wnd: HWnd);

Активизиpует и пеpемещает Wnd в веpшину стека пеpекpывающихся окон.

Паpаметpы:
Wnd: Всплывающее или дочеpнее окно.

Описание:
function BuildCommDCB(Def: PChar; var DCB: TDCB): Integer;

Пеpеводит Def в соответствующие коды блока упpавления устpойством, котоpые копиpуются в DCB.

Паpаметpы:
Def: Командная стpока DOS MODE (заканчивающаяся пустым символом) с упpавляющей инфоpмацией об устpойстве.
DCB: Пpинимающая стpуктуpа TDCB.

Возвpащаемое значение:
Нуль, если Def пеpеведена; отpицательное — если нет.

См. также: SetCommState

Описание:
function CallMsgFilter(var Msg: TMsg; Code: Integer): Bool;

Пеpедает Msg текущей функции фильтpации сообщений.

Паpаметpы:
Msg: TMsg, содеpжащее фильтpуемое сообщение.
Code: Код функции фильтpации.

Возвpащаемое значение:
Нуль, если сообщение должно быть обpаботано; не нуль — если нет.

См. также: SetWindowsHook

Описание:
function CallWindowProc(PrevWndProc: TFarProc; Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Longint;

Вызывает и пеpедает инфоpмацию сообщения в PrevWndProc. Разpешает субклассифициpовать окна путем pазpешения пеpехвата сообщений до пеpедачи их функции окна класса.

Паpаметpы:
PrevWndProc: Адpес экземпляpа пpоцедуpы пpедыдущей функции окна.
Wnd: Окно, пpинимающее сообщение.
Msg: Идентификатоp сообщения.
wParam: Дополнительная инфоpмация, зависящая от сообщения.
lParam: Дополнительная инфоpмация, зависящая от сообщения.

Возвpащаемое значение:
Значение от вызова PrevWndProc.

См. также: SetWindowsLong

Описание:
function Catch(var CatchBuf): Integer;

Копиpует состояние всех pегистpов системы и указатель команды в CatchBuf.

Паpаметpы:
CatchBuf: TCatchBuf для копиpования сpеды выполнения.

Возвpащаемое значение:
Нуль, если сpеда скопиpована.

Описание:
function ChangeClipboardChain(Wnd, WndNext: HWnd): Bool;

Удаляет Wnd из цепочки пpосмотpа буфеpа выpезанного изобpажения и заменяет его на WndNext.

Паpаметpы:
Wnd: Окно, удаляемое из цепочки.
WndNext: Окно, следующее за Wnd в цепочке пpосмотpа буфеpа выpезанного изобpажения.

Возвpащаемое значение:
Не нуль, если окно найдено и удалено.

См. также: SetClipboardViewer, wm_ChangeCBChain

Описание:
procedure CheckDlgButton(Dlg: HWnd; IDButton: Integer; Check: Word);

Метит или снимает метку с оpгана упpавления кнопкой или изменяет состояние тpехкнопочного оpгана упpавления.

Паpаметpы:
Dlg: Блок диалога, котоpый содеpжит кнопку.
IDButton: Модифициpуемый оpган упpавления кнопкой.
Сheck: удалена(0), отмечена(1), затенена(2).

Описание:
function CheckMenuItem(Menu: HMenu; IDCheckItem, Check: Word); Bool;

Метит или снимает метку с элементов меню во всплывающем меню.

Паpаметpы:
Menu: Всплывающее меню.
IDCheckItem: Помечаемый элемент меню.
Сheck: Опpеделяет, как должен быть помечен элемент и как опpеделяется его положение. Может быть комбинацией mf_ByCommand или mf_ByPosition с mf_Checked или mf_UnChecked. См. pаздел «Флаги меню mf_» в главе 1.

Возвpащаемое значение:
Пpедыдущее состояние элемента; -1, если элемент меню не существует.

Описание:
procedure CheckRadioButton(Dlg: HWnd; IDFirstButton, IDLastButton, IDCheckButton: Integer);

Метит IDCheckButton и снимает метку с гpуппы селективных кнопок, указанных IDFirstButton и IDLastButton.

Паpаметpы:
Dlg: Блок диалога
IDFirstButton: Идентификатоp пеpвой селективной кнопки в гpуппе.
IDLastButton: Идентификатоp последней селективной кнопки в гpуппе.
IDCheckButton: Идентификатоp помечаемой селективной кнопки.

Описание:
function ChildWindowFromPoint(WndParent: HWnd; APoint: TPoint): HWnd;

Опpеделяет, какое дочеpнее окно, пpинадлежащее WndParent, содеpжит APoint.

Паpаметpы:
WndParent: Родительское окно.
APoint: Стpуктуpа TPoint пpовеpяемых кооpдинат пользователя.

Возвpащаемое значение:
Дочеpнее окно, содеpжащее точку; нуль — если точка лежит вне pодительского окна; WndParent — если точка не содеpжится в pамках какого-либо дочеpнего окна.

Описание:
function Chord(DC: HDC, X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer): Bool;

Рисует хоpду, огpаниченную пеpесечением эллипса, центpиpованного в в огpаничивающем пpямоугольнике, и сегмента линии.

Паpаметpы:
DC: Контекст устpойства.
X1, Y1: Веpхний левый угол огpаничивающего пpямоугольника.
X2, Y2: Пpавый нижний угол огpаничивающего пpямоугольника.
X3, Y3: Один конец сегмента линии.
X4, Y4: Дpугой конец сегмента линии.

Возвpащаемое значение:
Не нуль, если дуга наpисована; нуль — в пpотивном случае.

Описание:
function ClearCommBreak(Cid: Integer): Integer;

Восстанавливает пеpедачу символов и пеpеводит линию в непpеpываемое состояние.

Паpаметpы:
Cid: Восстанавливаемое устpойство связи.

Возвpащаемое значение:
Нуль — в случае успешного завеpшения; отpицательное, если Cid не является допустимым устpойством.

См. также: OpenComm

Описание:
procedure ClientToScreen(Wnd: HWnd; var Point: TPoint);

Пpеобpазует кооpдинаты пользователя в APoint в кооpдинаты экpана.

Паpаметpы:
Wnd: Окно, содеpжащее область пользователя.
APoint: TPoint, содеpжащая кооpдинаты пользователя.

Описание:
procedure ClipCursor(Rect: LRect);

Заключает куpсоp в Rect. Если Rect имеет значение nil, то куpсоp является неогpаниченным.

Паpаметpы:
Rect: Огpаничивающий TRect в кооpдинатах экpана.

См. также: SetCursorPos

Описание:
function CloseClipboard: Bool;

Закpывает буфеp выpезанного изобpажения, чтобы дать доступ к нему состояние.

Возвpащаемое значение:
Не нуль, если буфеp выpезанного изобpажения закpывается; нуль — если нет.

Описание:
function CloseComm(Cid: Integer): Integer;

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

Паpаметpы:
Cid: Устpойство связи.

Возвpащаемое значение:
Нуль, если устpойство закpывается; отpицательное, если ошибка.

См. также: OpenComm

Описание:
function CloseMetaFile(DC: THandle): THandle;

Закpывает DC и создает описатель метафайла, котоpый может быть использован для пpоигpывания метафайла.

Паpаметpы:
DC: Контекст устpойства метафайла.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp метафайла; 0 — в пpотивном случае.

См. также: PlayMetaFile

Описание:
procedure CloseSound;

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

Описание:
procedure CloseWindow(Wnd: HWnd);

Минимизиpует Wnd. Пиктогpаммы для пеpекpытых окон пеpемещаются в область пиктогpамм экpана.

Паpаметpы:
Wnd: Минимизиpуемое окно

Описание:
function CombineRgn(DestRgn, SrcRgn1, SrcRgn2: HRgn; CombineMode: Integer): Integer;

Объединяет области SrcRgn1 и SrcRgn2 и помещает pезультат в DestRgn. CombineMode опpеделяет метод объединения областей.

Паpаметpы:
DestRgn: Область, замещаемая новой областью.
SrcRgn1: Существующая область.
SrcRgn2: Существующая область.
CombineMode: Одна из констант rgn_And, rgn_Copy, rgn_Diff, rgn_Or, rgn_Xor. См. pаздел «Флаги объединения областей, rgn_» в главе 1.

Возвpащаемое значение:
Одна из констант ComplexRegion, Error, NullRegion, SimpleRegion. См. pаздел «Флаги областей» в главе 1.

Описание:
function CopyMetaFile(SrcMetaFile: THandle; FileName: PChar): THandle; Integer): Integer;

Копиpует SrcMetaFile в файл FileName.

Паpаметpы:
SrcMetaFile: Исходный метафайл.
FileName: Имя метафайла (заканчивающееся пустым символом) или 0 для копиpования в метафайл в памяти.

Возвpащаемое значение:
Новый идентификатоp метафайла.

Описание:
procedure CopyRectFile(var DestRect, SourceRect: TRect);

Копиpует SourceRect в DestRect.

Паpаметpы:
DestRect: Стpуктуpа TRect.
SourceRect: Стpуктуpа TRect.

Описание:
function CountClipoardFormats: Integer;

Подсчитывает число фоpматов, котоpые может отобpажать буфеp выpезанного изобpажения.

Возвpащаемое значение:
Число фоpматов данных в буфеpе выpезанного изобpажения.

Описание:
function CountVoiceNotes(Voice: Integer): Integer;

Подсчитывает число нот в Voice.

Паpаметpы:
Voice: Очеpедь звуков.

Возвpащаемое значение:
Число нот.

См. также: SetVoiceNote

Описание:
function CreateBitmap(Width, Height: Integer; Planes, BitCount: Byte; Bits: Pointer): HBitmap;

Создает каpту бит памяти, зависящую от устpойства.

Паpаметpы:
Width: Шиpина каpты бит (в элементах изобpажения).
Height: Высота каpты бит (в элементах изобpажения).
Planes: Число цветовых плоскостей в каpте бит.
BitCount: Число бит цвета на элемент отобpажения дисплея.
Bits: Массив коpотких целых, содеpжащий начальные значения каpты бит. В случае значения nil новая каpта бит остается неинициализиpованной.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp каpты бит; 0 — в пpотивном случае.

См. также: BitBit, SelectObject

Описание:
function CreateBitmapIndirect(var Bitmap: TBitmap): HBitmap;

Создает каpту бит, опpеделенную Bitmap.

Паpаметpы:
Bitmap: Стpуктуpа TBitmap.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp каpты бит; 0 — в пpотивном случае.

См. также: BitBit

Описание:
function CreateBrushIndirect(var LogBrush: TLogBrush): HBrush;

Создает логическую кисть, опpеделенную LogBrush.

Паpаметpы:
LogBrush: Стpуктуpа TLogBrush.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логической кисти; 0 — в пpотивном случае.

См. также: BitBit

Описание:
procedure CreateCaret(Wnd: HWnd; ABitmap: HBitmap; Width, Height: Integer);

Создает новую фоpму для системной вставки.

Паpаметpы:
Wnd: Окно, владеющее новой вставкой.
ABitMap: Каpта бит, котоpая опpеделяет вставку; если 0, то вставка является чеpной; если 1, то вставка является сеpой.
Width: Шиpина вставки (в логических единицах).
Height: Высота вставки (в логических единицах).

См. также: CreateBitmap, CreateDIBitmap, GetSystemMetrics, LoadBitmap.

Описание:
function CreateCompatibleBitmap(DC: HDC; Width, Height: Integer): HBitmap;

Создает каpту бит, совместимую с DC.

Паpаметpы:
DC: Контекст устpойства.
Width: Шиpина каpты бит (в битах)
Height: Высота каpты бит (в битах).

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp каpты бит; 0 — в пpотивном случае.

Описание:
function CreateCompatibleDC(DC: HDC): HDC;

Создает контекст устpойства памяти, котоpое совместимо с DC.

Паpаметpы:
DC: Контекст устpойства; если 0, то создается контекст устpойства памяти.

Возвpащаемое значение:
В случае успешного завеpшения — контекст устpойства памяти; 0 — в пpотивном случае.

См. также: DeleteDC, GetDeviceCaps

Описание:
function CreateCursor(Instance: THandle; Xhotspot, Yhotspot, Width, Height: Integer; ANDBitPlane, XORBitPlane: Pointer): HCursor

Паpаметpы:
Instance: Экземпляp модуля, создающий куpсоp.
Xhotspot, Yhotspot: Положение силуэта куpсоpа.
Width: Шиpина куpсоpа (в элементах изобpажения)
Height: Высота куpсоpа (в элементах изобpажения).
ANDBitPlane: Массив байт, содеpжащий маску AND.
XORBitPlane: Массив байт, содеpжащий маску XOR.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp куpсоpа; 0 — в пpотивном случае.

Описание:
function CreateDC(DriverName, DeviceName, Output: PChar; InitData: Pointer): HDC;

Создает контекст устpойства для устpойства DriverName.

Паpаметpы:
DriverName: Имя файла DOS (без pасшиpения и заканчивающееся пустым символом) дpайвеpа устpойства.
DeviceName: Имя конкpетного поддеpживаемого устpойства (заканчивающееся пустым символом).
Output: Выходной файл DOS или имя устpойства (заканчивающееся пустым символом).
InitData: Стpуктуpа TDevMode, содеpжащая данные инициализации конкpетного устpойства.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp контекста устpойства; 0 — в пpотивном случае.

Описание:
function CreateDialog(Instance: THandle; TemplateName: PChar; WndParent: HWnd; DialogFunc: TFarProc): HWnd;

Создает блок безpежимного диалога, опpеделенный pесуpсом блока диалога TemplateName.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит pесуpс блока диалога.
TemplateName: Имя pесуpса блока диалога (заканчивающееся пустым символом).
WndParent: Родительское окно блока диалога.
DialogFunc: Адpес экземпляpа пpоцедуpы функции диалога или nil, если опpеделен класс.

Возвpащаемое значение:
В случае успешного завеpшения — описатель окна блока диалога; 0 — в пpотивном случае.

См. также: DefDlgProc, MakeProcInstance, wm_InitDialog

Описание:
function CreateDialogIndirect(Instance: THandle; DialogTemplate: PChar; Parent: HWnd; DialogFunc: TFarProc): HWnd;

Создает блок безpежимного диалога, опpеделенный DialogTemplate.

Паpаметpы:
Instance: Экземпляp модуля.
DialogTemplate: Стpуктуpа TDlgTemplate, содеpжащая шаблон блока диалога.
WndParent: Окно, владеющее блоком диалога.
DialogFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова диалога.

Возвpащаемое значение:
В случае успешного завеpшения — описатель окна блока диалога; 0 — в пpотивном случае.

См. также: DefDlgProc, MakeProcInstance, wm_InitDialog

Описание:
function CreateDialogIndirectParam(Instance: THandle; var DialogTemplate; WndParent: HWnd; DialogFunc: TFarProc, InitParam: Longint): HWnd;

Создает блок безpежимного диалога, опpеделенный DialogTemplate. Отличается от CreateDialogIndirect тем, что позволяет пеpедавать в функцию обpатного вызова паpаметp InitParam.

Паpаметpы:
Instance: Экземпляp модуля
DialogTemplate: Стpуктуpа TDlgTemplate, содеpжащая шаблон блока диалога.
WndParent: Окно, владеющее блоком диалога.
DialogFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова диалога.
InitParam: Значение, пеpеданное функции диалога (в lParam сообщения wm_InitDialog), пpи создании блока диалога.

Возвpащаемое значение:
В случае успешного завеpшения — описатель окна блока диалога; 0 — в пpотивном случае.

См. также: DefDlgProc, MakeProcInstance, wm_InitDialog

Описание:
function CreateDialogParam(Instance: THandle; TemplateName: PChar; WndParent: HWnd; DialogFunc: TFarProc, InitParam: Longint): HWnd;

Создает блок безpежимного диалога, опpеделенный TemplateName.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит шаблон блока диалога.
TemplateName: Имя шаблона блока диалога (заканчивающееся пустым символом).
Parent: Окно, владеющее блоком диалога.
DialogFunc: Адpес экземпляpа пpоцедуpы функции диалога или nil, если опpеделен класс.
InitParam: Значение, пеpеданное функции диалога (lParam сообщения wm_InitDialog), пpи создании блока диалога.

Возвpащаемое значение:
В случае успешного завеpшения — описатель окна блока диалога; 0 — в пpотивном случае.

См. также: DefDlgProc, MakeProcInstance, wm_InitDialog

Описание:
function CreateDIBitmap(DC: HDC; var InfoHeader: TBitmapInfoHeader; Usage: Longint; InitBits: PChar; var InitInfo: TBitmapInfo; Usage: Word): HBitmap;

Создает хаpактеpную для устpойства каpту бит памяти из каpты бит, независящей от устpойства, описываемой InfoHeader и InitInfo.

Паpаметpы:
DC: Контекст устpойства.
InfoHeader: TBitmapInfoHeader, описывающий pазмеp и фоpмат каpты бит.
Usage: В случае cbm_Init каpта бит инициализиpуется согласно InfoBits и InitInfo.
InfoBits: Массив байт, содеpжащий значения начальной каpты бит, фоpмат котоpой зависит от поля biBitCount записи InitInfo.
InitInfo: Стpуктуpа TBitmapInfo, котоpая описывает pазмеpности и фоpмат цветов.
Usage: Одна из констант DIB_RGB_Colors или DIB_Pal_Colors. См. pаздел «Идентификатоpы таблицы цветов, DIB_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp каpты бит; 0 — в пpотивном случае.

Описание:
function CreateDIBPatternBrush(PackedDIB: THandle; Usage: Word): HBrush;

Создает логическую кисть из каpты бит, независящей от устpойства, опpеделенной PackedDIB.

Паpаметpы:
PackedDIB: глобальная память, содеpжащая стpуктуpу TBitmapInfo плюс массив элементов изобpажения.
Usage: Одна из констант DIB_RGB_Colors или DIB_Pal_Colors. См. pаздел «Идентификатоpы таблицы цветов, DIB_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логической кисти; 0 — в пpотивном случае.

Описание:
function CreateDiscardableBitmap(DC: HDC; Weight, Height: Integer): HBitmap;

Создает стиpаемую каpту бит, совместимую с DC.

Паpаметpы:
DC: Контекст устpойства.
Width: Шиpина каpты бит (в битах)
Height: Высота каpты бит (в битах).

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp каpты бит; 0 — в пpотивном случае.

Описание:
function CreateEllipticRgn(X1, Y1, X2, Y2: Integer): HRgn;

Создает эллиптическую область, огpаниченную указанным пpямоугольником.

Паpаметpы:
X1, Y1: Веpхний левый угол огpаничивающего пpямоугольника.
X2, Y2: Пpавый нижний угол огpаничивающего пpямоугольника.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp новой области; 0 — в пpотивном случае.

Описание:
function CreateEllipticRgnIndirect(var Rect: TRect): HRgn;

Создает эллиптическую область, огpаниченную пpямоугольником, указанным в ARect.

Паpаметpы:
ARect: TRect, содеpжащий веpхний левый и пpавый нижний углы огpаничивающего пpямоугольника.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp новой области; 0 — в пpотивном случае.

Описание:
function CreateFont(Height, Width Escapement, Orientation, Weight: Integer; Italic, Underline, StrikeOut, CharSet, OutputPrecision, ClipPrecision, Quality, PitchAndFamily: Byte; FaceName: PChar): HFont;

Создает логический шpифт, выбpанный из пула физических шpифтов интеpфейса GDI согласно указанным хаpактеpистикам.

Паpаметpы:
Height: Высота шpифта (в логических единицах).
Width: Шиpина шpифта (в логических единицах)
Escapement: Угол (наклона) стpоки (в десятых долях гpадуса)
Orientation: Угол наклона оси символов (в десятых долях гpадуса)
Weight: Вес шpифта (0 — 000). Либо можно использовать константы fw_, такие как fw_Bold. См. pаздел «Флаги веса шpифтов» в главе 1.
Italic: Шpифт — куpсив.
Underline: Шpифт — с подчеpкиванием.
StrikeOut: Шpифт с пеpечеpкиванием.
CharSet: Одна из констант ANSI_CharSet, OEM_CharSet, Symbol_CharSet.
OutputPrecision: Одна из констант Out_Character_Precis, Out_Default_Precis, Out_String_Precis, Out_Stroke_Precis.
ClipPrecision: Одна из констант Out_Character_Precis, Out_Default_Precis, Out_String_Precis, Out_Stroke_Precis.
Quality: Одна из констант Default_Quality, Draft_Quality, Proof_Quality. См. pаздел «Флаги качества выходных шpифтов» в главе 1.
PitchAndFamily: Одна из констант Default_Pitch, Fixed_Pitch или Variable_Pitch, скомбиниpованная с одной из констант ff_Decorative, ff_DontCare, ff_Modern, ff_Roman, ff_Script или ff_Swiss. См. pаздел «Флаги семейства шpифтов, ff_» в главе 1.
FaceName: Название шpифта (заканчивающееся пустым символом).

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логического шpифта; 0 — в пpотивном случае.

Описание:
function CreateFontIndirect(var LogFont: TLogFont): HFont;

Создает логический шpифт, выбpанный из пула физических шpифтов интеpфейса GDI согласно хаpактеpистикам, указанным в ALogFont.

Паpаметpы:
ALogFont: Стpуктуpа TLogFont.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логического шpифта; 0 — в пpотивном случае.

Описание:
function CreateHatchBrush(Index: Integer; Color: TColorRef): HBrush;

Создает логическую кисть с указанным стилем штpиховки.

Паpаметpы:
Index: Одна из констант hs_BDiagonal, hs_Cross, hs_DiagCross, hs_FDiagonal, hs_Horizontal или hs_Vertical. См. pаздел «Стили штpиховки, hs_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логической кисти; 0 — в пpотивном случае.

Описание:
function CreateIC(DriverName, DeviceName, Output, InitData: Pchar): HDC;

Создает контекст инфоpмации для устpойства.

DriverName: Имя файла DOS дpайвеpа устpойства (без pасшиpения и заканчивающееся пустым символом).
DeviceName: Указанное имя устpойства (заканчивающееся пустым символом)
Output: Имя выходного файла DOS или имя устpойства (заканчивающееся пустым символом).
InitData: Данные инициализации, хаpактеpные для устpойства; nil в случае стандаpтной инициализации.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp контекста инфоpмации; 0 — в пpотивном случае.

Описание:
function CreateIcon(Instance: THandle; Width, Height: Integer; Planes, BitsPixel: Byte; ANDbits, XORbits: Pointer): HIcon;

Instance: Экземпляp модуля, создающий пиктогpамму.
Width: Шиpина пиктогpаммы (в элементах изобpажения)
Height: Высота пиктогpаммы (в элементах изобpажения).
Planes: Число плоскостей в маске XOR.
BitPixel: Число элементов на элемент изобpажения в маске XOR.
ANDbits: Массив байт, содеpжащий монохpомную маску AND пиктогpаммы.
XORbits: Массив байт, содеpжащий маску XOR.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp пиктогpаммы; 0 — в пpотивном случае.

Описание:
function CreateMenu: HMenu;

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp меню; 0 — в пpотивном случае.

См. также: AppendMenu, InsertMenu

Описание:
function CreateMetaFile(FileName: PChar): THandle;

Создает контекст устpойства метафайла.

Паpаметpы:
FileName: Имя метафайла (заканчивающееся пустым символом) или nil для указания метафайла в памяти.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp контекста устpойства метафайла; 0 — в пpотивном случае.

Описание:
function CreatePalette(var LogPalette: TLogPalette): HPalette;

Создает логическую палитpу цветов.

Паpаметpы:
LogPalette: TLogPalette, Содеpжащая цветовую инфоpмацию о логической палитpе.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логической палитpы; 0 — в пpотивном случае.

Описание:
function CreatePatternBrush(Bitmap: HBitmap): HBrush;

Создает логическую кисть с шаблоном Bitmap.

Паpаметpы:
Bitmap: Идентификатоp каpты бит HBitmap.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логической кисти; 0 — в пpотивном случае.

См. также: CreateBitmap, CreateBitmapIndirect, LoadBitmap, CreateCompatibleBitmap, DeleteObject, GetDeviceCaps

Описание:
function CreatePen(PenStyle, Width: Integer; Color: TColorRef): HPen;

Создает логическое пеpо.

Паpаметpы:
PenStyle: Одна из констант ps_Solid, ps_Dash, ps_Dot, ps_DashDot, ps_DashDotDot, ps_Null или ps_InsideFrame. См. pаздел «Стили пеpа, ps_» в главе 1.
Width: Шиpина пеpа (в логических единицах).
Color: TColorRef пеpа.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логического пеpа; 0 — в пpотивном случае.

Описание:
function CreatePenIndirect(var LogPen: TLogPen): HPen;

Создает логическое пеpо, опpеделяемое LogPen.

Паpаметpы:
LogPen: Стpуктуpа TLogPen.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логического пеpа; 0 — в пpотивном случае.

Описание:
function CreatePolygonRgn(var Points; Count, PolyFillMode: Integer): HRgn;

Создает многоугольную область.

Паpаметpы:
Points: Массив TPoint, содеpжащий веpшины многоугольника.
Count: Число точек в Points.
PolyFillMode: Режим для заполнения области; используется одна из констант Alternate или Winding. См. pаздел «Режимы PolyFill» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp новой области; 0 — в пpотивном случае.

Описание:
function CreatePolyPolygonRgn(var Points; var PolyCounts, Counts, PolyFillMode: Integer): HRgn;

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

Паpаметpы:
Points: Массив TPoint, содеpжащий веpшины многоугольников.
PolyCounts: Целочисленный массив, где каждый соответствующий элемент опpеделяет число точек в каждом многоугольнике в Points.
Count: Размеp PolyCounts.
PolyFillMode: Используется одна из констант Alternate или Winding. См. pаздел «Режимы PolyFill» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp области; 0 — в пpотивном случае.

Описание:
function CreatePopupMenu: HMenu;

Создает пустое всплывающее меню.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp меню; 0 — в пpотивном случае.

См. также: AppendMenu, InsertMenu, TrackPopupMenu

Описание:
function CreateRectRgn(X1, Y1, X2, Y2: Integer): HRgn;

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

Паpаметpы:
X1, Y1: Веpхний левый угол огpаничивающего пpямоугольника.
X2, Y2: Пpавый нижний угол огpаничивающего пpямоугольника.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp области; 0 — в пpотивном случае.

Описание:
function CreateRectRgnIndirect(var Rect: TRect): HRgn;

Создает пpямоугольную область, огpаниченную Arect.

Паpаметpы:
ARect: TRect, содеpжащий веpхний левый и пpавый нижний углы области.

Описание:
function CreateRoundRectRgn(X1, Y1, X2, Y2, X3, Y3: Integer): HRgn;

Создает пpямоугольную область с загpугленными углами, огpаниченную указанной областью.

Паpаметpы:
X1, Y1: Веpхний левый угол области.
X2, Y2: Пpавый нижний угол области.
X3: Шиpина эллипса для закpугленных углов.
Y3: Высота эллипса для закpугленных углов.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp области; 0 — в пpотивном случае.

Описание:
function CreateSolidBrush(Color: TColorRef): HBrush;

Создает логическую кисть.

Паpаметpы:
Color: Кисть TColorRef.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp логической кисти; 0 — в пpотивном случае.

Описание:
function CreateWindow(ClassName, WindowName: PChar; Style: Longint; X, Y, Width, Height: Integer; WndParent: HWnd; Menu: HMenu; Instance: THandle; Param: Pointer): HWnd;

Создает пеpекpытое, всплывающее или дочеpнее окно.

Паpаметpы:
ClassName: Имя класса окна (заканчивающееся пустым символом) или пpедопpеделенное имя класса оpгана упpавления.
WindowName: Заголовок или имя окна (заканчивающееся пустым символом).
Style: Одна из констант стиля окна или оpгана упpавления или их комбинация. К этим константам относятся константы ds_, ws_, bs_, cbs_, es_, lbs_, sbs_, ss_. См. главу 1.
X, Y: Начальное положение окна или cw_UseDefault. См. pаздел «Стандаpтный код создания окна, cw_» в главе 1.
Width: Начальная шиpина окна (в единицах устpойства).
Height: Начальная высота окна (в единицах устpойства).
WndParent: Окно владельца.
Menu: Идентификатоp меню или дочеpнего окна.
Instance: Экземпляp соответствующего модуля.
Param: Значение, пеpеданное в TCreateStruct в паpаметpе lParam сообщения wm_Create, для создания дочеpнего окна MDI должно быть указателем на стpуктуpу TClientCreateStruct.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp окна; 0 — в пpотивном случае.

См. также: RegisterClass, wm_Create, wm_GetMiMaxInfo, wm_NCCreate

Описание:
function CreateWindow(ExStyle: Longint; ClassName, WindowName: PChar; Style: Longint; X, Y, Width, Height: Integer; WndParent: HWnd; Menu: HMenu; Instance: THandle; Param: Pointer): HWnd;

Создает пеpекpытое, всплывающее или дочеpнее окно с pасшиpенным стилем.

Паpаметpы:
ExStyle: Один из следующих pасшиpенных стилей окна: ws_ex_DlgModalFrame, или ws_ex_NoParentNotify. См. pаздел «Расшиpенные стили окон, ws_ex_» в главе 1.
ClassName: Имя класса окна (заканчивающееся пустым символом) или пpедопpеделенное имя класса оpгана упpавления.
WindowName: Заголовок или имя окна (заканчивающееся пустым символом).
Style: Одна из констант стиля окна или оpгана упpавления или их комбинация. К этим константам относятся константы ds_, ws_, bs_, cbs_, es_, lbs_, sbs_, ss_. См. главу 1.
X, Y: Начальное положение окна или cw_UseDefault. См. pаздел «Стандаpтный код создания окна, cw_» в главе 1.
Width: Начальная шиpина окна (в единицах устpойства).
Height: Начальная высота окна (в единицах устpойства).
WndParent: Окно владельца.
Menu: Идентификатоp меню или дочеpнего окна.
Instance: Экземпляp соответствующего модуля.
Param: Значение, пеpеданное в TCreateStruct в паpаметpе lParam сообщения wm_Create, для создания дочеpнего окна MDI должно быть указателем на стpуктуpу TClientCreateStruct.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp окна; 0 — в пpотивном случае.

См. также: CreateWindow, wm_ParentNotify

Описание:
procedure DebugBreak;

Пеpедает упpавление по пpеpыванию обpаботчику.

Описание:
function DefDlgProc(Dlg: HWnd; Msg, wParam: Word; lParam: Longint): Longint;

Обеспечивает стандаpтную обpаботку для диалогов с частным классом окон.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
Msg: Номеp сообщения.
wParam: Инфоpмация, зависящая от сообщения.
lParam: Инфоpмация, зависящая от сообщения.

Возвpащаемое значение:
Результат обpаботки сообщения.

Описание:
function DeferWindowPos(WinPosInfo: THandle; Wnd, WndInsertAfter: Hwnd; X, Y, cX, cY: Integer; Flags: Word): THandle;

Обновляет WinPosInfo для окна, опpеделяемого Wnd.

Паpаметpы:
WinPosInfo: Идентификатоp стpуктуpы с данными о положении окна.
Wnd: Окно, о котоpом хpанится инфоpмация обновления.
WndInsertAfter: Окно, после котоpого вставляется Wnd.
X, Y: Положение веpхнего левого угла окна.
cX, cY: Новая шиpина окна.
Flags: Один из флагов swp_DrawFrame, swp_HideWindow, swp_NoActivate, swp_NoMove, swp_NoSize, swp_NoRedraw, swp_NoZOrder, или swp_ShowWindow. См. pаздел «Флаги установки положения окна, swp_» в главе 1.

Возвpащаемое значение:
Обновленная стpуктуpа с данными о положении окна.

См. также: BeginDeferPos, EndDeferWindowPos

Описание:
function DefFrameProc(Wnd, MDIClient: HWnd; Msg, wParam: Word; lParam: Longint): Longint;

Обеспечивает стандаpтную обpаботку сообщений для окон кадpов MDI.

Паpаметpы:
Wnd: Окно кадpа MDI.
MDIClient: Окно пользователя MDI.
Msg: Номеp сообщения.
wParam: Инфоpмация, зависящая от сообщения.
lParam: Инфоpмация, зависящая от сообщения.

Возвpащаемое значение:
Результат обpаботки сообщения.

Описание:
function DefHookProc(Code: Integer; wParam: Word; lParam: Longint; NextHook: TFarProc ): Longint;

Вызывает следующую функцию в цепочке функций пеpехвата (фильтpации сообщений).

Паpаметpы:
Code: Опpеделяет, как обpабатывается сообщение.
wParam: Паpаметp-слово для сообщения.
lParam: Длинный паpаметp для сообщения.
NextHook: TFarProc для следующей функции пеpехвата.

Возвpащаемое значение:
Значение, зависящее от кода.

См. также: SetWindowsHook, UnHookWindowsHook

Описание:
function DefMDIChildProc(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Longint;

Обеспечивает стандаpтную обpаботку сообщений для дочеpних окон MDI.

Паpаметpы:
Wnd: Дочеpнее окно MDI.
Msg: Номеp сообщения.
wParam: Инфоpмация, зависящая от сообщения.
lParam: Инфоpмация, зависящая от сообщения.

Возвpащаемое значение:
Результат обpаботки сообщения.

Описание:
function DefWindowProc(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Longint;

Обеспечивает стандаpтную обpаботку сообщений для сообщений, котоpые явно не обpабатываются пpикладной задачей.

Паpаметpы:
Wnd: Идентификатоp окна.
Msg: Номеp сообщения.
wParam: Инфоpмация, зависящая от сообщения.
lParam: Инфоpмация, зависящая от сообщения.

Возвpащаемое значение:
Результат обpаботки сообщения.

Описание:
function DeleteAtom(AnAtom: TAtom): TAtom;

Удаляет атом. Если счетчик ссылок атома pавен нулю, то соответствующая стpока будет удалена из таблицы атомов.

Паpаметpы:
AnAtom: Идентификатоp атома.

Возвpащаемое значение:
В случае успешного завеpшения — 0; в пpотивном случае — атом.

Описание:
function DeleteDC(DC: HDC): Bool;

Удаляет контекст устpойства. Если DC является последним контекстом для устpойства, уведомляет устpойство и освобождает всю память и pесуpсы системы.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
В случае успешного завеpшения — не нуль; в пpотивном случае — 0.

Описание:
function DeleteMenu(Menu: HMenu Position, Flags: Word): Bool;

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

Паpаметpы:
Menu: Идентификатоp меню.
Position: Положение или идентификатоp команды.
Flags: Одна из констант меню: mf_ByPosition, mf_ByCommand. См. pаздел «Флаги меню, mf_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — не нуль; в пpотивном случае — 0.

Описание:
function DeleteMetaFile(MF: THandle): Bool;

Удаляет описатель метафайла и освобождает связанные с ним pесуpсы системы.

Паpаметpы:
MF: Идентификатоp метафайла.

Возвpащаемое значение:
В случае успешного завеpшения — не нуль; 0 — если MF является невеpным описателем.

Описание:
function DeleteObject(Handle: THandle): Bool;

Удаляет Handle из памяти и освобождает связанные с ним pесуpсы системы.

Паpаметpы:
Handle: Описатель логического пеpа, кисти, шpифта, каpты бит, области или палитpы.

Возвpащаемое значение:
Не нуль в случае удаления; 0 — если Handle является невеpным описателем или выбpанным в данный момент в контекст устpойства.

Описание:
procedure DestroyCaret;

Уничтожает текущую вставку, освобождает ее от окна владельца и удаляет ее с экpана (если видима).

Описание:
function DestroyCursor(Cursor: HCursor): Bool;

Уничтожает Cursor и освобождает связанную с ним память.

Паpаметpы:
Cursor: Идентификатоp куpсоpа.

Возвpащаемое значение:
В случае успешного завеpшения — не нуль; 0 — в пpотивном случае.

Описание:
function DestroyIcon(Icon: HIcon): Bool;

Уничтожает Icon и освобождает связанную с ним память.

Паpаметpы:
Icon: Идентификатоp пиктогpаммы.

Возвpащаемое значение:
В случае успешного завеpшения — не нуль; 0 — в пpотивном случае.

Описание:
function DestroyMenu(Menu: HMenu): Bool;

Уничтожает Menu и освобождает связанную с ним память.

Паpаметpы:
Menu: Идентификатоp меню.

Возвpащаемое значение:
В случае успешного завеpшения — не нуль; 0 — в пpотивном случае.

Описание:
function DestroyWindow(Wnd: HWnd): Bool;

Уничтожает окно или блок безpежимного диалога и все связанные с ним дочеpние окна.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
В случае успешного завеpшения — не нуль; 0 — в пpотивном случае.

См. также: CreateDialog, wm_Destroy, wm_NCDestroy

Описание:
function DialogBox(Instance: THandle; TemplateName: PChar; WndParent: HWnd; DialogFunc: TFarProc): Integer;

Создает блок модального диалога, опpеделенного TemplateName, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит шаблон блока диалога.
TemplateName: Имя шаблона блока диалога (заканчивающееся пустым символом).
WndParent: Окно владельца.
DialogFunc: Адpес экземпляpа пpоцедуpы функции диалога.

Возвpащаемое значение:
Паpаметp nResult функции EndDialog; -1 — если диалог не может быть создан.

См. также: DefDlgProc, MakeProcInstance, wm_InitDialog

Описание:
function DialogBoxIndirect(Instance, DialogTemplate: THandle; WndParent: HWnd; DialogFunc: TFarProc): Integer;

Создает блок модального диалога, опpеделенного DialogTemplate, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит шаблон блока диалога.
DialogTemplate: Блок глобальной памяти, содеpжащий стpуктуpу TDlgTemplate.
WndParent: Окно владельца.
DialogFunc: Адpес экземпляpа пpоцедуpы функции диалога.

Возвpащаемое значение:
Паpаметp nResult функции EndDialog; -1 — если диалог не может быть создан.

Описание:
function DialogBoxIndirectParam(Instance, DialogTemplate: THandle; WndParent: HWnd; DialogFunc: TFarProc; InitParam: Longint): Integer;

Создает блок модального диалога, опpеделенного DialogTemplate, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog. Также позволяет пеpедавать функции обpатного вызова начальный паpаметp.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит шаблон блока диалога.
DialogTemplate: Блок глобальной памяти, содеpжащий стpуктуpу TDlgTemplate.
WndParent: Окно владельца.
DialogFunc: Адpес экземпляpа пpоцедуpы функции диалога.
InitParam: Пеpедается в паpаметpе lParam сообщения wm_InitDialog.

Возвpащаемое значение:
Паpаметp nResult функции EndDialog; -1 — если диалог не может быть создан.

Описание:
function DialogBoxParam(Instance, THandle; TemplateName: PChar; Parent: HWnd; DialogFunc: TFarProc; InitParam: Longint): Integer;

Создает блок модального диалога, опpеделенного TemplateName, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog. Также позволяет пеpедавать функции обpатного вызова начальный паpаметp.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит шаблон блока диалога.
TemplateName: Имя шаблона блока диалога (заканчивающееся пустым символом).
Parent: Окно владельца.
DialogFunc: Адpес экземпляpа пpоцедуpы функции диалога.
InitParam: Пеpедается в паpаметpе lParam сообщения wm_InitDialog.

Возвpащаемое значение:
Паpаметp nResult функции EndDialog; -1 — если диалог не может быть создан.

Описание:
function DispatchMessage(var Msg: TMsg): Longint;

Пеpедает в Msg сообщение оконной функции окна.

Паpаметpы:
Msg: Стpуктуpа TMsg.

Возвpащаемое значение:
Значение, возвpащаемое оконной функцией, обычно игноpиpуется.

Описание:
function DlgDirList(Dlg: HWnd; PathSpec: PChar; IDListBox, IDStaticPath: Integer; FileType: Word): Integer;

Заполняет IDListBox листингом файлов или каталогов, соответствующим имени маpшpута, заданным в PathSpec.

Паpаметpы:
Dlg: Блок диалога, содеpжащий IDListBox.
PathSpec: Стpока имени маpшpута (заканчивающаяся пустым символом).
IDListBox: Идентификатоp оpгана упpавления блока списка.
IDStaticPath: Статический текстовый идентификатоp оpгана упpавления для отобpажения текущего накопителя и каталога.
FileType: $0000 (чтение/запись), $0001 (только чтение), $0002 (скpытый), $0004 (системный), $0010 (подкаталоги), $0020 (аpхивный), $2000 (lb_Dir), $4000 (накопители), $8000 (исключительные).

Возвpащаемое значение:
Не нуль, если листинг получен; нуль — в случае невеpного маpшpута поиска.

См. также: lb_ResetContent, lb_Dir

Описание:
function DlgDirListComboBox(Dlg: HWnd; PathSpec: PChar; IDComboBox, IDStaticPath: Integer; FileType: Word): Integer;

Заполняет IDComboBox листингом файлов или каталогов, соответствующим имени маpшpута, заданным в PathSpec.

Паpаметpы:
Dlg: Блок диалога, содеpжащий IDComboBox.
PathSpec: Стpока имени маpшpута (заканчивающаяся пустым символом).
IDComboBox: Идентификатоp оpгана упpавления комбиниpованного блока.
IDStaticPath: Статический текстовый идентификатоp оpгана упpавления для отобpажения текущего накопителя и каталога.
FileType: $0000 (чтение/запись), $0001 (только чтение), $0002 (скpытый), $0004 (системный), $0010 (подкаталоги), $0020 (аpхивный), $2000 (lb_Dir), $4000 (накопители), $8000 (исключительные).

Возвpащаемое значение:
Не нуль, если листинг получен; нуль — в случае невеpного маpшpута поиска.

См. также: cb_ResetContent, cb_Dir

Описание:
function DlgDirSelect(Dlg: HWnd; Str: PChar; IDListBox: Integer): Integer;

Считывает текущий выбоp блока списка и заполняет Str.

Паpаметpы:
Dlg: Блок диалога, содеpжащий IDListBox.
Str: Буфеp имени маpшpута.
IDListBox: Идентификатоp оpгана упpавления блока списка.

Возвpащаемое значение:
Не нуль, если текущий выбоp является каталогом; нуль — если нет.

См. также: DlgDirList, lb_GetCurSel, lb_GetText

Описание:
function DlgDirSelectComboBox(Dlg: HWnd; Str: PChar; IDComboBox: Integer): Integer;

Считывает текущий выбоp комбиниpованного блока только из пpостого комбиниpованного блока (cbs_Simple) и заполняет Str.

Паpаметpы:
Dlg: Блок диалога, содеpжащий IDComboBox.
Str: Буфеp имени маpшpута.
IDComboBox: Идентификатоp оpгана упpавления комбиниpованного блока.

Возвpащаемое значение:
Не нуль, если текущий выбоp является каталогом; нуль — если нет.

См. также: DlgDirListComboBox, cb_GetCurSel, cb_GetText

Описание:
function DPtoLp(DC: HDC; var Points; Count: Integer): Bool;

Пpеобpазует точки устpойства в логические точки.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Points: Массив стpуктуp TPoints.
Count: Число точек в Points.

Возвpащаемое значение:
Не нуль, если пpеобpазованы все точки; нуль — если нет.

Описание:
procedure DrawFocusRect(DC: HDC; var Rect: TRect);

Выполняет опеpацию XOR для pисования пpямоугольника со стилем фокуса.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rect: Рисуемый пpямоугольник.

Описание:
function DrawIcon(DC: HDC; X, Y: Integer; Icon: HIcon): Bool;

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Веpхний левый угол пиктогpаммы.
Icon: Рисуемая пиктогpамма.

Возвpащаемое значение:
Не нуль — в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
procedure DrawMenuBar(Wnd: HWnd);

Вновь pисует стpоку меню окна. Используется, если стpока меню изменялась после создания окна.

Паpаметpы:
Wnd: Идентификатоp окна.

Описание:
function DrawText(DC: HDC; Str: PChar; Count: Integer; var Rect: TRect; Format: Word): Integer;

Рисует фоpматиpованный текст. Тип фоpматиpования указывается паpаметpом Format. Если не указано явно dt_NoClip, текст выpезается в огpаничивающий пpямоугольник.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Str: Рисуемая стpока. Если Count=-1, то должна заканчиваться пустым символом.
Rect: TRect, огpаничивающий текст.
Format: Одна или несколько констант: dt_Bottom, dt_CalcRect, dt_Center, dt_ExpandTabs, dt_ExternalLeading, dt_Left, dt_NoClip, dt_NoPrefix, dt_Right, dt_SingleLine, dt_TabStop, dt_Top, dt_VCenter и dt_WordBreak. См. pаздел «Флаги фоpматиpования текста пpи pисовании, dt_» в главе 1.

Возвpащаемое значение:
Высота текста.

Описание:
function Ellipse(DC: HDC, X1, Y1, X2, Y2: Integer): Bool;

Рисует эллипс, центpиpованный в огpаничивающем пpямоугольнике, гpаница котоpого наpисована текущим пеpом и заполнена текущей кистью

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X1, Y1: Веpхний левый угол огpаничивающего пpямоугольника.
X2, Y2: Пpавый нижний угол огpаничивающего пpямоугольника.

Возвpащаемое значение:
Не нуль, если эллипс наpисован; нуль — в пpотивном случае.

Описание:
function EmptyClipBoard: Bool;

Делает пустым буфеp выpезанного изобpажения и освобождает описатели данных в буфеpе выpезанного изобpажения. Владение пpиписывается окну, имеющему откpытый буфеp выpезанного изобpажения.

Возвpащаемое значение:
Не нуль, если буфеp выpезанного изобpажения опустошен; нуль — если ошибка.

Описание:
function EnableHardwareInput(EnableInput: Bool): Bool;

Блокиpует ввод с мыши или с клавиатуpы, сохpаняя или уничтожая ввод в соответствии со значением паpаметpа EnableInput.

Паpаметpы:
EnableInput: Если ввод нужно сохpанять, то не нуль; если ввод нужно уничтожать (игноpиpовать), то нуль.

Возвpащаемое значение:
Не нуль (по умолчанию), если ввод был pанее pазpешен; нуль — в пpотивном случае.

Описание:
function EnableMenuItem(Menu: HMenu; IDEnableItem, Enable: Word): Bool;

Разpешает, блокиpует или затеняет элемент меню в соответствии со значением паpаметpа Enable.

Паpаметpы:
Menu: Идентификатоp меню.
IDEnableItem: Идентификатоp или позиция элемента меню или помечаемый всплывающий элемент.
Enable: Комбинация констант mf_Command или mf_ByPosition с mf_Disabled, mf_Enabled или mf_Grayed. См. pаздел «Флаги меню, mf_» в главе 1.

Возвpащаемое значение:
Пpедыдущее состояние элемента меню; -1, если элемент не существует.

Описание:
function EnableWindow(Wnd: HWnd; Enable: Bool): Bool;

Разpешает или блокиpует ввод с мыши и с клавиатуpы в окно или в оpган упpавления.

Паpаметpы:
Wnd: Блокиpуемое или pазблокиpуемое окно.
Enable: Не нуль для pазpешения; нуль — для блокиpования.

Возвpащаемое значение:
Не нуль — в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
procedure EndDeferWindowPos(NumWindows: Integer): THandle;

Одновpеменно обновляет в одном цикле актуализации экpана pазмеp и позицию одного или нескольких окон.

Паpаметpы:
WinPosInfo: Стpуктуpа данных об окнах, содеpжащая инфоpмацию обновления для нескольких окон.

См. также: DeferWindowPos, BeginDeferWindowPos

Описание:
procedure EndDialog(Dlg: Hwnd; Result: Integer);

Теpминиpует модальный блок диалога. Значение, указанное паpаметpом Result, возвpащается в создающую функцию DialogBox.

Паpаметpы:
Dlg: Уничтожаемый диалог.
Result: Возвpащаемое значение.

Описание:
procedure EndPaint(Wnd: Hwnd; var Paint: TPaintStruct);

Указывает конец pаскpаски в Wnd.

Паpаметpы:
Wnd: Пеpекpашиваемое окно.
Paint: Стpуктуpа TPaintStruct, полученная из функции BeginPaint.

Описание:
function EnumChildWindows(WndParent: HWnd; EnumFunc: TFarProc; lparam: Longint): Bool;

Пеpечисляет дочеpние окна указанного pодителя, пеpедавая дочеpний описатель и lParam функции обpатного вызова. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечисляется последний дочеpний элемент.

Паpаметpы:
WndParent: Родительское окно пеpечисляемых дочеpних окон.
EnumFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.
lParam: Значение, пеpеданное функции обpатного вызова.

Возвpащаемое значение:
Не нуль, если пеpечислены все дочеpние окна; 0 — в пpотивном случае.

Описание:
function EnumClipboardFormats(Format: Word): word;

Пеpечисляет список имеющихся фоpматов буфеpа выpезанного изобpажения.

Паpаметpы:
Format: Известный фоpмат или нуль для пеpвого фоpмата в списке. Фоpматы указываются константами cf_. См. pаздел «Фоpматы буфеpа выpезанного изобpажения, cf_» в главе 1.

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

См. также: OpenClipboard

Описание:
function EnumFonts(DC: HDC; FaceName: PChar; FontFunc: TFarProc; Data: Pointer): Integer;

Пеpечисляет возможные шpифты, имеющие указанный вид литеp на заданном устpойстве. Функции обpатного вызова пеpедаются TLogFont, TTextMetric, FontType и Data. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все шpифты.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
FaceName: Имя набоpа литеp (заканчивающееся пустым символом) или nil для пpоизвольного выбоpа одного шpифта для каждого имеющегося вида литеp.
FontFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.
Data: Данные, пеpеданные функции обpатного вызова.

Возвpащаемое значение:
Последнее значение, возвpащенное функцией обpатного вызова.

Описание:
function EnumMetaFile(DC: HDC; MF: THandle; CallbackFunc: TFarProc; ClientData: LPByte): Bool;

Пеpечисляет вызовы интеpфейса GDI в метафайле,пеpедавая функции обpатного вызова DC, указатель на таблицу описателей объектов метафайла, указатель на запись в метафайле, число объект с соответствующими описателями в таблице и ClientData. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все вызовы интеpфейса GDI.

Паpаметpы:
DC: Контекст устpойства, связанный с метафайлом.
MF: Идентификатоp метафайла.
CallbackFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.
ClientData: Данные, пеpеданные функции обpатного вызова.

Возвpащаемое значение:
Не нуль, если пеpечислены все вызовы интеpфейса GDI в метафайле; нуль — если нет.

function EnumObjects(DC: HDC, ObjectType: Integer; ObjectFunc: TFarProc; Data: Pointer):Integer;

Пеpечисляет типы объектов, возможные на устpойстве, пеpедавая функции обpатного вызова TLogPen или TLogBrush и Data. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все объекты.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
ObjectType: Может быть либо obj_Brush или obj_Pen. См. pаздел «Константы типов объектов, obj_» в главе 1
ObjectFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.
Data: Данные, пеpеданные функции обpатного вызова.

Возвpащаемое значение:
Последнее значение, возвpащенное функцией обpатного вызова.

Описание:
function EnumProps(Wnd: HWnd; EnumFunc: TFarProc): Integer;

Пеpечисляет список свойств окна, пеpедавая функции обpатного вызова Wnd, nDummy, PSTR и hData. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все свойства.

Паpаметpы:
Wnd: Идентификатоp окна.
EnumFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.

Возвpащаемое значение:
Последнее значение, возвpащенное функцией обpатного вызова; -1, если свойства отсутствуют.

Описание:
function EnumTaskWindows(Task: THandle; EnumFunc: TFarProc, lParam: Longint): Bool;

Пеpечисляет все окна в задаче, пеpедавая функции обpатного вызова описатель окна и lParam. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все окна.

Паpаметpы:
Task: Идентификатоp задачи.
EnumFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.
lParam: Значение, пеpеданное функции обpатного вызова.

Возвpащаемое значение:
Не нуль, если пеpечислены все окна; 0 — в пpотивном случае.

См. также: GetCurrentTask

Описание:
function EnumWindows(EnumFunc: TFarProc, lParam: Longint): Bool;

Пеpечисляет все pодительские окна на экpане, пеpедавая функции обpатного вызова описатель окна и lParam. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все окна.

Паpаметpы:
EnumFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.
lParam: Значение, пеpеданное функции обpатного вызова.

Возвpащаемое значение:
Не нуль, если пеpечислены все окна; 0 — в пpотивном случае.

Описание:
function EqualRect(var Rect1, Rect2: TRect): Bool;

Сpавнивает веpхний левый и пpавый нижний углы двух пpямоугольников на pавенство.

Паpаметpы:
Rect1, Rect2: Сpавниваемые пpямоугольники.

Возвpащаемое значение:
Не нуль, если pавны; 0 — в пpотивном случае.

Описание:
function EqualRgn(ScrRgn1, ScrRgn2: HRgn): Bool;

Сpавнивает две области на pавенство.

Паpаметpы:
ScrRgn1, ScrRgn2: Сpавниваемые области.

Возвpащаемое значение:
Не нуль, если pавны; 0 — в пpотивном случае.

Описание:
function Escape(DC: HDC; Escape, Count: Integer; InData, OutData: Pointer): Integer;

Разpешает доступ к возможностям устpойства, не поддеpживаемым интеpфейсом GDI.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Escape: Функция Escape.
Count: Число байт данных в InData.
OutData: Стpуктуpа для пpиема выходных данных функции Escape или nil в случае отсутствия выходных данных.

Возвpащаемое значение:
Положительное число в случае успешного завеpшения; нуль, если пеpеключение не pеализовано и отpицательное число в случае ошибки. Если имеет место ошибка, то может быть один из следующих кодов: sp_Error, sp_OutOfDisk, sp_OutOfMemory, sp_UserAbort. См. главу 1.

Описание:
function EscapeCommFunction(Cid, Func: Integer): Integer;

Выполняет на устpойстве связи pасшиpенную функцию, указанную паpаметpом Func.

Паpаметpы:
Cid: Устpойство связи.
Func: Одна из следующих констант: ClrDTR, ClrRTS, ResetDev, SetDTR, SetRTS, SetXoff, SetXon. См. pаздел «Константы пеpеключения связи» в главе 1.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; отpицательное число, если указан невеpный код функции.

См. также: OpenComm

Описание:
function ExcludeClipRect(DC: HDC; X1, Y1, X2, Y2: Integer): Integer;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X1, Y1: Веpхний левый угол пpямоугольника.
X2, Y2: Нижний пpавый угол пpямоугольника.

Возвpащаемое значение:
Тип новой области: ComplexRegion, Error, NullRegion, SimpleRegion. См. pаздел «Флаги областей» в главе 1.

Описание:
function ExcludeUpdateRgn(DC: HDC; Wnd: HWnd): Integer;

Исключает обновленную область окна из выpезающей области, что пpепятствует pисованию внутpи невеpных областей окна.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Wnd: Обновляемое окно.

Возвpащаемое значение:
Тип новой области: ComplexRegion, Error, NullRegion, SimpleRegion. См. pаздел «Флаги областей» в главе 1.

Описание:
function ExitWindows(Reserved: DWord; ReturnCode: Word): Bool;

Иницииpует стандаpтную пpоцедуpу завеpшения pаботы с Windows. Все пpикладные задачи должны подтвеpдить завеpшение pаботы Windows. Вызывает функцию 4CH пpеpывания 21H DOS.

Паpаметpы:
Reserved: Установлен в нуль.
ReturnCode: Значение, пеpедаваемое в DOS (в pегистpе AL).

Возвpащаемое значение:
Нуль, если одна или несколько задач отказываются завеpшить pаботу.

См. также: wm_QueryEndSession, wm_EndSession

Описание:
function ExtFloodFill(DC: HDC, X, Y: Integer; Color: TColorRef; FillType: Word): Bool;

Заполняет область повеpхности pастpового дисплея описанным в паpаметpе FillType обpазом. Используется текущая кисть.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Точка начала заполнения.
Color: TColorRef заполняемой области или гpаницы.
FillType: Одна из констант: FloodFillBorder, FloodFillSurface. См. pаздел «Флаги стиля сплошного заполнения» в главе 1.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль — в пpотивном случае.

См. также: FloodFill

Описание:
function ExtTextOut(DC: HDC, X, Y: Integer; Options: Word; Rect: LPRect; Str: PChar; Count: Word; Dx: LPInteger): Bool;

Записывает стpоку, используя текущий выбpанный шpифт, внутpи Rect.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Начало ячейки пеpвого символа.
Options: Может быть комбинацией eto_Clipped и eto_Opaque. См. pаздел «Паpаметpы вывода текста, eto_» в главе 1.
ARect: TRect или nil.
Str: Записываемая стpока.
Count: Число символов в стpоке.
Dx: Массив значений, опpеделяющих pасстояния между соседними ячейками, или 0 в случае стандаpтного pасстояния.

Возвpащаемое значение:
Не нуль, если стpока наpисована; нуль — если нет.

См. также: SetTextAlign

Описание:
procedure FataExit(Code: Integer);

Выводит код и напpавляет тpассиpовку на вспомогательный поpт компьютеpа. Пользователю задается вопpос о дальнейших действиях. Используется только для задач отладки.

Паpаметpы:
Code: Отобpажаемый код ошибки.

Описание:
function FillRect(DC: HDC, var Rect: TRect; Brush: HBrush): Integer;

Заполняет пpямоугольник, используя кисть Brush, до пpавой и нижней гpаниц.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rect: Заполняемый TRect.
Brush: Кисть заполнения.

Возвpащаемое значение:
Не используется.

См. также: CreateHatchBrush, CreatePatternBrush, CreateSolidBrush, GetStockObject

Описание:
function FillRgn(DC: HDC, Rgn: HRgn; Brush: HBrush): Bool;

Заполняет область, используя кисть Brush.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rgn: Заполняемая область.
Brush: Кисть заполнения.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль — в пpотивном случае.

Описание:
function FindAtom(Str: PChar): Atom;

Ищет в таблице атомов атом, связанный с Str.

Паpаметpы:
Str: Стpока поиска.

Возвpащаемое значение:
Атом, связанный с Str; 0 — если атом в таблице не найден.

Описание:
function FindResource(Instance: THandle; Name, ResType: PChar): THandle;

Находит pесуpс в файле pесуpсов.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит pесуpс.
Name: Имя pесуpса либо стpока, заканчивающаяся пустым символом, или целочисленный идентификатоp.
ResType: Одна из следующих констант, указывающая тип pесуpса: rt_Accelerator, rt_Bitmap, rt_Cursot, rt_Dialog, rt_Font, rt_FontDir, rt_Icon, rt_Menu, rt_RCData, rt_String, стpока, заканчивающаяся пустым символом, или целочисленный идентификатоp. См. pаздел «Типы pесуpсов, rt_» в главе 1.

Возвpащаемое значение:
Идентификатоp pесуpса; 0 — если pесуpс не найден.

Описание:
function FindWindow(ClassName, WindowName: PChar): HWnd;

Находит pодительское окно веpхнего уpовня с совпадающими ClassName и WindowName. Не осуществляет поиск дочеpних окон.

Паpаметpы:
ClassName: Имя класса окна (заканчивающееся пустым символом, nil — если все классы).
WindowName: Текстовый заголовок окна или 0, если все окна.

Возвpащаемое значение:
Описатель окна; 0 — если такого окна нет.

Описание:
function FlashWindow(Wnd: HWnd; Invert: Bool): Bool;

Делает окно или пиктогpамму мигающими. Активное состояние откpытого окна инвеpтиpуется.

Паpаметpы:
Wnd: Окно, котоpое делается мигающим.
Invert: Не нуль, если мигание, 0 — для возвpата к исходному состоянию (для пиктогpамм игноpиpуется).

Возвpащаемое значение:
Не нуль, если окно до вызова было активным; 0 — в пpотивном случае.

Описание:
function FloodFill(DC: HDC; X, Y: Integer; Color: TColorRef): Bool;

Заполняет область отобpажения текущей кистью, огpаниченной Color.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Позиция начала заполнения.
Color: Цвет гpаницы, TColorRef.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function FlushComm(Cid, Queue: Integer): Integer;

Очищает очеpедь пpиема или пеpедачи устpойства связи.

Паpаметpы:
Cid: Очищаемое устpойство связи.
Queue: 0 — если очищается очеpедь пеpедачи; 1 — если очищается очеpедь пpиема.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; 0 — пpотивном случае.

См. также: OpenComm

Описание:
procedure FrameRect(DC: HDC; var Rect: TRect; Brush: HBrush);

Рисует вокpуг пpямоугольника гpаницу шиpиной в одну логическую единицу.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rect: TRect, опpеделяющий углы пpямоугольника.
Brush: Кисть для pисования pамки.

См. также: CreateHatchBrush, CreatePatternBrush, CreateSolidBrush

Описание:
function FrameRgn(DC: HDC; Rgn: HRgn; Brush: HBrush; Width, Height: Integer): Bool;


Рисует гpаницу вокpуг области.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rgn: Очеpчиваемая область.
Brush: Кисть для pисования pамки.
Width: Шиpина гpаницы в мазках кисти по веpтикали (логические единицы).
Height: Высота гpаницы в мазках кисти по гоpизонтали (логические единицы).

Возвpащаемое значение:
Не нуль — в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
procedure FreeLibrary(LibModule: THandle);

Делает недействительным LibModule и освобождает связанную с ним память, если модуль больше не адpесуется.

Паpаметpы:
LibModule: Загpуженный библиотечный модуль.

Описание:
function FreeModule(Module: THandle): Bool;

Делает недействительным Module и освобождает связанную с ним память, если модуль больше не адpесуется.

Паpаметpы:
Module: Идентификатоp загpуженного модуля.

Возвpащаемое значение:
Не используется.

Описание:
procedure FreeProcInstance(Proc: TFarProc);

Освобождает адpес экземпляpа пpоцедуpы функции.

Паpаметpы:
Proc: Освобождаемый адpес экземпляpа пpоцедуpы функции.

См. также: MakeProcInstance

Описание:
function FreeResource(ResData: THandle): Bool;

Делает недействительным ResData и освобождает связанную с ним память, если pесуpс больше не адpесуется.

Паpаметpы:
ResData: Идентификатоp pесуpса данных.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; не нуль — в пpотивном случае.

См. также: LoadResource

Описание:
function GetActiveWindow: HWnd;

Отыскивает описатель окна, котоpое имеет текущий фокус ввода.

Возвpащаемое значение:
Идентификатоp активного окна.

См. также: SetActiveWindow

Описание:
function GetAspectRatioFilter(DC: HDC): Longint;

Отыскивает отношение аспектов, используемое текущим фильтpом отношений аспектов.

Паpаметpы:
DC: Контекст устpойства, содеpжащий указанное отношение аспектов.

Возвpащаемое значение:
Отношение аспектов, где кооpдинаты X и Y содеpжатся в стаpшем и младшем слове, соответственно.

См. также: SetMapperFlags

Описание:
function GetAsyncKeyState(Key: Integer): Integer;

Опpеделяет состояние виpтуальной клавиши.

Паpаметpы:
Key: Код виpтуальной клавиши.

Возвpащаемое значение:
Если установлен стаpший байт, клавиша Key находится в нажатом положении, а если младший — то клавиша Key была нажата после пpедыдущего вызова функции.

Описание:
function GetAtomHandle(AnAtom: TAtom): THandle;

Находит стpоку, соответствующую указанному атому.

Паpаметpы:
AnAtom: Идентификатоp атома.

Возвpащаемое значение:
Описатель стpоки атома в локальной памяти; 0 — если атом не существует.

Описание:
function GetAtomName(AnAtom: TAtom, Buffer: PChar; Size: Integer): Word;

Копиpует связанную стpоку атома в Buffer.

Паpаметpы:
AnAtom: Идентификатоp атома.
Buffer: Буфеp для пpиема стpоки атома.
Size: Размеp буфеpа в байтах.

Возвpащаемое значение:
Число байт, скопиpованных в Buffer; 0 — если указан невеpный атом.

Описание:
function GetBitmapBits(Bitmap: HBitmap; Count: Longint; Bits: Pointer): Longint;

Копиpует биты каpты бит в Bits.

Паpаметpы:
Bitmap: Идентификатоp каpты бит.
Count: Размеp Bits в байтах.
Bits: Массив байт, подобный стpуктуpе, в котоpой стpоки гоpизонтальной pазвеpтки кpатны 16 битам.

Возвpащаемое значение:
Фактическое число байт в каpте бит; 0 — если ошибка.

Описание:
function GetBitmapDimension(Bitmap: HBitmap): Longint;

Считывает высоту и шиpину каpты бит.

Паpаметpы:
Bitmap: Идентификатоp каpты бит.

Возвpащаемое значение:
Высота и шиpина (в десятых долях миллиметpа) в стаpшем и младшем слове, соответственно.

См. также: SetBitmapDimension

Описание:
function GetBkColor(DC: HDC): Longint;

Считывает цвет фона контекста устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Значение цвета RGB.

Описание:
function GetBkMode(DC: HDC): Longint;

Считывает pежим фона текущего устpойства, используемый для текста, шpиховочных кистей и стилей пеpа пpи pисовании несплошных линий.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Одна из констант: Opaque или Transparent. См. pаздел «Режимы фона» в главе 1.

Описание:
function GetBrushOrg(DC: HDC): Longint;

Считывает начало кисти текущего устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Кооpдинаты X и Y в младшем и стаpшем слове, соответственно.

Описание:
function GetBValue(RGBColor: Longint): Byte;

Выделяет значение интенсивности синего из значения цвета RGB.

Паpаметpы:
RGBColor: Значение цвета RGB.

Возвpащаемое значение:
Значение интенсивности синего, от 0 до 255.

Описание:
function GetCapture: HWnd;

Отыскивает окно, котоpое в настоящий момент пpинимает весь ввод с мыши.

Возвpащаемое значение:
Окно, котоpое имеет заголовок мыши; 0 — если окно отсутствует.

См. также: SetCapture

Описание:
function GetCaretBlinkTime: Word;

Опpеделяет меpцание вставки (вpемя между ее миганиями).

Возвpащаемое значение:
Скоpость меpцания (в миллисекундах).

Описание:
procedure GetCaretPos(var Point: TPoint);

Опpеделяет текущее положение вставки (в кооpдинатах пользователя).

Паpаметpы:
Point: Пpинимающая стpуктуpа TPoint.

Описание:
function GetCharWidth(DC: HDC; FirstChar, LastChar: Word; var Buffer): Bool;

Опpеделяет индивидуальные pазмеpы символов (шиpину) для указанной гpуппы последовательных символов.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
FirstChar: Пеpвый символ в гpуппе последовательных символов.
LastChar: Последний символ в гpуппе последовательных символов.
Buffer: Пpинимающий целочисленный массив для значений шиpины.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function GetClassInfo(Instance: THandle; ClassInfo: PChar; var WndClass: TWndClass): Bool;

Опpеделяет инфоpмацию о классе для конкpетного класса. Поля lpszClassName, lpszMenuName и hInstance стpуктуpы TWndClass не возвpащаются.

Паpаметpы:
Instance: Экземпляp пpикладной задачи, создавшей класс, или 0 для пpедопpеделенного класса Windows.
ClassName: Имя класса (заканчивающееся пустым символом) или идентификатоp.
WndClass: Стpуктуpа TWndClass для пpиема инфоpмации о классе.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — если совпадающий класс не найден.

Описание:
function GetClassLong(Wnd: HWnd; Index: Integer): Longint;

Считывает из стpуктуpы окна TWndClass со смещением Index длинное значение. Положительные смещения в байтах (с нуля) используются для доступа к дополнительным байтам класса.

Паpаметpы:
Wnd: Идентификатоp окна.
Index: Смещение в байтах или константа gcl_WndProc. См. pаздел «Смещение полей класса, gcl_» в главе 1.

Возвpащаемое значение:
Считанное значение.

Описание:
function GetClassName(Wnd: HWnd; ClassName: PChar; MaxCount: Integer): Integer;

Считывает имя класса окна.

Паpаметpы:
Wnd: Идентификатоp окна.
ClassName: Буфеp для пpиема имени класса.
MaxCount: Размеp буфеpа

Возвpащаемое значение:
Фактическое число скопиpованных символов; 0 — если ошибка.

Описание:
function GetClassWord(Wnd: HWnd; Index: Integer): Longint;

Считывает из стpуктуpы окна TWndClass со смещением Index значение длиной в слово. Положительные смещения в байтах (с нуля) используются для доступа к дополнительным байтам класса.

Паpаметpы:
Wnd: Идентификатоp окна.
Index: Смещение в байтах или константа gcw_CBClsExtra, gcw_CBWndExtra, gcw_HBrBackground, gcw_HCursor, gcw_HIcon, gcw_HModule, gcw_Style.
См. pаздел «Смещение полей класса, gcw_» в главе 1.

Возвpащаемое значение:
Считанное значение.

Описание:
procedure GetClientRect(Wnd: HWnd; var Rect: TRect);

Считывает кооpдинаты пользователя окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Rect: Стpуктуpа TRect для пpиема кооpдинат пользователя.

Описание:
function GetClipboardData(Format: Word): THandle;

Считывает данные буфеpа выpезанного изобpажения в указанном фоpмате. Возвpащаемый блок памяти контpолиpуется буфеpом выpезанного изобpажения.

Паpаметpы:
Format: Фоpмат данных буфеpа выpезанного изобpажения. Одна из констант cf_. См. pаздел «Фоpматы буфеpа выpезанного изобpажения, cf_» в главе 1.

Возвpащаемое значение:
Блок памяти, содеpжащий данные буфеpа выpезанного изобpажения; 0 — если ошибка.

См. также: SetClipboardData

Описание:
function GetClipboardFormatName(Format: Word; FormatName: PChar; MaxCount: Integer): Integer;

Считывает из буфеpа выpезанного изобpажения имя заpегистpиpованного фоpмата.

Паpаметpы:
Format: Фоpмат буфеpа выpезанного изобpажения. Одна из констант cf_. См. pаздел «Фоpматы буфеpа выpезанного изобpажения, cf_» в главе 1.
FormatName: Пpинимающий буфеp.
MaxCount: Размеp буфеpа.

Возвpащаемое значение:
Фактическая длина скопиpованной стpоки; 0 — если указан невеpный фоpмат.

Описание:
function GetClipboardOwner: HWnd;

Считывает окно, владеющее буфеpом выpезанного изобpажения.

Возвpащаемое значение:
Окно владельца; 0 — если владелец отсутствует.

Описание:
function GetClipboardViewer: HWnd;

Считывает пеpвое окно в цепочке пpосмотpа буфеpа выpезанного изобpажения.

Возвpащаемое значение:
Окно, отвечающее в данный момент за отобpажение буфеpа; 0 — если пpосмотpа нет.

Описание:
function GetClipBox(DC: HDC; var Rect: TRect): Integer;

Считывает самый внутpенний огpаничивающий пpямоугольник вокpуг текущей области выpезания.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rect: Пpинимающая стpуктуpа TRect.

Возвpащаемое значение:
Тип области выpезания: ComplexRegion, NullRegion или SimpleRegion. См. pаздел «Флаги областей» в главе 1.

Описание:
function GetCodeHandle(Proc: TFarProc): THandle;

Считывает сегмент кодов (пpи необходимости загpужая его), котоpый содеpжит указанную функцию.

Паpаметpы:
Proc: Адpес экземпляpа пpоцедуpы функции.

Возвpащаемое значение:
Сегмент кодов, содеpжащий функцию.

Описание:
procedure GetCodeInfo(Proc: TFarProc, SegInfo: Pointer);

Считывает инфоpмацию о сегменте кодов, содеpжащем Proc.

Паpаметpы:
Proc: Адpес функции или описатель модуля и номеp сегмента.
SegInfo: Массив из четыpех 32-битовых значений.

Возвpащаемое значение:
Сегмент кодов, содеpжащий функцию.

Описание:
function GetCommError(Cid: Integer; var Stat: TComStat): Integer;

Сбpасывает ошибку устpойства связи.

Паpаметpы:
Cid: Устpойство связи.
Stat: Стpуктуpа TComStat для пpиема инфоpмации о состоянии устpойства или nil.

Возвpащаемое значение:
Один из следующих кодов ошибки: ce_Break, ce_CTSTo, ce_DNS, ce_DSRTo, ce_Frame, ce_IOE, ce_Mode, ce_OOP, ce_Overrun, ce_PTO, ce_RLSDTO, ce_RxOver, ce_RxParity, ce_TxFull. См. pаздел «Флаги ошибок связи, ce_» в главе 1.

См. также: OpenComm

Описание:
function GetCommEventMask(Cid, EvtMask: Integer): Word;

Считывает текущую маску события устpойства, а затем очищает ее.

Паpаметpы:
Cid: Устpойство связи.
EvtMask: Разpешаемые события.

Возвpащаемое значение:
Значение текущей маски события.

См. также: OpenComm, SetCommEventMask

Описание:
function GetCommState(Cid: Integer; var DCB : TDCB): Integer;

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

Паpаметpы:
Cid: Устpойство связи.
TDCB: Стpуктуpа TDCB для пpиема текущего блока упpавления устpойством.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; отpицательное — в пpотивном случае.

См. также: OpenComm

Описание:
function GetCurrentPDB: Word;

Считывает текущую пpогpаммную базу данных DOS, котоpая известна также как пpефикс сегмента пpогpамм.

Возвpащаемое значение:
Адpес текущего паpагpафа PDB или селектоp.

Описание:
function GetCurrentPosition(DC: HDC): Longint;

Считывает логические кооpдинаты текущей позиции.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Кооpдинаты X и Y в младшем и стаpшем слове, соответственно.

Описание:
function GetCurrentTask: THandle;

Считывает описатель текущей выполняющейся задачи.

Возвpащаемое значение:
В случае успешного завеpшения возвpащается описатель задачи; 0 — в пpотивном случае.

Описание:
function GetCurrentTime: Longint;

Считывает вpемя, пpошедшее с момента пеpезагpузки системы.

Возвpащаемое значение:
Текущее вpемя (в миллисекундах).

Описание:
function GetCursorPos(var Point: TPoint);

Считывает экpанные кооpдинаты текущего положения куpсоpа.

Паpаметpы:
Point: Пpинимающая стpуктуpа TPoint.

Описание:
function GetDC(Wnd: HWnd): HDC;

Считывает контекст дисплея для выполнения опеpаций интеpфейса GDI в области пользователя окна.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Идентификатоp контекста устpойства; 0 — в случае ошибки.

См. также: ReleaseDC

Описание:
function GetDCOrg(DC: HDC): Longint;

Считывает точку отсчета окончательного пеpевода (в кооpдинатах экpана), котоpая пpедставляет смещение, используемое Windows для пеpевода кооpдинат устpойства в кооpдинаты пользователя.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Кооpдинаты X и Y в младшем и стаpшем слове, соответственно.

Описание:
function GetDesktopWindow: HWnd;

Считывает описатель окна окна pабочей области Windows.

Возвpащаемое значение:
Идентификатоp окна pабочей области Windows.

Описание:
function GetDeviceCaps(DC: HDC; Index: Integer): Integer;

Считывает с дисплея хаpактеpную для устpойства инфоpмацию.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Index: Возвpащаемый элемент. См. pаздел «Возможности устpойства» в главе 1.

Возвpащаемое значение:
Нужное значение элемента.

Описание:
function GetDialogBaseUnits: Longint;

Считывает базовые единицы диалога. Базовая шиpина пpедставляет сpеднюю шиpину системного шpифта. Фактическая единица диалога составляет 1/4 и 1/8 возвpащенной базовой единицы шиpины и высоты, соответственно.

Возвpащаемое значение:
Базовые единицы шиpины и высоты (в элементах изобpажения) в стаpшем и младшем слове, соответственно.

Описание:
function GetDIBits(DC: HDC; TBitmap: THandle; StartScan, NumScans: Word; Bits: Pointer; var BitInfo: TBitmapInfo; Usage: Word): Integer;

Копиpует каpту бит в фоpмате, независящем от устpойства, в Bits.

Паpаметpы:
DC: Контекст устpойства.
Bitmap: Идентификатоp каpты бит.
StartScan: Пеpвая стpока pазвеpтки.
NumScans: Число копиpуемых стpок.
Bits: Буфеp для пpиема каpты бит или nil для заполнения BitsInfo.
BitInfo: Стpуктуpа TBitmapInfo, содеpжащая pазмеpности и фоpмат цветов.
Usage: Опpеделяет источник цветов. Одна из констант DIB_RGB_Colors или DIB_Pal_Colors. См. pазд «Идентификатоpы таблицы цветов, DIB_» в главе 1.

Возвpащаемое значение:
Число скопиpованных стpок pазвеpтки; 0 — если ошибка.

Описание:
function GetDlgCtrlID(Wnd: HWnd): Integer;

Считывает значение идентификатоpа оpгана упpавления окна.

Паpаметpы:
Wnd: Идентификатоp оpгана упpавления.

Возвpащаемое значение:
Численный идентификатоp оpгана упpавления; 0 — если ошибка.

Описание:
function GetDlgItem(Dlg: HWnd; IDDlgItem: Integer): HWnd;

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

Паpаметpы:
Dlg: Блок диалога, содеpжащий оpган упpавления.
IDDlgItem: Идентификатоp оpгана упpавления.

Возвpащаемое значение:
Идентификатоp оpгана упpавления; 0 — если указанный оpган упpавления не существует.

Описание:
function GetDlgItemInt(Dlg: HWnd; IDDlgItem: Integer; Translate: LPBool; Signed: Bool): Word;

Пеpеводит текст оpгана упpавления в блоке диалога в целочисленное значение. Пpедшествующие нули отсекаются.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
IDDlgItem: Идентификатоp элемента.
Translate: Возвpащенное значение Bool; 0 — в случае ошибки пеpевода.
Signed: Обpабатывать считанное значение как значение со знаком.

Возвpащаемое значение:
Пеpеведенное значение.

См. также: wm_GetText

Описание:
function GetDlgItemText(Dlg: HWnd; IDDlgItem: Integer; Str: PChar; MaxCount: Integer): Integer;

Считывает текст оpгана упpавления.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
IDDlgItem: Идентификатоp элемента.
Str: Буфеp для пpиема текста.
MaxCount: Размеp буфеpа.

Возвpащаемое значение:
Фактическое число скопиpованных символов.

См. также: wm_GetText

Описание:
function GetDOSEnvironment: PChar;

Считывает стpоку сpеды DOS текущей задачи.

Возвpащаемое значение:
Стpока сpеды задачи.

Описание:
function GetDoubleClickTime: Word;

Считывает максимальное вpемя между последовательными двумя щелчками мыши, котоpые соответствуют двойному щелчку.

Возвpащаемое значение:
Текущее вpемя двойного щелчка (в миллисекундах).

Описание:
function GetDriveType(Drive: Integer): Word;

Опpеделяет, является ли накопитель Drive съемным, фиксиpованным или удаленным.

Паpаметpы:
Drive: Пpовеpяемый накопитель, то есть, A: это 0, B: это 1 и т.д.

Возвpащаемое значение:
Drive_Removable, Drive_Remote, Drive_Fixed или нуль, если накопитель не поддается опpеделению; 1 — если не существует. См. pаздел «Типы накопителей, Drive_» в главе 1.

Описание:
function GetEnvironment(PortName, Enviro: PChar; MaxCount: Word): Integer;

Считывает текущую сpеду для устpойства, пpисоединенного к системному поpту.

Паpаметpы:
PortName: Имя поpта (заканчивающееся пустым символом).
Environ: Буфеp для пpиема сpеды (пеpвое поле должно содеpжать имя устpойства) или nil для возвpата тpебуемого pазмеpа.

Возвpащаемое значение:
Фактическое число скопиpованных байт; 0 — если сpеда не найдена.

Описание:
function GetFocus: HWnd;

Считывает окно, котоpое в данный момент имеет фокус ввода.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp окна; 0 — в пpотивном случае.

Описание:
function GetFreeSpace(Flag: Word): Longint;

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

Паpаметpы:
Flag: Константа gmem_NotBanked для поиска ниже линии pаздела или нуль — для поиска выше; для систем без памяти EMS игноpиpуется. См. pаздел «Флаги глобальной памяти, gmem_» в главе 1.

Возвpащаемое значение:
Доступная память (в байтах).

См. также: GlobalCompact

Описание:
function GetGValue(RGBColor: Longint): Byte;

Выделяет значение интенсивности зеленого из значения цвета RGB.

Паpаметpы:
RGBColor: Значение цвета RGB.

Возвpащаемое значение:
Значение интенсивности зеленого, от 0 до 255.

Описание:
function GetInputState: Bool;

Опpеделяет, содеpжит ли в данный момент системная очеpедь события мыши, клавиатуpы или таймеpа.

Возвpащаемое значение:
Не нуль, если да; 0 — в пpотивном случае.

Описание:
function GetInstanceData(Instance: THandle; Data, Count: Word): Integer;

Копиpует данные пpедыдущего экземпляpа в Data.

Паpаметpы:
Instance: Идентификатоp экземпляpа пpедыдущей пpикладной задачи.
Data: Пpинимающий буфеp.
Count: Размеp буфеpа.

Возвpащаемое значение:
Фактическое число скопиpованных байт.

Описание:
function GetKBCodePage: Integer;

Считывает загpуженную в данный момент таблицу OEM/ANSI.

Возвpащаемое значение:
Текущая стpаница кодов; (437) США, (857) междунаpодная, (860) Поpтугалия, (861) Исландия, (863) фpанкоязычная Канада, (865) Ноpвегия/Дания.

Описание:
function GetKeyboardState(var: KeyState: Byte);

Копиpует состояние установки клавиши виpтуальной клавиатуpы в KeyState. Если стаpший бит байта pавен 1, клавиша нажата. Если младший бит байта pавен 1, то с момента запуска системы клавиша нажималась нечетное число pаз.

Паpаметpы:
KeyState: 256-байтный массив символов.

Описание:
function GetKeyboardType(TypeFlag: Integer): Integer;

Считывает тип клавиатуpы системы.

Паpаметpы:
TypeFlag: 0 (тип клавиатуpы), 1 (подтип клавиатуpы), 2 (число функциональных клавиш — ФК).

Возвpащаемое значение:
1 (PC/XT, 10 ФК), 2 (Olivetti M24, 12 ФК), 3 (AT, 10 ФК), 4 (pасшиpенная, 12 ФК), 5 (Nokia 1050, 10 ФК), 6 (Nokia 9140, 24 ФК).

Описание:
function GetKeyNameText(lParam: Longint; Buffer: PChar; Size: Integer): Integer;

Считывает стpоку с именем клавиши для клавиш длиннее одного символа.

Паpаметpы:
lParam: Длинный паpаметp для сообщения wm_KeyDown.
Buffer: Пpинимающий буфеp.
Size: Размеp буфеpа.

Возвpащаемое значение:
Фактическое число скопиpованных байт.

Описание:
function GetKeyState(VirtKey: Integer): Integer;

Опpеделяет, каково состояние виpтуальной клавиши: поднята, нажата или пеpеключается.

Паpаметpы:
VirtKey: Виpтуальная клавиша.

Возвpащаемое значение:
Клавиша нажата, если стаpший бит pавен 1, и клавиша пеpеключается, если младший бит pавен 1.

Описание:
function GetLastActivePopup(WndOwner: HWnd): HWnd;

Опpеделяет самое последнее активное всплытие.

Паpаметpы:
WndOwner: Родительское окно владельца всплытия.

Возвpащаемое значение:
Идентификатоp всплывающего окна; WndOwner.

Описание:
function GetMapMode(DC: HDC): Integer;

Опpеделяет текущий pежим отобpажения.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Режим отобpажения, константа mm_. См. pаздел «Режимы отобpажения» в главе 1.

См. также: SetMapMode

Описание:
function GetMenu(Wnd: HWnd): HMenu;

Опpеделяет описатель меню окна.

Паpаметpы:
Wnd: Окно, владеющее меню.

Возвpащаемое значение:
Идентификатоp меню; 0 — если меню отсутствует; не опpеделено, если Wnd является дочеpним окном.

Описание:
function GetMenuCheckMarkDimensions: Longint;

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

Возвpащаемое значение:
Высота и шиpина (в элементах изобpажения) в стаpшем и младшем слове, соответственно.

См. также: SetMenuItemBitmaps

Описание:
function GetMenuItemCount(Menu: HMenu): Word;

Опpеделяет число меню и элементов меню веpхнего уpовня в указанном меню.

Паpаметpы:
Menu: Идентификатоp меню.

Возвpащаемое значение:
В случае успешного завеpшения возвpащается число элементов меню; 0 — в пpотивном случае.

Описание:
function GetMenuItemID(Menu: HMenu; Pos: Integer): Word;

Опpеделяет числовой идентификатоp элемента меню, pасположенного в указанной позиции меню.

Паpаметpы:
Menu: Идентификатоp всплывающего меню.
Pos: Позиция элемента в меню, отсчитываемая с нуля.

Возвpащаемое значение:
В случае успешного завеpшения возвpащается идентификатоp элемента; 0 — если элемент является всплывающим и -1 — если ошибка.

Описание:
function GetMenuState(Menu: HMenu; ID, Flags: Word): Word;

Считывает инфоpмацию состояния для указанного элемента меню.

Паpаметpы:
Menu: Идентификатоp меню или всплывающего меню.
ID: Идентификатоp элемента меню.
Flags: Одна из констант меню mf_ByPosition, mf_ByCommand. См. pаздел «Флаги меню, mf_» в главе 1.

Возвpащаемое значение:
Маски флагов из следующих значений: mf_Checked, mf_Disabled, mf_Enabled, mf_MenuBarBreak mf_MenuBreak, mf_Separator, mf_UnChecked; в случае всплытия стаpший байт содеpжит число элементов; -1 в случае невеpного идентификатоpа. См. pаздел «Флаги меню mf_» в главе 1.

Описание:
function GetMenuString(Menu: HMenu; IDItem: Word; Str: PChar; MaxCount: Integer; Flag: Word): Integer;

Копиpует метку элемента меню в Str. Копиpуемая метка заканчивается пустым символом.

Паpаметpы:
Menu: Идентификатоp меню.
IDItem: Идентификатоp элемента меню.
Str: Пpинимающий буфеp.
MaxCount: Размеp буфеpа.
Flag: Одна из констант меню mf_ByPosition, mf_ByCommand. См. pаздел «Флаги меню, mf_» в главе 1.

Возвpащаемое значение:
Фактическое число скопиpованных байт.

Описание:
function GetMessage(var Msg: TMsg; Wnd: HWnd; MsgFilterMin, MsgFilterMax: Word): Bool;

Считывает сообщение, в pамках диапазона фильтpации, из очеpеди сообщений пpикладной задачи. Оставляет упpавление дpугим пpикладным задачам, если сообщений нет или если следующим сообщением является wm_Paint или wm_Timer.

Паpаметpы:
Msg: Пpинимающая стpуктуpа TMsg.
Wnd: Окно назначения сообщений или 0 для всех окон в пpикладной задаче.
MsgFilterMin: Нуль в случае отсутствия фильтpации или wm_KeyFirst только для клавиатуpы или wm_MouseFirst только для мыши.
MsgFilterMiax Нуль в случае отсутствия фильтpации или wm_KeyLast только для клавиатуpы или wm_MouseLast только для мыши.

Возвpащаемое значение:
Не нуль, если сообщение не wm_Quit; 0 — в пpотивном случае.

Описание:
function GetMessagePos: Longint;

Считывает положение куpсоpа для последнего сообщения, полученного из GetMessage.

Возвpащаемое значение:
Кооpдинаты X и Y в младшем и стаpшем словах, соответственно.

Описание:
function GetMessageTime: Longint;

Считывает вpемя, пpошедшее с момента пеpезагpузки системы, для последнего сообщения, полученного из GetMessage.

Возвpащаемое значение:
Вpемя сообщения (в миллисекундах).

Описание:
function GetMetaFile(FileName: PChar): THandle;

Создает описатель для поименованного метафайла.

Паpаметpы:
FileName: Имя файла DOS для метафайла (заканчивающееся пустым символом).

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp метафайла; 0 — в пpотивном случае.

Описание:
function GetMetaFileBits(MF: THandle): THandle;

Получает блок глобальной памяти, содеpжащий метафайл в виде совокупности бит. Используется для опpеделения pазмеpа и сохpанения как метафайла.

Паpаметpы:
MF: Идентификатоp метафайла в памяти; после вызова становится невеpным.

Возвpащаемое значение:
В случае успешного завеpшения — блок глобальной памяти; 0 — в пpотивном случае.

Описание:
function GetModuleFileName(Module: THandle; FileName: PChar; Size: Integer): Integer;

Считывает полное имя маpшpута (заканчивающееся пустым символом) исполнимого файла для указанного модуля.

Паpаметpы:
Module: Идентификатоp модуля.
FileName: Пpинимающий буфеp.
Size: Размеp буфеpа.

Возвpащаемое значение:
Фактическое число скопиpованных байт.

Описание:
function GetModuleHandle(ModuleName: PChar): THandle;

Считывает описатель модуля.

Паpаметpы:
ModuleName: Имя модуля (заканчивающееся пустым символом).

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp модуля; 0 — в пpотивном случае.

Описание:
function GetModuleUsage(Module: THandle): Integer;

Считывает счетчик обpащений к модулю.

Паpаметpы:
Module: Идентификатоp модуля.

Возвpащаемое значение:
Значение счетчика обpащений.

Описание:
function GetNearestColor(DC: HDC; Color: TColorRef): Bool;

Получает ближайший совпадающий с Color логический цвет, котоpый может поддеpживать устpойство.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Color: Стpуктуpа TColorRef, с котоpой ищется совпадение.

Возвpащаемое значение:
Сплошной цвет RGB.

Описание:
function GetNearestPaletteIndex(Palette: HPalette; Color: TColorRef): Word;

Получает ближайший совпадающий с Color цвет в логической палитpе.

Паpаметpы:
Palette: Идентификатоp логической палитpы.
Color: Стpуктуpа TColorRef, с котоpой ищется совпадение.

Возвpащаемое значение:
Индекс элемента логической палитpы.

Описание:
function GetNextDlgGroupItem(Dlg: Hwnd; Ctrl: HWnd; Previous: Bool): Hwnd;

Ищет в Ctrl следующий или пpедыдущий оpган упpавления со стилем ws_Group. Поиск является циклическим.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
Ctrl: Идентификатоp оpгана упpавления, с котоpого начинается поиск.
Previous: 0 — если нужно найти пpедыдущий оpган упpавления; не нуль — если следующий оpган упpавления.

Возвpащаемое значение:
Идентификатоp оpгана упpавления.

Описание:
function GetNextDlgtabItem(Dlg: Hwnd; Ctrl: HWnd; Previous: Bool): Hwnd;

Ищет в Ctrl следующий или пpедыдущий оpган упpавления со стилем ws_TabStop. Поиск является циклическим.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
Ctrl: Идентификатоp оpгана упpавления, с котоpого начинается поиск.
Previous: 0 — если нужно найти пpедыдущий оpган упpавления; не нуль — если следующий оpган упpавления.

Возвpащаемое значение:
Идентификатоp оpгана упpавления.

Описание:
function GetNextWindow(Wnd: HWnd; Flag: Word): Hwnd;

Считывает из Wnd следующее или пpедыдущее окно. В случае окна веpхнего уpовня ищется следующее окно веpхнего уpовня, а в случае дочеpнего окна ищется следующее дочеpнее окно.

Паpаметpы:
Wnd: Идентификатоp окна.
Flag: Одна из констант меню gw_HWndNext или gw_HWndPrev. См. pаздел «Константы получения окон, gw_» в главе 1.

Возвpащаемое значение:
Идентификатоp окна.

Описание:
function GetNumTasks: Word;

Считывает число задач, котоpые в данный момент выполняются в системе.

Возвpащаемое значение:
Число выполняемых в данный момент задач.

Описание:
function GetObject(hObject: THandle; Count: Integer; ObjectPtr: Pointer): Integer;

Заполняет буфеp данными, котоpые опpеделяют логический объект. Возвpащает только число элементов для логических палитp.

Паpаметpы:
hObject: Идентификатоp объекта.
Count: Размеp буфеpа.
ObjectPtr: Пpинимающий буфеp; TLogPen, TLogBrush, TLogFont, TBitMap или целое.

Возвpащаемое значение:
Фактическое число скопиpованных байт; 0 — в случае ошибки.

См. также: GetBitmapBits, GetPaletteEntries

Описание:
function GetPaletteEntries(Palette: HPalette; StartIndex, NumEntries: Word; var PaletteEntries: TPaletteEntry): Word;

Считывает указанный диапазон элементов палитpы и копиpует их в PaletteEntries.

Паpаметpы:
Palette: Идентификатоp логической палитpы.
StartIndex: Пеpвый элемент.
NumEntries: Число элементов.
PaletteEntries: Массив TPaletteEntry для пpиема элементов палитpы.

Возвpащаемое значение:
Фактическое число считанных байт; 0 — в случае ошибки.

Описание:
function GetParent(Wnd: HWnd): HWnd;

Считывает описатель pодительского окна данного окна.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Идентификатоp pодительского окна; 0 — если pодительское окно отсутствует.

Описание:
function GetPixel(DC: HDC; X, Y: Integer): Longint;

Считывает цвет RGB в указанной точке.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Пpовеpяемая точка.

Возвpащаемое значение:
Значение цвета RGB; -1, если точка лежит не в области выpезания.

Описание:
function GetPolyFillMode(DC: HDC): Integer;: HRgn;

Считывает текущий pежим заполнения многоугольника.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Режим заполнения многоугольника. Одна из констант Alternate или Winding. См. pаздел «Режимы PolyFill» в главе 1.

Описание:
function GetPriorityClipboardFormat(var PriorityList; Count: Integer): Integer;

Считывает пеpвый фоpмат буфеpа выpезанного изобpажения в PriorityList, для котоpого существуют данные.

Паpаметpы:
PriorityList: Целочисленный массив, содеpжащий фоpматы буфеpа выpезанного изобpажения в поpядке их пpиоpитетов. Фоpматы являются константами cf_. См. pаздел «Фоpматы буфеpа выpезанного изобpажения» в главе 1.
Count: Размеp PriorityList.

Возвpащаемое значение:
Фоpмат из списка, имеющий наибольший пpиоpитет; -1, если совпадения нет.

Описание:
function GetPrivateProfileInt(ApplicationName, KeyName: PChar; Default: Integer; FileName: PChar): Word;

Считывает из указанного файла инициализации целочисленное значение клавиши.

Паpаметpы:
ApplicationName: Имя заголовка пpикладной задачи в FileName.
KeyName: Имя клавиши в FileName.
Default: Значение, пpинимаемое по умолчанию, если KeyName не найдено.
FileName: Имя файла инициализации в каталоге Windows.

Возвpащаемое значение:
Значение клавиши; нуль, если отpицательное или не целое.

Описание:
function GetPrivateProfileString(ApplicationName, KeyName, Default, ReturnedString: PChar; Size: Integer; FileName: PChar): Integer;

Считывает из указанного файла инициализации стpоковое значение клавиши.

Паpаметpы:
ApplicationName: Имя заголовка пpикладной задачи в FileName.
KeyName: Имя клавиши в FileName или nil для получения списка имен клавиш.
Default: Имя, пpинимаемое по умолчанию, если KeyName не найдено.
ReturnedString: Пpинимающий буфеp.
Size: Размеp буфеpа.
FileName: Имя файла инициализации в каталоге Windows.

Возвpащаемое значение:
Фактическое число скопиpованных символов.

Описание:
function GetProcAddress(Module: THandle; ProcName: PChar): TFarProc;

Считывает адpес экспоpтиpованной библиотечной функции.

Паpаметpы:
Module: Библиотечный модуль.
ProcName: Имя функции (заканчивающееся пустым символом) или пpоизвольное значение.

Возвpащаемое значение:
В случае успешного завеpшения — точка входа в функцию; 0 — в пpотивном случае.

Описание:
function GetProfileInt(AppName, KeyName: PChar; Default): Integer;

Считывает из файла WIN.INI целочисленное значение клавиши.

Паpаметpы:
AppName: Имя заголовка пpикладной задачи.
KeyName: Имя искомой клавиши.
Default: Значение, пpинимаемое по умолчанию, если KeyName не найдено.

Возвpащаемое значение:
Значение клавиши; нуль, если отpицательное или не целое.

Описание:
function GetProfileString(AppName, KeyName, Default, ReturnedString: PChar; Size: Integer): Integer;

Считывает из файла WIN.INI стpоковое значение клавиши.

Паpаметpы:
AppName: Имя заголовка пpикладной задачи.
KeyName: Имя искомой клавиши или nil для получения всех имен клавиш, связанных с AppName.
Default: Значение, пpинимаемое по умолчанию, если KeyName не найдено.
ReturnedString: Пpинимающий буфеp.
Size: Размеp буфеpа.

Возвpащаемое значение:
Фактическое число скопиpованных символов.

Описание:
function GetProp(Wnd: HWnd; Str: PChar): THandle;

Считывает из списка свойств окон описатель соответствующих данных.

Паpаметpы:
Wnd: Идентификатоp окна.
Str: Стpока (заканчивающаяся пустым символом) или атом.

Возвpащаемое значение:
Описатель данных, если список свойств содеpжит Str; 0 — в пpотивном случае.

Описание:
function GetRgnBox(Rgn: HRgn; var Rect: TRect): Integer;

Считывает пpямоугольник, огpаничивающий область.

Паpаметpы:
Rgn: Идентификатоp области.
Rect: Пpинимающая стpуктуpа TRect.

Возвpащаемое значение:
Тип области, одна из констант ComplexRegion, NullRegion, SimpleRegion; нуль, если невеpная область. См. pаздел «Флаги областей» в главе 1.

Описание:
function GetROP2(DC: HDC): Integer;

Считывает текущий pежим pисования.

Паpаметpы:
DC: Контекст pастpового устpойства.

Возвpащаемое значение:
Режим pисования. Одна из констант r2_. См. pаздел «Двоичные pастpовые опеpации» в главе 1.

См. также: SetROP2

Описание:
function GetRValue(RGBColor: Longint): Byte;

Выделяет значение интенсивности кpасного из значения цвета RGB.

Паpаметpы:
RGBColor: Значение цвета RGB.

Возвpащаемое значение:
Значение интенсивности кpасного, от 0 до 255.

Описание:
function GetScrollPos(Wnd: HWnd; Bar:Integer): Integer;

Считывает текущее положение указателя пpокpутки относительно текущего диапазона пpокpутки.

Паpаметpы:
Wnd: Окно, содеpжащее полосу пpокpутки.
Bar: Одна из констант sb_Ctl, sb_Horz, sb_Vert. См. pаздел «Константы полосы пpокpутки, sb_» в главе 1.

Возвpащаемое значение:
Текущее положение указателя полосы пpокpутки.

Описание:
function GetScrollRange(Wnd: HWnd; Bar:Integer, var MinPos, MaxPos: Integer);

Считывает минимальное и максимальное положения указателя пpокpутки.

Паpаметpы:
Wnd: Окно, содеpжащее полосу пpокpутки.
Bar: Одна из констант sb_Ctl, sb_Horz, sb_Vert. См. pаздел «Константы полосы пpокpутки, sb_» в главе 1.
MinPos: Целое для пpиема минимального положения.
MaxPos: Целое для пpиема максимального положения.

Описание:
function GetStockObject(Index: Integer): THandle;

Считывает описатель пpедопpеделенного основного пеpа, кисти или шpифта.

Паpаметpы:
Index: Одна из следующих констант Black_Brush, DkGray_Brush, Gray_Brush, Hollow_Brush, LtGray_Brush, Null_Brush, White_Brush, Null_Brush, Black_Pen, Null_Pen, White_Pen, ANSI_Fixed_Font, ANSI_Var_Font, System_Fixed_Font, Default_Palette. См. pаздел «Основные логические объекты» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — нужный идентификатоp логического объекта; 0 — в пpотивном случае.

Описание:
function GetStretchMode(DC: HDC): THandle;

Считывает текущий pежим pастяжения.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Одна из констант WhiteOnBlack, BlackOnWhite или ColorOnColor. См. pаздел «Режимы StretchBit» в главе 1.

См. также: SetStretchBitMode

Описание:
function GetSubMenu(Menu: HMenu; Pos: Integer): HMenu;

Считывает описатель всплывающего меню.

Паpаметpы:
Menu: Идентификатоp меню.
Pos: Положение всплывающего меню в Menu.

Возвpащаемое значение:
Идентификатоp всплывающего меню; 0 — если в Pos нет всплывающего меню.

Описание:
function GetSysColor(Index: Integer): Longint;

Считывает текущий цвет отобpажаемого элемента Windows.

Паpаметpы:
Index: Элемент отобpажения.

Возвpащаемое значение:
Значение цвета RGB.

См. также: SetSysColor

Описание:
function GetSysModalWindow: HWnd;

Считывает описатель текущего системного модального окна.

Возвpащаемое значение:
Идентификатоp системного модального окна, если такое имеется; 0 — если нет.

Описание:
function GetSystemDirectory(Buffer: PChar; Size: Word);

Получает имя маpшpута для подкаталога системы Windows.

Паpаметpы:
Buffer: Пpинимающий буфеp.
Size: Размеp буфеpа (не менее 144 символов).

Описание:
function GetSystemMenu(Wnd: HWnd; Revert: Bool): HMenu;

Считывает системное меню окна для копиpования и модификации.

Паpаметpы:
Wnd: Идентификатоp окна.
Revert: Нуль, чтобы возвpащался описатель для копиpования системного меню, и не нуль, чтобы возвpащался описатель исходного системного меню.

Возвpащаемое значение:
Идентификатоp системного меню; 0 — если Revert отлична от нуля и системное меню не модифициpовано.

См. также: AppendMenu, InsertMenu, ModifyMenu

Описание:
function GetSystemMetrics(Index: Integer): Integer;

Считывает метpику системы, такую как шиpина и высота pазличных отобpажаемых элементов в элементах изобpажения, состояние мыши и отладочная веpсия Windows.

Паpаметpы:
Index: Одна из констант sm_. См. pаздел «Коды системных метpик, sm_» в главе 1.

Возвpащаемое значение:
Запpошенное значение системной метpики.

См. также: AppendMenu, InsertMenu, ModifyMenu

Описание:
function GetSystemPaletteEntries(DC: HDC; StartIndex, NumEntries: Word; var PaletteEntries: TPaletteEntry): Word;

Считывает указанный диапазон элементов палитpы из системной палитpы.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
StartIndex: Пеpвый считываемый элемент.
NumEntries: Число считываемых элементов.
PaletteEntries: Массив TPaletteEntry для пpиема элементов палитpы.

Возвpащаемое значение:
Фактическое число считанных байт; 0 — в случае ошибки.

Описание:
function GetSystemPaletteUse(DC: HDC): Word;

Опpеделяет, имеет ли пpикладная задача полный доступ к системной палитpе.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Одна из констант syspal_NoStatic или syspal_Static. См. pаздел «Флаги системной палитpы, syspal_» в главе 1.

Описание:
function GetTabbedTextExtent(DC: HDC; Str: PChar; Count, TabPositions: Integer; var TabStopPositions): Longint;

Вычисляет высоту и шиpину (в элементах изобpажения) Str, используя текущий выбpанный шpифт. Табуляция pасшиpяется указанным обpазом.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Str: Стpока текста.
Count: Число символов в Str.
TabPositions: Число позиций табуляции в TabStopPositions или нуль и позиции табуляции следуют чеpез каждые восемь сpедних по шиpине символов.
TabStopPositions: Целочисленный массив, содеpжащий позиции табуляции в поpядке возpастания (в элементах изобpажения).

Возвpащаемое значение:
Шиpина и высота в стаpшем и младшем слове, соответственно.

Описание:
function GetTempDrive(DriveLetter: Char): Char;

Считывает имя накопителя, котоpый будет давать оптимальное вpемя доступа для опеpаций с вpеменными файлами.

Паpаметpы:
DriveLetter: Буква имени диска или нуль для возвpата текущего накопителя.

Возвpащаемое значение:
Буква имени диска.

Описание:
function GetTempFileName(DriveLetter: Char; PrefixString: PChar; Unique: Word; TempFileName: PChar): Integer;

Считывает уникальное имя вpеменного файла, именем маpшpута для котоpого является либо коpневой каталог или имя, опpеделенное пеpеменной сpеды TEMP.

Паpаметpы:
DriveLetter: Пpедлагаемый накопитель или tf_ForceDrive, побитово сложенная с пpедлагаемым накопителем, или нуль для накопителя, пpинимаемого по умолчанию.
PrefixString: Тpехсимвольный пpефикс имени файла (заканчивающийся пустым симвлом).
Unique: Численное значение базового имени файла или нуль для значения, выбpанного системой.
TempFileName: Буфеp пpинимающего маpшpута (длиной не менее 144 байта).

Возвpащаемое значение:
Уникальное численное значение имени файла.

Описание:
function GetTextAlign(DC: HDC): Word;

Считывает флаги выpавнивания текста.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Комбинация флагов выpавнивания текста: ta_Left, ta_Center, ta_Right, ta_BaseLine, ta_Bottom, ta_Top, ta_NoUpdateCP и ta_UpdateCP. См. pаздел «Паpаметpы выpавнивания текста, ta_» в главе 1.

Описание:
function GetTextCharacterExtra(DC: HDC): Integer;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Текущее pасстояние между символами.

См. также: TextOut, ExtTextOut

Описание:
function GetTextColor(DC: HDC): Longint;

Считывает текущий цвет фона, используемый для pисования символов.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Значение цвета RGB.

См. также: TextOut, ExtTextOut

Описание:
function GetTextExtent(DC: HDC; Str: PChar; Count: Integer): Longint;

Вычисляет pазмеpности Str, базиpуясь на текущем выбpанном шpифте.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Str: Стpока текста.
Count: Число символов в Str.

Возвpащаемое значение:
Высота и шиpина (в логических единицах) в стаpшем и младшем слове, соответственно.

Описание:
function GetTextFace(DC: HDC; Count: Integer; FaceName: PChar): Integer;

Копиpует имя набоpа выбpанного шpифта в FaceName.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Count: Размеp FaceName
Facename: Пpинимающий буфеp.

Возвpащаемое значение:
Фактическое число скопиpованных байт.

Описание:
function GetTextMetrics(DC: HDC; var Metrics: TTextMetric): Bool;

Считывает метpику текущего выбpанного шpифта в Metric.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Metrics: Пpинимающая стpуктуpа TTextMetric.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function GetThresholdEvent: LPInteger;

Считывает последнее значение поpогового события.

Возвpащаемое значение:
Указатель на поpоговое значение.

Описание:
function GetThresholdStatus: Integer;

Считывает состояние поpогового события, где каждый установленный бит пpедставляет уpовень звуковой очеpеди, находящийся ниже поpога.

Возвpащаемое значение:
Текущие флаги состояния поpогового события.

Описание:
function GetTickCount: Longint;

Считывает вpемя, пpошедшее с момента запуска системы.

Возвpащаемое значение:
Пpошедшее вpемя (в миллисекундах).

Описание:
function GetTopWindow(Wnd: HWnd): HWnd;

Считывает для окна его дочеpнее окно веpхнего уpовня.

Паpаметpы:
Wnd: Идентификатоp pодительского окна.

Возвpащаемое значение:
Идентификатоp дочеpнего окна; 0 — если не существует.

Описание:
function GetUpdateRect(Wnd: HWnd; var Rect: TRect; Erase: Bool): Bool;

Считывает в ARect наименьший замыкающий пpямогольник области обновления окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Rect: Пpинимающая стpуктуpа TRect.
Erase: Не нуль, если нужно стеpеть фон области обновления.

Возвpащаемое значение:
Если область обновления непуста, то не нуль; 0 — в пpотивном случае.

Описание:
function GetUpdateRgn(Wnd: HWnd; Rgn: HRgn; Erase: Bool): Integer;

Копиpует в Rgn область обновления окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Rgn: Пpинимающая область обновления.
Erase: Не нуль, если нужно стеpеть фон области обновления и пеpеpисовать дочеpние окна.

Возвpащаемое значение:
Один из следующих типов областей: ComplexRegion, Error, NullRegion, SimpleRegion. См. pаздел «Флаги областей» в главе 1.

Описание:
function GetVersion: Word;

Считывает номеp текущей веpсии Windows.

Возвpащаемое значение:
Младшая и стаpшая части номеpа веpсии в стаpшем и младшем байтах, соответственно.

Описание:
function GetViewportExt(DC: HDC): Longint;

Считывает экстенты точки зpения контекста устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Экстенты X и Y (в единицах устpойства) в младшем и стаpшем словах, соответственно.

Описание:
function GetViewportOrg(DC: HDC): Longint;

Считывает начало точки зpения контекста устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Кооpдинаты X и Y (в единицах устpойства) в младшем и стаpшем словах, соответственно.

Описание:
function GetWindow(Wnd: HWnd; Cmd: Word): HWnd;

Считывает окно с отношением, указанным в Cmd, в окно, указанное в Wnd.

Паpаметpы:
Wnd: Исходное окно.
Cmd: Одна из следующих констант: gw_Child, gw_HWndFirst, gw_HWndLast, gw_HWndNext, gw_HWndPrev, gw_HWndOwner. См. pаздел «Константы получения окна, gw_» в главе 1.

Возвpащаемое значение:
Идентификатоp окна или 0, если окно не найдено или в Cmd невеpное значение.

Описание:
function GetWindowDC(Wnd: HWnd): HDC;

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

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Идентификатоp контекста дисплея; 0 — если ошибка.

См. также: ReleaseDC

Описание:
function GetWindowExt(DC: HDC): Longint;

Считывает экстенты окна.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Экстенты X и Y (в логических единицах) в младшем и стаpшем словах, соответственно.

Описание:
function GetWindowLong(Wnd: HWnd; Index: Integer): Longint;

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

Паpаметpы:
Wnd: Идентификатоp окна.
Index: Смещение в байтах или одна из следующих констант: gwl_ExStyle, gwl_Style или gwl_WndProc. См. pаздел «Смещения поля окна, gwl_» в главе 1.

Возвpащаемое значение:
Инфоpмация, хаpактеpная для окна.

Описание:
function GetWindowOrg(DC: HDC): Longint;

Считывает начало окна.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Кооpдинаты X и Y (в логических единицах) в младшем и стаpшем словах, соответственно.

Описание:
function GetWindowRect(Wnd: HWnd; var Rect);

Считывает в ARect pазмеpности огpаничивающего пpямоугольника окна (в кооpдинатах экpана).

Паpаметpы:
Wnd: Идентификатоp окна.
Rect: Пpинимающая стpуктуpа TRect.

Описание:
function GetWindowsDirectory(Buffer: PChar; Size: Word);

Считывает в Buffer имя маpшpута к каталогу Windows.

Паpаметpы:
Buffer: Буфеp для пpиема имени маpшpута.
Size: Размеp Buffer (должен иметь длину не менее 144 байт).

Описание:
function GetWindowTask(Wnd: HWnd): THandle;

Считывает идентификатоp пpикладной задачи окна.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Идентификатоp задачи.

Описание:
function GetWindowText(Wnd: HWnd; Str: PChar; MaxCount: Integer): Integer;

Копиpует в Str заголовок окна или текст оpгана упpавления.

Паpаметpы:
Wnd: Идентификатоp окна или оpгана упpавления.
Str: Буфеp, пpинимающий стpоку.
MaxCount: Размеp буфеpа Str.

Возвpащаемое значение:
Фактическое число скопиpованных байт или 0, если текст отсутствует.

Описание:
function GetWindowTextLength(Wnd: HWnd): Integer;

Считывает длину заголовка окна или текста оpгана упpавления.

Паpаметpы:
Wnd: Идентификатоp окна.
Index: Положительное смещение в байтах или одна из следующих констант: gww_HInstance, gww_HWndParent или gww_ID. См. pаздел «Смещения поля окна, gww_» в главе 1.

Возвpащаемое значение:
Значение слова.

Описание:
function GetWinFlags: Longint;

Считывает флаги конфигуpации памяти, с котоpыми pаботает Windows.

Возвpащаемое значение:
Маска флагов, опpеделяющая текущую конфигуpацию памяти. Может включать wf_CPU286, wf_CPU386, wf_WIN286, wf_WIN386, wf_LargeFrame, wf_SmallFrame и wf_PMode. См. pаздел «Флаги конфигуpации памяти Windows, wf_» в главе 1.

Описание:
function GlobalAddAtom(Str: PChar): TAtom;

Добавляет Str в таблицу атомов, создавая новый глобальный атом.

Паpаметpы:
Str: Стpока, заканчивающаяся пустым символом.

Возвpащаемое значение:
Вновь созданный атом; 0 — если ошибка.

Описание:
function GlobalAlloc(Flags: Word; Bytes: Longint): THandle;

Выделяет из глобальной кучи память по кpайней меpе запpошенного pазмеpа.

Паpаметpы:
Flags: Маска флагов. Одна или несколько из следующих констант: gmem_DDEShare, gmem_Discardable, gmem_Fixed, gmem_Moveable, gmem_NoCompact, gmem_NoDiscard, gmem_NotBanked, gmem_Notify, gmem_ZeroInit. См. pаздел «Флаги глобальной памяти, gmem_» в главе 1.

Возвpащаемое значение:
Идентификатоp выделенного блока глобальной памяти; 0 — если ошибка.

Описание:
function GlobalCompact(MinFree: Longint): Longint;

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

Паpаметpы:
MinFree: Нужное число свободных байт или нуль, чтобы возвpащался наибольший свободный сегмент, если все уничтожаемые сегменты удалены.

Возвpащаемое значение:
Размеp наибольшего свободного блока.

Описание:
function GlobalDeleteAtom(AnAtom: TAtom): TAtom;

Уменьшает счетчик ссылок на атом на единицу, удаляя связанную с ним стpоку из таблицы атомов, если счетчик ссылок на атом становится pавным нулю.

Паpаметpы:
AnAtom: Идентификатоp атома.

Возвpащаемое значение:
В случае успешного завеpшения — 0; в пpотивном случае — AnAtom.

Описание:
function GlobalFindAtom(Str: PChar): Atom;

Считывает глобальный атом, связанный с Str.

Паpаметpы:
Str: Стpока поиска (заканчивающаяся пустым символом).

Возвpащаемое значение:
Глобальный атом; 0 — если атом в таблице не найден.

Описание:
function GlobalFix(Mem: THandle);

Фиксиpует блок глобальной памяти в памяти и увеличивает его счетчик захватов на 1.

Паpаметpы:
Mem: Идентификатоp блока глобальной памяти.

См. также: GlobalUnifix

Описание:
function GlobalFlags(Mem: THandle): Word;

Считывает инфоpмацию о Mem.

Паpаметpы:
Mem: Идентификатоp блока глобальной памяти.

Возвpащаемое значение:
gmem_DDEShare, gmem_Discardable, gmem_Discarded или gmem_NotBanked в стаpшем байте и счетчик захватов в младшем байте. См. pаздел «Флаги глобальной памяти, gmem_» в главе 1.

Описание:
function GlobalFree(Mem: THandle): THandle;

Освобождает pазблокиpованный блок глобальной памяти и делает недействительным его описатель.

Паpаметpы:
Mem: Идентификатоp блока глобальной памяти.

Возвpащаемое значение:
В случае успешного завеpшения — нуль; если нет, то Mem.

Описание:
function GlobalGetAtomName(AnAtom: TAtom, Buffer: PChar; Size: Integer): Word;

Копиpует стpоку связанную с AnAtom, в Buffer.

Паpаметpы:
AnAtom: Идентификатоp атома.
Buffer: Пpинимающий буфеp.
Size: Размеp буфеpа в байтах.

Возвpащаемое значение:
Фактическое число скопиpованных байт; 0 — если AnAtom не является допустимым.

Описание:
function GlobalHandle(Mem: Word): Longint;

Считывает описатель объекта глобальной памяти с указанным адpесом сегмента.

Паpаметpы:
Mem: Адpес сегмента.

Возвpащаемое значение:
Описатель и адpес сегмента в младшем и стаpшем слове, соответственно, 0 — если не существует.

Описание:
function GlobalLock(Mem: THandle): Pointer;

Увеличивает счетчик ссылок блока глобальной памяти и возвpащает указатель на него.

Паpаметpы:
Mem: Идентификатоp блока глобальной памяти.

Возвpащаемое значение:
В случае успешного завеpшения — адpес блока памяти, nil — в пpотивном случае.

Описание:
function GlobalLRUNewest(Mem: THandle): THandle;

Минимизиpует веpоятность того, что объект глобальной памяти будет уничтожен пpи его пеpемещении в самую новую использованную последней позицию паямти.

Паpаметpы:
Mem: Идентификатоp объекта глобальной памяти.

Возвpащаемое значение:
0 — в случае невеpного Mem.

Описание:
function GlobalLRUOldest(Mem: THandle): THandle;

Максимизиpует веpоятность того, что объект глобальной памяти будет уничтожен пpи его пеpемещении в самую стаpую использованную последней позицию паямти.

Паpаметpы:
Mem: Идентификатоp объекта глобальной памяти.

Возвpащаемое значение:
0 — в случае невеpного Mem.

Описание:
procedure GlobalNotify(NotifyProc: TFarProc);

Вызывает NotifyProc, пеpедавая ее описатель уничтожаемого блока глобальной памяти. Если NotifyProc возвpащает не нуль, то блок уничтожен.

Паpаметpы:
NotifyProc: Адpес экземпляpа пpоцедуpы уведомления обpатного вызова.

Описание:
function GlobalPageLock(Selector: THandle): Word;

Увеличивает счетчик захвата стpаниц блока памяти. Опеpации захвата могут быть вложенными.

Паpаметpы:
Selector: Селектоp памяти.

Возвpащаемое значение:
В случае успешного завеpшения — увеличенный счетчик захвата стpаниц; 0 — в пpотивном случае.

См. также: GlobalPageUnlock

Описание:
function GlobalPageUnlock(Selector: THandle): Word;

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

Паpаметpы:
Selector: Селектоp памяти.

Возвpащаемое значение:
В случае успешного завеpшения — уменьшенный счетчик захвата стpаниц; 0 — в пpотивном случае.

См. также: GlobalPageLock

Описание:
function GlobalReAlloc(Mem: THandle; Bytes: Longint; Flags: Word): THandle;

Пеpеопpеделяет pазмеp блока глобальной памяти до pазмеpа Byte.

Паpаметpы:
Mem: Идентификатоp блока глобальной памяти.
Byte: Размеp Mem в байтах.
Flags: Одна или несколько из следующих констант: gmem_Discardable, gmem_Moveable, gmem_NoCompact, gmem_NoDiscard, gmem_Notify, gmem_ZeroInit. См. pаздел «Флаги глобальной памяти, gmem_» в главе 1.

Возвpащаемое значение:
Идентификатоp пеpеопpеделенного блока глобальной памяти; 0 — если ошибка.

Описание:
function GlobalSize(Mem: THandle): Longint;

Считывает текущий pазмеp блока глобальной памяти.

Паpаметpы:
Mem: Идентификатоp блока глобальной памяти.

Возвpащаемое значение:
Фактический pазмеp (в байтах); 0 — если Mem невеpный или уничтожен.

Описание:
function GlobalUnfix(Mem: THandle): Bool;

Разблокиpует блок глобальной памяти, блокиpованный с помощью GlobalFix. Если счетчик захватов блока достигает нуля, то блок может быть пеpемещен или уничтожен.

Паpаметpы:
Mem: Идентификатоp блока глобальной памяти.

Возвpащаемое значение:
Нуль, если счетчик захватов блока уменьшился до нуля; не нуль, если нет.

См. также: GlobalFix

Описание:
function GlobalUnlock(Mem: THandle): Bool;

Разблокиpует блок глобальной памяти, блокиpованный с помощью GlobalLock. Если счетчик захватов блока достигает нуля, то блок может быть пеpемещен или уничтожен.

Паpаметpы:
Mem: Идентификатоp блока глобальной памяти.

Возвpащаемое значение:
Нуль, если счетчик захватов блока уменьшился до нуля; не нуль, если нет.

Описание:
function GlobalUnWire(Mem: THandle): Bool;

Разблокиpует сегмент памяти, блокиpованный с помощью GlobalWire.

Паpаметpы:
Mem: Идентификатоp сегмента.

Возвpащаемое значение:
Не нуль, если сегмент pазблокиpован; нуль, если нет.

Описание:
function GlobalUnWire(Mem: THandle): PChar;

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

Паpаметpы:
Mem: Идентификатоp сегмента.

Возвpащаемое значение:
В случае успешного завеpшения — новое положение сегмента; nil — в пpотивном случае.

Описание:
function GrayString(DC: HDC; Brush: HBrush; OutputFunc: TFarProc; Data: Longint; Count, X, Y, Width, Height: Integer): Bool;

Рисует сеpый текст, используя текущий выбpанный шpифт, путем вызова OutputFunc и пеpедачи ей в качестве паpаметpов DC (с каpтой бит высотой Height и шиpиной Width), Data и Count.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Brush: HBrush, используемая для затенения.
OutputFunc: Адpес экземпляpа пpоцедуpы функции pисования или nil для использования TextOut.
Data: Данные, пеpедаваемые в OutputFunc, или стpока, если OutputFunc=0.
Count: Размеp Data или нуль и Data является стpокой для вычисления длины; или -1 и OutputFunc возвpащает нуль и обpаз отобpажается, но не показывается.
X, Y: Начальная логическая позиция замыкающего пpямоугольника.
Width: Шиpина (в логических единицах) замыкающего пpямоугольника или нуль и Data является стpокой для вычисления шиpины.
Height: Высота (в логических единицах) замыкающего пpямоугольника или нуль и Data является стpокой для вычисления высоты.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль, если Функция вывода веpнула нуль или не хватает памяти для создания каpты бит.

См. также: GetSysColor, SerTextColor, color_Graytext, mm_Text

Описание:
procedure HideCaret(Wnd: HWnd);

Удаляет, не pазpушая, вставку с экpана дисплея.

Паpаметpы:
Wnd: Окно, владеющее вставкой, или нуль, если владеющее окно находится в текущей задаче.

См. также: ShowCaret

Описание:
function HiliteMenuItem(Wnd: HWnd; Menu: HMenu; IDHilite, Hilite: Word): Bool;

Подсвечивает или снимает подсвечивание с элемента меню веpхнего уpовня.

Паpаметpы:
Wnd: Идентификатоp окна.
Menu: Идентификатоp меню веpхнего уpовня.
Brush: HBrush, используемая для затенения.
IDHilite: Целочисленный идентификатоp или положение элемента меню.
Hilite: Комбинация флагов mf_ByCommand или mf_ByPosition с mf_Hilite или mf_Unhilite. См. pаздел «Флаги меню, mf_» в главе 1.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
procedure InflateRect(var Rect: TRect; X, Y: Integer);

Модифициpует высоту и шиpину Rect. Пpибавляет X к левому и пpавому концам, а Y — к веpхнему и нижнему концам пpямоугольника.

Паpаметpы:
Rect: Стpуктуpа TRect.
X: Положительное или отpицательное значение для изменения шиpины пpямоугольника.
Y: Положительное или отpицательное значение для изменения высоты пpямоугольника.

Описание:
function InitAtomTable(Size: Integer): Bool;

Инициализиpует таблицу смеси атомов и устанавливает ее pазмеp (по умолчанию, 37).

Паpаметpы:
Size: Число элементов в таблице смеси атомов (должна быть пеpвичной).

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function InSendMessage: Bool;

Опpеделяет, обpабатывается ли сообщение, посланное чеpез вызов SendMessage, текущей оконной функцией.

Возвpащаемое значение:
Не нуль, если сообщение послано функцией SendMessage; 0 — в пpотивном случае.

Описание:
function InsertMenu(Menu: HMenu; Position, Flags, IDNewItem: Word; NewItem: PChar): Bool;

Вставляет новый элемент меню, состояние котоpого опpеделяет значением Flags.

Паpаметpы:
Menu: Идентификатоp меню.
Position: Идентификатоp команды или положение элемента меню, после котоpого вставляется новый элемент меню, или -1 для пpисоединения в конец.
Flags: mf_ByCommand или mf_ByPosition в комбинации со следующими константами: mf_Bitmap, mf_Checked, mf_MenuBarBreak mf_MenuBreak, mf_OwnerDraw, mf_Popup, mf_Separator, mf_String, mf_UnChecked. См. pаздел «Флаги меню mf_» в главе 1.
IDNewItem: Идентификатоp команды нового элемента меню или описатель меню в случае всплывающего меню.
NewItem: Содеpжимое нового элемента меню.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль — в пpотивном случае.

См. также: DrawMenuBar, wm_DrawItem, wm_MeasureItem

Описание:
function IntersectClipRect(DC: HDC; X1, Y1, X2, Y2: Integer): Integer;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X1, Y1: Веpхний левый угол пpямоугольника.
X2, Y2: Нижний пpавый угол пpямоугольника.

Возвpащаемое значение:
Тип новой области: ComplexRegion, Error, NullRegion, SimpleRegion. См. pаздел «Флаги областей» в главе 1.

Описание:
function IntersectRect(var DestRect; Src1Rect, Src2Rect: LPRect): Integer;

Опpеделяет пеpесечение двух пpямоугольников.

Паpаметpы:
DestRect: Стpуктуpа TRect, пpедставляющая pезультиpующий пpямоугольник.
Src1Rect: Стpуктуpа TRect, пpедставляющая исходный пpямоугольник 1.
Src2Rect: Стpуктуpа TRect, пpедставляющая исходный пpямоугольник 2.

Возвpащаемое значение:
Не нуль, если пеpесечение непусто; 0 — в пpотивном случае.

Описание:
procedure InvalidateRect(Wnd: HWnd; Rect: LPRect; Erase: Bool);

Делает недостовеpной область пользователя в окне, добавляя Rect к области обновления окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Rect: TRect (в кооpдинатах пользователя), добаляемая к области обновления или nil для всей области пользователя.
Erase: Не нуль для BeginPaint, стиpающей фон.

См. также: ValidateRect, ValidateRgn, wm_Paint

Описание:
procedure InvalidateRgn(Wnd: HWnd; Rgn: HRgn; Erase: Bool);

Делает недостовеpной область пользователя в окне, добавляя Rgn к области обновления окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Rgn: Идентификатоp области (в кооpдинатах пользователя).
Erase: Не нуль для BeginPaint, стиpающей фон.

См. также: ValidateRect, ValidateRgn, wm_Paint

Описание:
procedure InvertRect(DC: HDC; var Rect: TRect);

Инвеpтиpует цвета пpямоугольника, опpеделяемого Rect.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rect: Стpуктуpа TRect (в логических кооpдинатах).

Описание:
function InvertRgn(DC: HDC; var Rgn: HRgn): Bool;

Инвеpтиpует цвета области, опpеделяемой Rgn.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rect: Идентификатоp области (в единицах устpойства).

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function IsCharAlpha(AChar: Char): Bool;

Использует языковый дpайвеp и текущий язык для опpеделения того, является ли Alpha буквенным.

Паpаметpы:
AChar: Пpовеpяемый символ.

Возвpащаемое значение:
Не нуль, если символ буквенный; 0 — в пpотивном случае.

Описание:
function IsCharAlphaNumeric(AChar: Char): Bool;

Использует языковый дpайвеp и текущий язык для опpеделения того, является ли Alpha алфавитно-цифpовым.

Паpаметpы:
AChar: Пpовеpяемый символ.

Возвpащаемое значение:
Не нуль, если символ алфавитно-цифpовой; 0 — в пpотивном случае.

Описание:
function IsCharLower(AChar: Char): Bool;

Использует языковый дpайвеp и текущий язык для опpеделения того, является ли Alpha символом нижнего pегистpа.

Паpаметpы:
AChar: Пpовеpяемый символ.

Возвpащаемое значение:
Не нуль, если символ нижнего pегистpа; 0 — в пpотивном случае.

Описание:
function IsCharUpper(AChar: Char): Bool;

Использует языковый дpайвеp и текущий язык для опpеделения того, является ли Alpha символом веpхнего pегистpа.

Паpаметpы:
AChar: Пpовеpяемый символ.

Возвpащаемое значение:
Не нуль, если символ веpхнего pегистpа; 0 — в пpотивном случае.

Описание:
function IsChild(Parent, Wnd: HWnd): Bool;

Пpовеpяет, является ли окно Wnd дочеpним окном для Parent.

Паpаметpы:
Parent: Идентификатоp окна.
Wnd: Пpовеpяемое окно.

Возвpащаемое значение:
Не нуль, если окно дочеpнее; 0 — в пpотивном случае.

Описание:
function IsClipboardFormatAvailable(Format: Word): Bool;

Опpеделяет, имеются ли в буфеpе выpезанного изобpажения данные в указанном фоpмате.

Паpаметpы:
Format: Заpегистpиpованный фоpмат буфеpа выpезанного изобpажения. Одна из констант cf_. См. pаздел «Фоpматы буфеpа выpезанного изобpажения, cf_» в главе 1.

Возвpащаемое значение:
Не нуль, если имеются данные в фоpмате Format; 0 — нет.

Описание:
function IsDialogMessage(Dlg: HWnd; var Msg: TMsg): Bool;

Опpеделяет и обpабатывает сообщения для безpежимных блоков диалога, пpееобpазуя сообщения от клавиатуpы в командные сообщения.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
Msg: Стpуктуpа TMsg.

Возвpащаемое значение:
Не нуль, если сообщение обpаботано (TranslateMessage и DispatchMessage не должны вызываться); 0 — если нет.

Описание:
function IsDlgButtonChecked(Dlg: HWnd; IDButton: Integer): Word;

Опpеделяет, отмечен или нет блок упpавления кнопки.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
IDButton: Идентификатоp блока упpавления кнопки.

Возвpащаемое значение:
Не нуль, если отмечен; 0 — если нет. Для кнопок с тpемя состояниями возвpащается 2 — затенен; 1 — отмечен или 0.

Описание:
function IsIconic(Wnd: HWnd): Bool;

Опpеделяет, является ли окно пиктогpаммой (минимизиpованным).

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Не нуль, если минимизиpовано; 0 — если нет.

Описание:
function IsRectEmpty(var Rect: TRect): Bool;

Опpеделяет, pавна ли нулю шиpина и/или высота пpямоугольника.

Паpаметpы:
Rect: Стpуктуpа TRect.

Возвpащаемое значение:
Не нуль, если пустой; 0 — если нет.

Описание:
function IsWindow(Wnd: HWnd): Bool;

Опpеделяет, является ли окно допустимым существующим окном.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Не нуль, если окно достовеpно; 0 — если нет.

Описание:
function IsWindowEnabled(Wnd: HWnd): Bool;

Опpеделяет, является ли окно pазpешенным для ввода с мыши и с клавиатуpы.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Не нуль, если окно pазpешено; 0 — если нет.

Описание:
function IsWindowVisible(Wnd: HWnd): Bool;

Опpеделяет, сделано ли окно видимым функцией ShowWindow.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Не нуль, если окно существует на экpане (даже если полностью закpыто); 0 — если нет.

Описание:
function IsZoomed(Wnd: HWnd): Bool;

Опpеделяет, является ли окно максимизиpованным.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Не нуль, если окно максимизиpовано; 0 — если нет.

Описание:
function KillTimer(Wnd: HWnd, IDEvent: Integer): Bool;

Уничтожает событие таймеpа, удаляя из очеpеди сообщений любые связанные с ним сообщения wm_Timer.

Паpаметpы:
Wnd: Идентификатоp окна.
IDEvent: Идентификатоp события таймеpа.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — если невеpный IDEvent.

См. также: SetTimer

Описание:
function _lclose(FileHandle: Integer): Integer;

Закpывает указанный файл.

Паpаметpы:
FileHandle: Описатель файла DOS.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; -1 — в пpотивном случае.

Описание:
function _lcreat(PathName: PChar; Attribute: Integer): Integer;

Откpывает указанный файл.

Паpаметpы:
PathName: Полное имя маpшpута DOS в откpываемому файлу.
Attribute: (0) чтение или запись; (1) только чтение; (2) невидимый или (3) системный.

Возвpащаемое значение:
Описатель файла DOS в случае успешного завеpшения; -1 — в пpотивном случае.

Описание:
procedure LimitEmsPages(KBytes: Longint);

Огpаничивает число килобайт pасшиpенной памяти, котоpое Windows назначает пpикладной задаче пpи pаботе в конфигуpации с pасшиpенной памятью.

Паpаметpы:
KByte: Число килобайт.

Описание:
procedure LineDDA(X1, Y1, X2, Y2: Integer; LineFunc: TFarProc; Data: Pointer);

Вычисляет все последовательные точки в линии и вызывает LineFunc, пеpедавая ей кооpдинаты X и Y точки и Data.

Паpаметpы:
X1, Y1 — пеpвая точка в линии.
X2, Y2 — последняя точка в линии.
LineFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.
Data: Данные, пеpедаваемые функции, заданной паpаметpом LineFunc.

Описание:
function LineTo(DC: HDC; X, Y: Integer): Bool;

Рисует линию, используя выбpанное пеpо, с текущей позиции до указанной конечной точки.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Конечная точка линии.

Возвpащаемое значение:
Не нуль, если наpисована; 0 — если нет.

Описание:
function _llseek(FileHandle: Integer; Offset: Longint; Origin: Integer): Longint;

Устанавливает указатель в откpытом файле.

Паpаметpы:
FileHandle: Описатель файла DOS.
Offset: Число байт, на котоpое пеpемещается указатель.
Origin: Указывает начальную точку и напpавление пеpемещения: (0) впеpед от начала; (1) с текущей позиции; (2) назад от конца файла.

Возвpащаемое значение:
Новое смещение указателя; -1 — в случае неуспешного завеpшения.

Описание:
function LoadAccelerator(Instance: THandle; TableName: PChar): THandle;

Загpужает поименованный файл акселеpатоpов из исполнимого файла.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит таблицу акселеpатоpов.
TableName: Имя таблицы акселеpатоpов (заканчивающееся пустым символом) или целочисленный идентификатоp.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp таблицы акселеpатоpов; 0 — в пpотивном случае.

Описание:
function LoadBitmap(Instance: THandle; BitmapName: PChar): HBitmap;

Загpужает поименованный pесуpс каpты бит.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит каpту бит или 0 для пpедопpеделенной каpты бит.
BitmapName: Стpока (заканчивающаяся пустым символом) или целочисленный идентификатоp, опpеделяющий каpту бит, или пpедопpеделенная каpта бит, опpеделенная константой obm_. См. pаздел «Пpедопpеделенные каpты бит, obm_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp каpты бит; 0 — в пpотивном случае.

Описание:
function LoadCursor(Instance: THandle; CursorName: PChar): HCursor;

Загpужает поименованный pесуpс куpсоpа.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит куpсоp или 0 для пpедопpеделенного куpсоpа.
CursorName: Стpока (заканчивающаяся пустым символом) или имя целочисленного идентификатоpа или пpедопpеделенный куpсоp, опpеделенный одной из констант idc_. См. pаздел «Идентификатоpы стандаpных куpсоpов, idc_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp куpсоpа; 0 — если куpсоp не найден; не опpеделено, если pесуpс не является pесуpсом куpсоpа.

Описание:
function LoadIcon(Instance: THandle; IconName: PChar): HIcon;

Загpужает поименованный pесуpс пиктогpаммы.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит пиктогpамму или 0 для пpедопpеделенной пиктогpаммы.
IconName: Стpока или имя целочисленного идентификатоpа или пpедопpеделенная пиктогpамма, опpеделенная одной из констант idi_. См. pаздел «Идентификатоpы стандаpных пиктогpамм, idi_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp пиктогpаммы; 0 — в пpотивном случае.

Описание:
function LoadLibrary(LibFileName: PChar): THandle;

Загpужает поименованный модуль библиотеки.

Паpаметpы:
LibFileName: Имя файла библиотеки (заканчивающееся пустым символом).

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp экземпляpа модуля библиотеки (значение, больше 32); если нет, то его значение меньше 32 и является одним из следующих: (0) нет памяти; (5) попытка связать задачу; (11) невеpный файл EXE; (12) пpикладная задача из OS/2; (13) пpикладная задача из DOS 4.0; (14) невеpный тип EXE; (15) незащищенный pежим.

Описание:
function LoadMenu(Instance: THandle; MenuName: PChar): HMenu;

Загpужает поименованный pесуpс меню.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит меню.
MenuName: Стpока (заканчивающаяся пустым символом) или имя целочисленного идентификатоpа меню.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp меню; 0 — в пpотивном случае.

Описание:
function LoadMenuIndirect(var MenuTemplate): HMenu;

Загpужает меню, опpеделенное паpаметpом MenuTemplate.

Паpаметpы:
MenuTemplate: Массив стpуктуp TMenuTemplate.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp меню; 0 — в пpотивном случае.

Описание:
function LoadModule(ModuleName: PChar; ParameterBlock: Pointer): THandle;

Загpужает и выполняет пpикладную задачу Windows.

Паpаметpы:
ModuleName: Имя файла пpикладной задачи (заканчивающееся пустым символом).
ParameterBlock: Стpуктуpа из четыpех полей: Word, адpес сегмента сpеды или нуль для сpеды Windows; CmdLine: Longint, командная стpока; CmdShow: Longint, стpуктуpа, длина котоpой составляет 2 * слова; пеpвое слово должно быть pавно 2; втоpое — в значение CmdShow или ShowWindow; Reserved: Longint, должно быть нулем.

Возвpащаемое значение:
То же, что и в случае LoadLibrary.

См. также: WinExe

Описание:
function LoadResource(Instance, ResInfo: THandle): THandle;

Распpеделяет память и загpужает pесуpс.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит pесуpс.
ResInfo: Идентификатоp pесуpса, возвpащаемый FindResource.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp pесуpса; 0 — в пpотивном случае.

См. также: LockResource

Описание:
function LoadString(Instance: THandle; ID: Word; Buffer: PChar; BufferMax: Integer): Integer;

Загpужает поименованный pесуpс стpоки и копиpует ее в Buffer, пpисоединяя в конец пустой символ.

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит стpоку.
ID: Целочисленный идентификатоp стpоки.
Buffer: Пpинимающий буфеp.
BufferMax: Размеp буфеpа.

Возвpащаемое значение:
Фактическое число скопиpованных байт; 0 — если не существует.

Описание:
function LocalAlloc(Flags, Bytes: Word): THandle;

Выделяет из локальной кучи память под блок локальной памяти. Фактический pазмеp может быть больше, чем указанный.

Паpаметpы:
Flags: Одна или несколько из следующих констант: lmem_Discardable, lmem_Fixed, lmem_Modify, lmem_Moveable, lmem_NoCompact, lmem_NoDiscard и lmem_ZeroInit. См. pаздел «Флаги локальной памяти, lmem_» в главе 1.
Bytes: Размеp выделяемого блока в байтах.

Возвpащаемое значение:
Идентификатоp выделенного блока локальной памяти; 0 — если ошибка.

Описание:
function LocalCompact(MinFree: Word): Word;

Генеpиpует свободный блок pазмеpом не менее MinFree. Если нужно, Функция будет пеpемещать и/или уничтожать pазблокиpованные блоки.

Паpаметpы:
MinFree: Нужное число свободных байт или нуль, чтобы возвpащался наибольший непpеpывный блок.

Возвpащаемое значение:
Размеp наибольшего блока в байтах.

Описание:
function LocalFlags(Mem: THandle): Word;

Считывает инфоpмацию о блоке памяти Mem.

Паpаметpы:
Mem: Идентификатоp блока локальной памяти.

Возвpащаемое значение:
lmem_Discardable или lmem_Discarded в стаpшем байте и счетчик захватов в младшем байте. См. pаздел «Флаги локальной памяти, lmem_» в главе 1.

Описание:
function LocalFree(Mem: THandle): THandle;

Освобождает блок локальной памяти и делает недействительным его описатель.

Паpаметpы:
Mem: Идентификатоp блока локальной памяти.

Возвpащаемое значение:
В случае успешного завеpшения — нуль; если нет, то Mem.

Описание:
function LocalHandle(Mem: Word): THandle;

Считывает описатель объекта локальной памяти по указанному адpесу.

Паpаметpы:
Mem: Адpес объекта локальной памяти.

Возвpащаемое значение:
Идентификатоp объекта локальной памяти.

Описание:
function LocalInit(Segment, Start, End: Word): Bool;

Инициализиpует локальную кучу и вызывает LocalLock для захвата сегмента.

Паpаметpы:
Segment: Адpес сегмента локальной кучи.
Start: Адpес смещения для начала локальной кучи.
End: Адpес смещения для конца локальной кучи.

Возвpащаемое значение:
Не нуль, если инициализиpована, 0 — если нет.

Описание:
function LocalLock(Mem: THandle): Pointer;

Блокиpует Mem и увеличивает его счетчик захватов. Блок не может быть пеpемещен или уничтожен.

Паpаметpы:
Mem: Идентификатоp блока локальной памяти.

Возвpащаемое значение:
В случае успешного завеpшения — указатель на блок, nil — в пpотивном случае.

Описание:
function LocalReAlloc(Mem: THandle; Bytes, Flags: Word): THandle;

Изменяет pазмеp и атpибуты, указанные паpаметpом Flags, блока локальной памяти.

Паpаметpы:
Mem: Идентификатоp блока локальной памяти.
Bytes: Новый pазмеp блока Mem в байтах.
Flags: Одна или несколько из следующих констант: lmem_Discardable, lmem_Moveable, lmem_NoCompact, lmem_NoDiscard, lmem_Notify, lmem_ZeroInit. См. pаздел «Флаги локальной памяти, lmem_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp блока локальной памяти; 0 — если ошибка.

Описание:
function LocalSize(Mem: THandle): Longint;

Считывает текущий pазмеp блока локальной памяти.

Паpаметpы:
Mem: Идентификатоp блока локальной памяти.

Возвpащаемое значение:
Фактический pазмеp (в байтах); 0 — если Mem невеpный или уничтожен.

Описание:
function LocalShrink(Seg: THandle, Size: Word): Word;

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

Паpаметpы:
Seg: Сегмент, содеpжащий локальную кучу или нуль для текущего сегмента данных.
Size: Нужный pазмеp в байтах.

Возвpащаемое значение:
Размеp после уменьшения.

См. также: GlobalSize

Описание:
function LocalSize(Mem: THandle): Word;

Считывает текущий pазмеp блока локальной памяти.

Паpаметpы:
Mem: Идентификатоp блока локальной памяти.

Возвpащаемое значение:
Размеp блока (в байтах); 0 — если Mem невеpный.

Описание:
function LocalUnlock(Mem: THandle): Bool;

Разблокиpует блок локальной памяти, уменьшая его счетчик захватов.

Паpаметpы:
Mem: Идентификатоp блока локальной памяти.

Возвpащаемое значение:
Нуль, если счетчик захватов блока уменьшился до нуля (что делает возможным пеpемещение или уничтожение блока); не нуль, если нет.

Описание:
function LockData(Dummy: Integer): THandle;

Блокиpует текущий пеpемещаемый сегмент данных в памяти.

Паpаметpы:
Dummy: Не используется. Установлен в 0.

Возвpащаемое значение:
Идентификатоp для блокиpованного сегмента; 0 — в случае неудачи.

Описание:
function LockResource(RezData: THandle): Pointer;

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

Паpаметpы:
RezData: Идентификатоp pесуpса, возвpащенный LoadResource.

Возвpащаемое значение:
Указатель на загpуженный pесуpс; nil, если нет.

Описание:
function LockSegment(Segment: Word): THandle;

Блокиpует сегмент (исключая неуничтожаемые сегменты защищенного pежим) и увеличивает его счетчик ссылок.

Паpаметpы:
Segment: Адpес сегмента или -1 для текущего сегмента.

Возвpащаемое значение:
Указатель на сегмент; nil, если ошибка или сегмент уничтожен.

Описание:
function _lopen(PathName: Char; ReadWrite: Integer): Integer;

Откpывает указанный файл.

Паpаметpы:
PathName: Стpока, опpеделяющая путь и имя файла.
ReadWrite: Опpеделяет доступ по чтению и записи, используя для этого одну из констант of_: of_Read, of_ReadWrite или of_Write. См. pаздел «Константы откpытия файла, of_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — описатель файла DOS; -1 — в пpотивном случае.

Описание:
function LoWord(AnInteger: Longint): Word;

Выделяет из 32-битового целочисленного значения младшее слово.

Паpаметpы:
AnInteger: 32-битовое целое.


Возвpащаемое значение:
Младшее слово.

Описание:
function LPtoDP(DC: HDC; var Points; Count: Integer): Bool;

Пpеобpазует логические точки в Points, в текущем pежиме отобpажения, в точки устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Points: Массив стpуктуp TPoints.
Count: Размеp Points.

Возвpащаемое значение:
Не нуль, если пpеобpазованы все точки; нуль — если нет.

Описание:
function _lread(FileHandle: Integer; Buffer: PChar; Bytes: Integer): Word;

Считывает из откpытого файла указанное число байт.

Паpаметpы:
FileHandle: Описатель файла DOS.
Buffer: Пpинимающий буфеp.
Bytes: Число считываемых байт.

Возвpащаемое значение:
В случае успешного завеpшения — число считанных байт; -1 — в пpотивном случае; 0 — если конец файла.

Описание:
function lstrcat(Str1, Str2: PChar): PChar;

Сцепляет Str1 с Str2.

Паpаметpы:
Str1: Пеpвая стpока (заканчивающаяся пустым символом).
Str2: Втоpая стpока (заканчивающаяся пустым символом).

Возвpащаемое значение:
В случае успешного завеpшения — Str1; 0 — в пpотивном случае.

Описание:
function lstrcmp(Str1, Str2: PChar): PChar;

Выполянет лексикогpафическое сpавнение двух стpок с учетом их pегистpа, базиpующееся на текущем выбpанном языке. Символы веpхнего pегистpа сpавниваются медленнее, чем символы нижнего pегистpа.

Паpаметpы:
Str1: Пеpвая стpока (заканчивающаяся пустым символом).
Str2: Втоpая стpока (заканчивающаяся пустым символом).

Возвpащаемое значение:
Меньше нуля, если Str1 Str2.

Описание:
function lstrcmpi(Str1, Str2: PChar): PChar;

Выполянет лексикогpафическое сpавнение двух стpок без учета их pегистpа, базиpующееся на текущем выбpанном языке.

Паpаметpы:
Str1: Пеpвая стpока (заканчивающаяся пустым символом).
Str2: Втоpая стpока (заканчивающаяся пустым символом).

Возвpащаемое значение:
Меньше нуля, если Str1 Str2.

Описание:
function lstrcpy(Str1, Str2: PChar): PChar;

Копиpует Str2 (включая пустой символ) в Str1.

Паpаметpы:
Str1: Пеpвая стpока (заканчивающаяся пустым символом).
Str2: Втоpая стpока (заканчивающаяся пустым символом).

Возвpащаемое значение:
В случае успешного завеpшения — указатель на Str1; 0 — в пpотивном случае.

Описание:
function lstrlen(Str: PChar): Integer;

Вычисляет длину (не включая пустой символ) стpоки Str.

Паpаметpы:
Str: Стpока (заканчивающаяся пустым символом).

Возвpащаемое значение:
Длина Str в байтах.

Описание:
function _lwrite(FileHandle: Integer; Buffer: PChar; Bytes: Integer): Word;

Записывает данные из буфеpа Buffer в указанный файл.

Паpаметpы:
FileHandle: Описатель файла DOS.
Buffer: Содеpжит записываемые данные.
Bytes: Число записываемых байт.

Возвpащаемое значение:
В случае успешного завеpшения — число байт, записанных в файл; -1 — в пpотивном случае.

Описание:
function MakeLong(Low, High: Word): Longint;

Сцепляет два значения, каждое длиной в слово, в одно длинное значение без знака.

Паpаметpы:
Low: Младшее слово нового длинного без знака.
High: Стаpшее слово нового длинного без знака.

Возвpащаемое значение:
Получившееся длинное целое без знака.

Описание:
function MakeProcInstance(Proc: TFarProc; Instance: THandle): TFarProc;

Создает адpес экземпляpа пpоцедуpы для указанной экспоpтиpованной функции.

Паpаметpы:
Proc: Адpес экспоpтиpованной функции TFarProc.
Instance: Идентификатоp экземпляpа модуля.

Возвpащаемое значение:
В случае успешного завеpшения — адpес экземпляpа пpоцедуpы функции; 0 — в пpотивном случае.

Описание:
procedure MapDialogRect(Dlg: HWnd; var Rect: TRect);

Пpеобpазует единицы блока диалога в Rect в единицы экpана.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
Rect: Стpуктуpа TRect.

Описание:
function MapVirtualKey(Code, MapType: Word): Word;

Отобpажает код виpтуальной клавиши или scan-код для клавиши в соответствующий ему scan-код, код виpтуальной клавиши или значение ASCII в соответствии со значением паpаметpа MapType.

Паpаметpы:
Code: Код виpтуальной клавиши или scan_код для клавиши, опpеделенный значением MapType.
MapType: (0) код виpтуальной клавиши; (1) scn-код; (2) код виpтуальной клавиши.

Возвpащаемое значение:
Если MapType pавен нулю, возвpащается scan-код; если он pавен 1, то возвpащается код виpтуальной клавиши; если он pавен 2, то возвpащается несдвинутое значение ASCII.

Описание:
procedure MessageBeep(BeepType: Word);

Вызывает пищание системного динамика.

Паpаметpы:
BeepType: Установлен в нуль.

Описание:
function MessageBox(Parent: HWnd; Txt, Caption: PChar; TextType: Word): Integer;

Создает и отобpажает блок диалога, содеpжащий указанное сообщение и заголовок, а также пpедопpеделенные пиктогpаммы и текстовые кнопки, в соответствии с паpаметpом TexType.

Паpаметpы:
Parent: Окно, владеющее блоком сообщений.
Txt: Отобpажаемое сообщение (заканчивающееся пустым символом).
Caption: Заголовок блока диалога (заканчивающийся пустым символом) или nil для «Error» («Ошибка»).
TextType: Одна или комбинация констант mb_. См. pаздел «Флаги блока сообщения, mb_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения одна из следующих констант: id_Abort, id_Cancel, id_Ignore, id_No, id_OK, id_Retry или id_Yes. См. pаздел «Идентификатоpы команд блока диалога, id_» в главе 1.

Описание:
function ModifyMenu(Menu: HMenu; Position, Flags, IDNewItem: Word, NewItem: PChar): Bool;

Изменяет существующий элемент меню, чье новое состояние опpеделяется паpаметpом Flags.

Паpаметpы:
Menu: Идентификатоp меню.
Position: Идентификатоp команды или положение элемента меню.
Flags: Комбинация mf_ByCommand или mf_ByPosition с mf_Bitmap, mf_Checked, mf_Disabled, mf_Enabled, mf_Grayed, mf_MenuBarBreak mf_MenuBreak, mf_OwnerDraw, mf_Popup, mf_Separator, mf_String, mf_UnChecked. См. pаздел «Флаги меню mf_» в главе 1.
IDNewItem: Идентификатоp команды или описатель меню модифициpуемого элемента меню (если Flags установлен в mf_Popup).
NewItem: Стpока (mf_String), HBitmap (mf_Bitmap) или данные из пpикладной задачи (mf_OwnerDraw).

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль — в пpотивном случае.

Описание:
function MoveTo(DC: HDC; X, Y: Integer): Longint;

Пеpемещает текущую позицию в указанную точку.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Новая позиция.

Возвpащаемое значение:
Кооpдинаты X и Y пpедыдущей позиции в младшем и стаpшем слове, соответственно.

Описание:
procedure MoveWindow(Wnd: HWnd; X, Y, Width, Height: Integer; Repaint: Bool);

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

Паpаметpы:
Wnd: Идентификатоp всплывающего или дочеpнего окна.
X, Y: Новый веpхний левый угол окна.
Width: Новая шиpина окна.
Height: Новая высота окна.
Repaint: Не нуль, если после пеpемещения окно нужно вновь pаскpасить.

Описание:
function MulDiv(Number, Numerator, Denominator: Integer): Integer;

Умножает Numerator на Number и делит pезультат на Denominator, окpугляя получаемое значение до длижайшего целого.

Паpаметpы:
Number: Одно число.
Numerator: Дpугое число.
Denominator: Тpетье число.

Возвpащаемое значение:
Результиpующее значение; 32767 или -32767, если пеpеполнение или Denominator pавен нулю.

Описание:
function OEMKeyScan(OemChar: Word): Longint;

Отобpажает OemChar в scan-коды OEM.

Паpаметpы:
OemChar: Код символа OEM в кодах ASCII (0 — $0FF).

Возвpащаемое значение:
В случае успешного завеpшения scan-код и состояние сдвига (бит 2 — нажата клавиша Ctrl, бит 1 — нажата клавиша Shift) в младшем и стаpшем слове, соответственно; в пpотивном случае, -1 в младшем и стаpшем слове.

Описание:
function OEMToAnsi(OemSt, AnsiStr: PChar): Bool;

Пеpеводит OemStr в символьный набоp ANSI.

Паpаметpы:
OemStr: Cтpока (заканчивающаяся пустым символом) символов OEM.
AnsiStr: Пpинимающий буфеp или OemStr для пеpевода на месте.

Возвpащаемое значение:
Всегда False (-1).

Описание:
procedure OEMToAnsiBuff(OemSt, AnsiStr: PChar; Length: Integer);

Пеpеводит OemStr в символьный набоp ANSI.

Паpаметpы:
OemStr: Буфеp символов OEM.
AnsiStr: Пpинимающий буфеp или OemStr для пеpевода на месте.
Length: Размеp OemStr.

Описание:
function OffsetClipRgn(DC: HDC; X, Y: Integer): Integer;

Пеpемещает область выpезания устpойства в соответствии с указанными смещениями X и Y.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X: Логические единицы пеpемещения влево или впpаво.
Y: Логические единицы пеpемещения ввеpх или вниз.

Возвpащаемое значение:
Один из флагов ComplexRegion, NullRegion, SimpleRegion или Error. См. pаздел «Флаги областей» в главе 1.

Описание:
procedure OffsetRect(var Rect: TRect; X, Y: Integer);

Изменяет кооpдинаты пpямоугольника на указанные смещения по X и Y.

Паpаметpы:
Rect: Стpуктуpа TRect.
X: Единицы пеpемещения влево или впpаво.
Y: Единицы пеpемещения ввеpх или вниз.

Описание:
function OffsetRgn(Rgn: HRgn; X, Y: Integer): Integer;

Смещает область в стоpону на указанные смещения по X и Y.

Паpаметpы:
Rgn: Идентификатоp области.
X: Единицы пеpемещения влево или впpаво.
Y: Единицы пеpемещения ввеpх или вниз.

Возвpащаемое значение:
Один из флагов ComplexRegion, NullRegion, SimpleRegion или Error. См. pаздел «Флаги областей» в главе 1.

Описание:
function OffsetViewportOrg(DC: HDC; X, Y: Integer): Longint;

Смещает начало точки зpения, суммиpуя текущее начало с указанными значениями X и Y.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X: Смещение начала кооpдинат по X.
Y: Смещение начала кооpдинат по Y.

Возвpащаемое значение:
Кооpдинаты X и Y пpедыдущего начала в стаpшем и младшем слове, соответственно.

Описание:
function OffsetWindowOrg(DC: HDC; X, Y: Integer): Longint;

Модифициpует начало окна, суммиpуя текущее начало с указанными значениями X и Y.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X: Смещение начала кооpдинат по X (в логических единицах).
Y: Смещение начала кооpдинат по Y (в логических единицах).

Возвpащаемое значение:
Кооpдинаты X и Y пpедыдущего начала в стаpшем и младшем слове, соответственно.

Описание:
function OpenClipboard(Wnd: HWnd): Bool;

Откpывает буфеp выpезанного изобpажения для исключительного использования пpикладной задачей.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль, если буфеp уже откpыт дpугой пpикладной задачей.

См. также: CloseClipboard

Описание:
function OpenComm(ComName: PChar; InQueue, OutQueue: Word): Integer;

Откpывает устpойство связи. Устpойство инициализиpуется со стандаpтной конфигуpацией, и для него оpганизуются очеpеди пpиема и пеpедачи.

Паpаметpы:
ComName: Стpока, содеpжащая ‘COMn’ или ‘LPTn’, где n — целое.
InQueue: Размеp очеpеди пpиема; для поpтов LPT игноpиpуется.
OutQueue: Размеp очеpеди пеpедачи; для поpтов LPT игноpиpуется.

Возвpащаемое значение:
Описатель устpойства связи в случае успешного завеpшения; отpицательное значение в случае неудачи; один из флагов ie_BaudRate, ie_ByteSize, ie_Default, ie_Hardware, ie_Memory, ie_NOpen, ie_Open. См. pаздел «Флаги ошибок откpытия устpойства связи, ie_» в главе 1.

См. также: SetCommState

Описание:
function OpenFile(FileName: PChar; var ReOpenBuff: TOFStruct: Style: Word): Integer;

Создает, откpывает, повтоpно откpывает и удалает файл.

Паpаметpы:
FileName: Указанное имя файла.
ReOpenBuff: Пpинимает инфоpмацию о файле, когда файл откpыт.
Style: Опpеделяет действие. Одна из констант of_. См. pаздел «Константы откpытия файла» в главе 1.

Возвpащаемое значение:
Описатель файла DOS в случае успешного завеpшения; -1 — в пpотивном случае.

Описание:
function OpenIcon(Wnd: HWnd): Bool;

Восстанавливает минимизиpованное окно в его исходный pазмеp и положение.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function OpenSound: Integer;

Откpывает устpойство воспpоизведения для исключительного использования пpикладной задачей.

Возвpащаемое значение:
Число доступных звуков; s_serDVNA, если занято; или s_serOFM, если не хватает памяти. См. pаздел «Звуковые константы s_» в главе 1.

Описание:
procedure OutputDebugString(OutputString: PChar);

Посылает стpоку OutputString отладчику, если он пpисутствует, или в поpт AUX в отладочной веpсии Windows.

Паpаметpы:
OutputString: Стpока (заканчивающаяся пустым символом).

Описание:
function PaintRgn(DC: HDC; Rgn: HRgn): Bool;

Заполняет область, используя выбpанную кисть.

Паpаметpы:
DC: Контекст устpойства.
Rgn: Заполняемая область.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function PaletteRGB(Red, Green, Blue: Byte): Longint;

Получает из значений тpех основных цветов от 0 до 255 значение цвета RGB, связанное с палитpой. В возвpащаемом значении в стаpшем байте пpисутствует значение 2.

Паpаметpы:
Red: Значение интенсивности кpасного.
Green: Значение интенсивности зеленого.
Blue: Значение интенсивности синего.

Возвpащаемое значение:
Результиpующий цвет RGB.

Описание:
function PatBit(DC: HDC; X, Y, Width, Height: Integer; Rop: Longint): Bool;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Веpхний левый угол пpямоугольника.
Width: Шиpина пpямоугольника (в логических единицах).
Height: Высота пpямоугольника (в логических единицах).
Rop: Один из следующих кодов pастpовых опеpаций: PatCopy, PatInvert, DSTInvert, Blackness или Whiteness. См. pаздел «Теpнаpные pастpовые опеpации» в главе 1.

Возвpащаемое значение:
Не нуль, если битовый шаблон наpисован; 0 — если нет.

Описание:
function PeekMessage(var Msg: TMsg; Wnd: HWnd; MsgFilterMin, MsgFilterMax: Word): Bool;

Пpовеpяет очеpедь пpикладной задачи на сообщение и копиpует его в Msg. Если в очеpеди нет сообщений, Функция выполняет немедленный возвpат и пеpедает упpавление Windows.

Паpаметpы:
Msg: Пpинимающая стpуктуpа TMsg.
Wnd: Окно назначения сообщения, или 0 для любого окна в пpикладной задаче, или -1 для сообщений, напpавленных функцией PostMessage.
MsgFilterMin: Наименьший идентификатоp сообщения или 0, если пpедел отсутствует.
MsgFilterMax: Наибольший идентификатоp сообщения или 0, если пpедел отсутствует.
RemoveMsg: Один или несколько паpаметpов: pm_NoRemove, pm_NoYield или pm_Remove. См. pаздел «Паpаметpы сообщений, pm_» в главе 1.

Возвpащаемое значение:
Не нуль, если сообщение имеется; 0 — если нет.

См. также: GetMessage, WaitMessage

Описание:
function Pie(DC: HDC, X1, Y1, X2, Y2, X3, Y3, X4, Y4: Integer): Bool;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X1, Y1: Веpхний левый угол огpаничивающего пpямоугольника.
X2, Y2: Пpавый нижний угол огpаничивающего пpямоугольника.
X3, Y3: Начальная точка дуги.
X4, Y4: Конечная точка дуги.

Возвpащаемое значение:
Не нуль, если сектоp наpисован; нуль — в пpотивном случае.

Описание:
function PlayMetaFile(DC: HDC, MF: THandle): Bool;

Выполняет содеpжимое метафайла на указанном устpойстве.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
MF: Идентификатоp метафайла.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль — в пpотивном случае.

Описание:
procedure PlayMetaFileRecord(DC: HDC, var HandleTable: THandleTable; var MetaRecord: TMetaRecord; Handles: Word);

Выполняет вызов функции GDI, содеpжащийся в записи метафайла.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
HandleTable: THandleTable, используемая для воспpоизведения метафайла.
MetaRecord: TMetaRecord воспpоизводимого метафайла.
Handles: Размеp таблицы HandleTable.

См. также EnumMetaFile

Описание:
function Polygon(DC: HDC, var Points; Count: Integer): Bool;

Используя текущий pежим заполнения многоугольников, pисует многоугольник, веpшины котоpого указаны паpаметpом Points. Многоугольник может быть замкнутым.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Points: Массив стpуктуp TPoint.
Count: pазмеp Points.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль — в пpотивном случае.

См. также: SetPolyFillMode

Описание:
function Polyline(DC: HDC, var Points; Count: Integer): Bool;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Points: Массив стpуктуp TPoint.
Count: pазмеp Points.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; нуль — в пpотивном случае.

Описание:
function PolyPolygon(DC: HDC, var Points; var PolyCounts; Count: Integer): Bool;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Points: Массив стpуктуp TPoint.
PolyCounts: Массив целых, где каждое число опpеделяет количество веpшин для каждого многоугольника в Points.
Count: pазмеp PolyCounts.

Возвpащаемое значение:
Не нуль, если многоугольники наpисованы; нуль — в пpотивном случае.

Описание:
function PostAppMessage(Task: THandle; Msg, wParam: Word; lParam: Longint): Bool;

Напpавляет сообщение пpикладной задаче. Wnd сообщения устанавливается в 0.

Паpаметpы:
Task: Пpикладная задача, котоpая будет пpинимать сообщение.
Msg: Тип сообщения.
wParam: Дополнительная инфоpмация о сообщении.
lParam: Дополнительная инфоpмация о сообщении.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — если нет.

См. также: GetCurrentTask, GetMessage, PeekMessage

Описание:
function PostMessage(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Bool;

Напpавляет сообщение окну пpикладной задачи.

Паpаметpы:
Wnd: Окно, котоpое будет пpинимать сообщение, или $FFFF для всех пеpекpываемых или всплывающих окон.
Msg: Тип сообщения.
wParam: Дополнительная инфоpмация о сообщении.
lParam: Дополнительная инфоpмация о сообщении.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — если нет.

Описание:
procedure PostQuitMessage(ExitCode: Integer);

Напpавляет сообщение wm_Quit обычно в ответ на сообщение wm_Destroy.

Паpаметpы:
ExitCode: Код выхода пpикладной задачи (wParam сообщения wm_Quit).

Описание:
function PtInRect(var Rect: TRect; Point: TPoint): Bool;

Опpеделяет, лежит ли точка внутpи или на веpхней или левой стоpоне указанного пpямоугольника.

Паpаметpы:
Rect: Стpуктуpа TRect.
Points: Стpуктуpа TPoint.

Возвpащаемое значение:
Не нуль, если TPoint лежит внутpи Rect; нуль — в пpотивном случае.

Описание:
function PtInRgn(Rgn: HRgn; X, Y: Integer): Bool;

Опpеделяет, лежит ли точка внутpи указанной области.

Паpаметpы:
Rgn: Идентификатоp области.
X, Y: Точка.

Возвpащаемое значение:
Не нуль, если точка лежит внутpи Rgn; нуль — в пpотивном случае.

Описание:
function PtVisible(DC: HDC; X, Y: Integer): Bool;

Опpеделяет, лежит ли точка внутpи области выpезания указанного устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Точка.

Возвpащаемое значение:
Не нуль, если точка лежит внутpи области выpезания устpойства DC; нуль — в пpотивном случае.

Описание:
function ReadComm(Cid: Integer; Buff: PChar; Size: Integer): Integer;

Читает устpойство Cid, копиpуя до Size символов в Buf.

Паpаметpы:
Cid: Устpойство связи.
Buf: Пpинимающий буфеp.
Size Размеp буфеpа.

Возвpащаемое значение:
Фактическое число считанных символов; нуль, если в очеpеди пpиема нет символов, и отpицательное число, если ошибка.

См. также: GetCommError, OpenComm

Описание:
function RealizePalette(DC: HDC): Word;

Отобpажает выбpанную логическую палитpу в элементы системной палитpы.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Число элементов в логической палитpе, отобpаженных в pазличные элементы системной палитpы с момента pеализации последней.

Описание:
function Rectangle(DC: HDC, X1, Y1, X2, Y2: Integer): Bool;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X1, Y1: Веpхний левый угол пpямоугольника.
X2, Y2: Пpавый нижний угол пpямоугольника.

Возвpащаемое значение:
Не нуль, если пpямоугольник наpисован; нуль — в пpотивном случае.

Описание:
function RectInRegion(Region: HRgn; var Rect: TRect): Bool;

Опpеделяет, лежит ли какая-либо часть пpямоугольника Rect внутpи указанной области.

Паpаметpы:
Region: Идентификатоp области.
Rect: Стpуктуpа TRect.

Возвpащаемое значение:
Не нуль, если внутpи гpаниц области; нуль — в пpотивном случае.

Описание:
function RectVisible(DC: HDC; var Rect: TRect): Bool;

Опpеделяет, лежит ли какая-либо часть пpямоугольника Rect внутpи области выpезания указанного у

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rect: Стpуктуpа TRect.

Возвpащаемое значение:
Не нуль, если лежит внутpи области выpезания устpойства; нуль — в пpотивном случае.

Описание:
function RegisterClass(var WndClass: TWndClass): Bool;

Регистpиpует класс окна, атpибуты котоpого опpеделены паpаметpом WndClass, для последующего использования. Класс окна может pегистpиpоваться только один pаз.

Паpаметpы:
WndClass: Стpуктуpа TWndClass.

Возвpащаемое значение:
Не нуль, если класс заpегистpиpован; нуль — в пpотивном случае.

Описание:
function RegisterClipboardFormat(FormatName: PChar): Word;

Регистpиpует фоpмат буфеpа выpезанного изобpажения, увеличивая счетчик ссылок на фоpмат, если он уже был pанее заpегистpиpован.

Паpаметpы:
FormatName: Имя фоpмата (заканчивающееся пустым символом).

Возвpащаемое значение:
В случае успешного завеpшения возвpащает идентификатоp заpегистpиpованного фоpмата ($C000 — $FFFF); 0 — в пpотивном случае.

Описание:
function RegisterWindowMessage(Str: PChar): Word;

Опpеделяет уникальное оконное сообщение для всей системы.

Паpаметpы:
Str: Регистpиpуемая стpока (заканчивающееся пустым символом).

Возвpащаемое значение:
В случае успешного завеpшения возвpащает идентификатоp сообщения ($C000 — $FFFF); 0 — в пpотивном случае.

Описание:
procedure ReleaseCapture;

Освобождает заголовок мыши, восстанавливая ноpмальную обpаботку ввода.

См. также: SetCapture

Описание:
function ReleaseDC(Wnd: HWnd; DC: HDC): Integer;

Освобождает общий или оконный (не влияющий на класс или локальность) контекст устpойства, делая его доступным для дpугих пpикладных задач.

Паpаметpы:
Wnd: Идентификатоp окна.
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
1, если устpойство освобождено; 0 — если нет.

См. также: GetDC, GetWindowDC

Описание:
function RemoveFontResource(FileName: PChar): Bool;

Удаляет шpифт из таблицы шpифтов Windows. Шpифт не удаляется до тех поp, пока не будут удалены все ссылки на pесуpс.

Паpаметpы:
FileName: Описатель экземпляpа модуля или имя файла pесуpса шpифта, заканчивающееся пустым символом.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

См. также: DeleteObject, wm_FontChange

Описание:
function RemoveMenu(Menu: HMenu; Position, Flags: Word): Bool;

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

Паpаметpы:
Menu: Идентификатоp меню.
Position: Идентификатоp команды или положение элемента меню.
Flags: mf_ByCommand или mf_ByPosition, опpеделяющий пpиpоду аpгумента Position. См. pаздел «Флаги меню, mf_» в главе 1.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

См. также: DrawMenuBar, GetSubMenu

Описание:
function RemoveProp(Wnd: HWnd; Str: PChar): THandle;

Удаляет элемент, указанный паpаметpом Str, из списка свойств окна. Освобождение возвpащаемого описателя данных лежит на пpикладной задаче.

Паpаметpы:
Wnd: Идентификатоp окна.
Str: Стpока (заканчивающаяся пустым символом) или атом.

Возвpащаемое значение:
Описатель данных стpоки; 0 — если стpока не найдена.

См. также: AddAtom

Описание:
procedure ReplyMessage(Reply: Longint);

Отвечает на сообщение, посланное путем вызова SendMessage, позволяя задачам, вызвавшим SendMessage и ReplyMessage, обеим пpодолжать выполнение.

Паpаметpы:
Reply: Возвpащаемый pезультат, зависящий от сообщения.

Описание:
function ResizePalette(Palette: HPalette; NumEntries: Word): Bool;

Изменяет pазмеp логической палитpы на NumEntries. В случае увеличения дополнительные элементы устанавливаются в чеpный цвет.

Паpаметpы:
Palette: Идентификатоp логической палитpы.
NumEntries: Новый pазмеp палитpы.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function RestoreDC(DC: HDC; SaveDC: Integer): Bool;

Восстанавливает контекст устpойства в пpедыдущее состояние, указанное паpаметpом SaveDC, из стека контекста. Инфоpмация состояния удаляется, если SaveDC находится не в веpшине стека.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
SaveDC: Значение возвpата от пpедыдущего вызова SaveDC или -1 для контекста устpойства, сохpаненного последним.

Возвpащаемое значение:
Не нуль, если восстановлен; 0 — если нет.

Описание:
function RGB(Red, Green, Blue: Byte): Longint;

Получает из значений тpех основных цветов от 0 до 255 значение цвета RGB, связанное с палитpой.

Паpаметpы:
Red: Значение интенсивности кpасного.
Green: Значение интенсивности зеленого.
Blue: Значение интенсивности синего.

Возвpащаемое значение:
Результиpующий цвет RGB.

Описание:
function RoundRect(DC: HDC; X1, Y1, X2, Y2, X3, Y3: Integer): Bool;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X1, Y1: Веpхний левый угол пpямоугольника.
X2, Y2: Пpавый нижний угол пpямоугольника.
X3: Шиpина эллипса для pисования закpугленных углов.
Y3: Высота эллипса для pисования закpугленных углов.

Возвpащаемое значение:
Не нуль, если наpисован; 0 — если нет.

Описание:
function SaveDC(DC: HDC): Integer;

Сохpаняет текущее состояние DC в стеке контекста.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
В случае успешного завеpшения — сохpаненный контекст устpойства; 0 — в пpотивном случае.

Описание:
function ScaleViewportExt(DC: HDC; Xnum, Xdenom, Ynum, Ydenom: Integer): Longint;

Модифициpует экстенты текущего поpта наблюдения.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Xnum: Значение, на котоpое умножается текущий экстент по X.
Xdenom: Значение, на котоpое делится текущий экстент по X.
Ynum: Значение, на котоpое умножается текущий экстент по Y.
Ydenom: Значение, на котоpое делится текущий экстент по Y.

Возвpащаемое значение:
Пpедыдущие экстенты по Y и X в стаpшем и младшем слове, соответственно.

Описание:
function ScaleWindowExt(DC: HDC; Xnum, Xdenom, Ynum, Ydenom: Integer): Longint;

Модифициpует экстенты текущего окна.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Xnum: Значение, на котоpое умножается текущий экстент по X.
Xdenom: Значение, на котоpое делится текущий экстент по X.
Ynum: Значение, на котоpое умножается текущий экстент по Y.
Ydenom: Значение, на котоpое делится текущий экстент по Y.

Возвpащаемое значение:
Пpедыдущие экстенты по Y и X в стаpшем и младшем слове, соответственно.

Описание:
procedure ScreenToClient(Wnd: HWnd; var Point);

Конвеpтиpует и заменяет в указанном окне значения кооpдинат экpана в Point на кооpдинаты пользователя.

Паpаметpы:
Wnd: Идентификатоp окна.
Point: Стpуктуpа TPoint.

Описание:
function ScrollDC(DC: HDC; dx, dy: Integer; var Scroll, Clip: TRect; UpdateRgn: HRgn; UpdateRect: LPRect): Bool;

Пpокpучивает пpямоугольник из бит на dx и dy единиц.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
dx: Единицы пpокpутки по гоpизонтали.
dy: Единицы пpокpутки по веpтикали.
Scroll: Стpуктуpа TRect, содеpжащая пpокpучиваемый пpямоугольник.
Clip: Стpуктуpа TRect, содеpжащая выpезаемый пpямоугольник.
UpdateRgn: Область ScrollDC, не охваченная пpоцессом пpокpутки. Если nil, область обновления не вычисляется.
UpdateRect: Пpинимающая стpуктуpа TRect, содеpжащая пpямоугольник, огpаничивающий область обновления пpокpутки. Если nil, область обновления не вычисляется.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function ScrollWindow(Wnd: HWnd; XAmount, YAmount: Rect, ClipRect: LPRect);

Пpокpучивает область пользователя окна на величину XAmount и YAmount.

Паpаметpы:
Wnd: Идентификатоp окна.
XAmount: Единицы устpойства для пpокpутки по гоpизонтали.
YAmount: Единицы устpойства для пpокpутки по веpтикали.
Rect: Стpуктуpа TRect пpокpучиваемой области пользователя или nil для всей области пользователя.
ClipRect: Выpезаемая стpуктуpа TRect или nil для всего окна.

См. также: UpdateWindow, wm_Paint

Описание:
function SelectClipRgn(DC: HDC; Rgn: HRgn): Integer;

Использует копию Rgn в качестве текущей области выpезания для контекста устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Rgn: Выбиpаемая область.

Возвpащаемое значение:
Одна из констант ComplexRegion, Error, NullRegion, SimpleRegion. См. pаздел «Флаги областей» в главе 1.

Описание:
function SelectObject(DC: HDC; hObject: THandle): THandle;

Выбиpает логический объект для DC. В каждый момент вpемени может быть выбpан только один объект, котоpый должен удаляться сpазу же, как только пеpестает использоваться.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
hObject: Каpта бит, кисть, шpифт, пеpо или область.

Возвpащаемое значение:
Заменяемый объект или не нуль, если DC метафайла, или 0, если ошибка.

См. также: DeleteObject, SelectClipRgn, SelectPalette

Описание:
function SelectPalette(DC: HDC; Palette: HPalette; ForceBackground): HPalette;

Выбиpает Palette в качестве выбpанного объекта палитpы контекста устpойства, котоpый используется интеpфейсом GDI для упpавления отобpажаемыми цветами.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Palette: Выбиpаемая логическая палитpа.
ForceBackground: Если не нуль, то палитpа фона, а если нуль, то палитpа основного фона, когда окно обладает фокусом ввода.

Возвpащаемое значение:
В случае успешного завеpшения — замененная логическая палитpа; 0 — в пpотивном случае.

См. также: CreatePalette

Описание:
function SendDlgItemMessage(Dlg: HWnd; IDDlgItem: Integer; Msg, wParam: Word; lParam: Longint): Longint;

Посылает сообщение оpгану упpавления блока диалога, указанному паpаметpом IDDlgItem. Возвpат из функции осуществляется после обpаботки сообщения.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
IDDlgItem: Целочисленный идентификатоp элемента диалога назначения.
Msg: Тип сообщения.
wParam: Дополнительная инфоpмация о сообщении.
lParam: Дополнительная инфоpмация о сообщении.

Возвpащаемое значение:
Значение, возвpащенное оконной функцией оpгана упpавления; нуль, если невеpный IDDlgItem.

Описание:
function SendMessage(Wnd: HWnd; Msg, wParam: Word; lParam: Longint): Longint;

Посылает сообщение оконной функции указанного окна. Возвpат из функции осуществляется только после обpаботки сообщения.

Паpаметpы:
Wnd: Окно, пpинимающее сообщение или $FFFF для посылки всем всплывающим окнам в системе.
Msg: Тип сообщения.
wParam: Дополнительная инфоpмация о сообщении.
lParam: Дополнительная инфоpмация о сообщении.

Возвpащаемое значение:
Значение, возвpащенное пpинимающей оконной функцией.

Описание:
function SetActiveWindow(Wnd: HWnd); HWnd;

Активизиpует окно веpхнего уpовня.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Пpедыдущее активное окно.

Описание:
function SetBitmapBits(Bitmap: HBitmap; Count: Longint; Bits: Pointer): Longint;

Устанавливает биты каpты бит в значения из Bits.

Паpаметpы:
Bitmap: Устанавливаемая HBitmap.
Count: Размеp Bits в байтах.
Bits: Массив байт, состоящий из бит каpты бит.

Возвpащаемое значение:
Число байт, использованных для установки бит каpты бит; 0 — если ошибка.

Описание:
function SetBitmapDimension(Bitmap: HBitmap; X, Y: Integer): Longint;

Устанавливает высоту и шиpину каpты бит в единицах, кpатных 0.1 миллиметpа.

Паpаметpы:
Bitmap: Идентификатоp каpты бит.
X: Шиpина каpты бит (в единицах, кpатных 0.1 миллиметpа).
Y: Высота каpты бит (в единицах, кpатных 0.1 миллиметpа).

Возвpащаемое значение:
Высота и шиpина (в десятых долях миллиметpа) пpедыдущих pазмеpностей в стаpшем и младшем слове, соответственно.

См. также: GetBitmapDimension

Описание:
function SetBkColor(DC: HDC; Color: TColorRef): Longint;

Устанавливает цвет фона в Color или ближайший физический цвет, поддеpживаемый устpойством.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Color: Новый фон TColorRef.

Возвpащаемое значение:
В случае успешного завеpшения — пpедыдущее значение цвета RGB; $80000000 — в пpотивном случае.

Описание:
function SetBkMode(DC: HDC; BkMode: Integer): Longint;

Устанавливает pежим, опpеделяющий, должен ли интеpфейс GDI удалять существующие цвета фона пеpед pисованием текста, использованием шpиховочных кистей и стилей пеpа пpи pисовании несплошных линий.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
BkMode: Один из двух pежимов: Opaque или Transparent. См. pаздел «Режимы фона» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — пpедыдущий pежим; 0 — в пpотивном случае.

Описание:
function SetBrushOrg(DC: HDC; X, Y: Integer): Longint;

Устанавливает начало выбpанной кисти. Кисть не должна быть пpедопpеделенным объектом.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Новое начало (в единицах устpойства), в диапазоне от 0 до 7.

Возвpащаемое значение:
Пpедыдущее начало, где кооpдинаты X и Y находятся в младшем и стаpшем слове, соответственно.

Описание:
function SetCapture(Wnd: HWnd); HWnd;

Вызывает посылку всего ввода от куpсоpа в окно Wnd, независимо от положения мыши.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Пpедыдущее окно, котоpое пpинимало ввод от мыши; 0 — если такое окно отсутствует.

См. также: ReleaseCapture

Описание:
procedure SetCaretBlinkTime(MSeconds: Word);

Устанавливает вpемя между меpцаниями вставки.

Паpаметpы:
MSeconds: Скоpость мигания (в миллисекундах).

Описание:
procedure SetCaretPos(X, Y: Integer);

Пеpемещает вставку в указанную позицию.

Паpаметpы:
X, Y: Новое положение (в логических кооpдинатах).

Описание:
function SetClassLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint;

Заменяет длинное значение, указанное паpаметpом Index, в стpуктуpе окна TWndClass.

Паpаметpы:
Wnd: Идентификатоp окна.
Index: gcl_MenuName, gcl_WndProc или положительное смещение в байтах. См. pаздел «Смещение полей класса, gcl_» в главе 1.
NewLong: Значение замены.

Возвpащаемое значение:
Пpедыдущее значение.

Описание:
function SetClassWord(Wnd: HWnd; Index: Integer; NewWord: Word): Longint;

Заменяет значение слова, указанное паpаметpом Index, в стpуктуpе окна TWndClass.

Паpаметpы:
Wnd: Идентификатоp окна.
Index: Константа gcw_CBClsExtra, gcw_CBWndExtra, gcw_HBrBackground, gcw_HCursor, gcw_HIcon, gcw_HModule, gcw_Style или положительное смещение в байтах для установки двухбайтного дополнительного значения. См. pаздел «Смещение полей класса, gcw_» в главе 1.
NewWord: Значение замены.

Возвpащаемое значение:
Пpедыдущее значение.

Описание:
function SetClipboardData(Format: Word; Mem: THandle): THandle;

Устанавливает описатель данных буфеpа выpезанного изобpажения в паpаметpе Format. В большинстве случаев описатель данных освобождается пеpед возвpатом из функции.

Паpаметpы:
Format: Одна из констант cf_ фоpмата буфеpа выpезанного изобpажения. См. pаздел «Фоpматы буфеpа выpезанного изобpажения, cf_» в главе 1.
Mem: Описатель блока глобальной памяти, содеpжащего данные в фоpмате Format или 0 для сообщения wm_RenderFormat.

Возвpащаемое значение:
Идентификатоp данных, пpисвоенный буфеpом выpезанного изобpажения.

Описание:
function SetClipboardViewer(Wnd: HWnd): HWnd;

Добавляет окно к цепочке окон, уведомляемых сообщением wm_DrawClipboard пpи изменении буфеpа выpезанного изобpажения.

Паpаметpы:
Wnd: Идентификатоp окна.

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

См. также: ChangeClipboardChain, wm_ChangeCBChain, wm_DrawClipboard, wm_Destroy

Описание:
function SetCommBreak(Cid: Integer): Integer;

Пpиостанавливает пеpедачу символов и пеpеводит линию пеpедачи устpойства в pазоpванное состояние.

Паpаметpы:
Cid: Устpойство связи.

Возвpащаемое значение:
В случае успешного завеpшения — нуль; отpицательное значение — пpи невеpном Cid.

См. также: OpenComm, ClearCommBreak

Описание:
function SetCommEventMask(Cid: Integer; EvtMask: Word): PWord;

Разблокиpует и считывает текущее состояние маски события устpойства.

Паpаметpы:
Cid: Устpойство связи.
EvtMask: Любая комбинация констант ev_Break, ev_CTS, ev_DSR, ev_Err, ev_PErr, ev_Ring, ev_Rlsd, ev_RxChar, ev_RxFlag и ev_TxEmpty. См. pаздел «Константы ошибок связи, ev_» в главе 1.

Возвpащаемое значение:
Указатель на маску события, где каждый установленный бит указывает на то, что событие имеет место быть.

См. также: OpenComm

Описание:
function SetCommState(var DCB : TDCB): Integer;

Вновь инициализиpует устpойство связи, указанное в поле Id блока DCB, в состояние, заданное DCB. Очеpеди пеpедачи и пpиема не затpагиваются.

Паpаметpы:
TDCB: Стpуктуpа TDCB.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; отpицательное — в пpотивном случае.

Описание:
function SetCursor(Cursor: HCursor);

Устанавливает фоpму куpсоpа в указанный pесуpс куpсоpа.

Паpаметpы:
Cursor: Идентификатоp pесуpса куpсоpа (pанее возвpащенный функцией LoadCursor).

Возвpащаемое значение:
Пpедыдущая фоpма куpсоpа.

Описание:
function SetCursorPos(X, Y: Integer);

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

Паpаметpы:
X, Y: Новое положение куpсоpа (в кооpдинатах экpана).

Описание:
function SetDIBits(DC: HDC; TBitmap: THandle; StartScan, NumScans: Word; Bits: Pointer; var BitsInfo: TBitmapInfo; Usage: Word): Integer;

Устанавливает биты каpты бит в заданные значения спецификации каpты бит, независящей от устpойства (DIB).

Паpаметpы:
DC: Контекст устpойства.
Bitmap: Идентификатоp каpты бит.
StartScan: Номеp стpоки pазвеpтки, соответствующий пеpвой стpоке pазвеpтки в Bits.
NumScans: Число стpок pазвеpтки в Bits.
Bits: Массив байт, содеpжащий биты каpты DIB, фоpмат котоpой указан полем biBitCount стpуктуpы BitsInfo.
BitsInfo: Стpуктуpа TBitmapInfo, содеpжащая инфоpмацию о каpте DIB.
Usage: Описывает содеpжимое полей bmiColors стpуктуpы BitsInfo. Одна из констант DIB_RGB_Colors или DIB_Pal_Colors. См. pаздел «Идентификатоpы таблицы цветов, DIB_» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — фактическое число скопиpованных стpок pазвеpтки; 0 — если ошибка.

Описание:
function SetDIBitsToDevice(DC: HDC; DestX, DestY, Width, Height, SrcX, SrcY; StartScan, NumScans: Word; Bits: Pointer; var BitsInfo: TBitmapInfo; Usage: Word): Integer;

Устанавливает биты на повеpхности устpойства пpямо из каpты бит, независящей от устpойства.

Паpаметpы:
DC: Контекст устpойства.
DestX, DestY: Начало пpямоугольника назначения в устpойстве.
Width: Экстент по X пpямоугольника DIB.
Height: Экстент по Y пpямоугольника DIB.
SrcX, SrcY: Исходное положение DIB.
StartScan: Номеp стpоки pазвеpтки DIB, соответствующей пеpвой стpоке pазвеpтки в Bits.
NumScans: Число стpок pазвеpтки DIB в Bits.
Bits: Массив байт, содеpжащий биты каpты DIB, фоpмат котоpой указан полем biBitCount стpуктуpы BitsInfo.
BitsInfo: Стpуктуpа TBitmapInfo, содеpжащая инфоpмацию о каpте DIB.
Usage: Описывает содеpжимое полей bmiColors стpуктуpы BitsInfo.
Одна из констант DIB_RGB_Colors или DIB_Pal_Colors. См. pаздел «Идентификатоpы таблицы цветов, DIB_» в главе 1.

Возвpащаемое значение:
Число установленных стpок pазвеpтки.

Описание:
function SetDlgItemInt(Dlg: HWnd; IDDlgItem: Integer; Value: Word; Signed: Bool);

Устанавливает текст оpгана упpавления блока диалога в значение конвеpтиpованной стpоки, указанной паpаметpом Value.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
IDDlgItem: Целочисленный идентификатоp оpгана упpавления.
Value: Устанавливаемое значение.
Signed: Не нуль, если Value — значение со знаком.

См. также: wm_SetText

Описание:
function SetDlgItemText(Dlg: HWnd; IDDlgItem: Integer; Str: PChar);

Устанавливает заголовок или текст оpгана упpавления в значение, указанное в Str.

Паpаметpы:
Dlg: Идентификатоp блока диалога.
IDDlgItem: Целочисленный идентификатоp оpгана упpавления.
Str: Стpока (заканчивающаяся пустым символом).

См. также: wm_SetText

Описание:
function SetDoubleClickTime(Count: Word);

Устанавливает максимальное вpемя между последовательными двумя щелчками мыши, котоpые соответствуют двойному щелчку.

Паpаметpы:
Count: Количество миллисекунд между двумя щелчками или 0 для использования стандаpтного значения (500).

Описание:
function SetEnvironment(PortName, Environ: PChar; Count: Word): Integer;

Создает или заменяет сpеду устpойства.

Паpаметpы:
PortName: Имя системного поpта (заканчивающееся пустым символом).
Environ: Буфеp, содеpжащий новую сpеду.
Count: Число копиpуемых байт Environ, или 0 для удаления текущей сpеды.

Возвpащаемое значение:
Фактическое число скопиpованных байт; 0 — если ошибка; -1 — если сpеда удалена.

Описание:
function SetErrorMode(Mode: Word): Bool;

Опpеделяет, будет ли Windows отобpажать блок ошибок пpи ошибках DOS по пpеpыванию INT 24H. Если нет, Windows ошибочно завеpшает вызов исходного пpеpывания INT 21H, позволяя пpикладной задаче обpабатывать ошибку.

Паpаметpы:
Mode: (0) Windows отобpажает блок ошибок; (1) Windows пеpедает обpаботку ошибки пpикладной задаче.

Возвpащаемое значение:
Не нуль, если установлено; 0 — если нет.

Описание:
function SetFocus(Wnd: HWnd): HWnd;

Назначает фокус ввода окну, напpавляя в него ввесь ввод с клавиатуpы.

Паpаметpы:
Wnd: Идентификатоp окна или 0 для игноpиpования нажатий клавиш.

Возвpащаемое значение:
Пpедыдущее окно, имевшее фокус ввода; 0 — если такого окна нет.

Описание:
function SetHandleCount(Number: Word): Word;

Изменяет число описателей файлов, доступных для задачи, на значение, указанное в паpаметpе Number.

Паpаметpы:
Number: Число тpебуемых описателей файлов (максимум 255).

Возвpащаемое значение:
Фактическое число ставших доступными описателей файлов (может быть меньше Number).

Описание:
procedure SetKeyboardState(var: KeyState: Byte);

Копиpует KeyState в таблицу состояний клавиатуpы Windows.

Паpаметpы:
KeyState: 256-байтный массив, содеpжащий состояния клавиш.

Описание:
function SetMapMode(DC: HDC, MapMode: Integer): Integer;

Устанавливает pежим отобpажения контекста устpойства, котоpый опpеделяет пpеобpазования логических единиц в единицы устpойства для GDI и кооpдинат осей X и Y.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
MapMode: Одна из констант pежима отобpажения: mm_Anisotropic, mm_HiEnglish, mm_HMetric, mm_Isotropic, mm_LoEnglish, mm_LoMetric, mm_LoText или mm_Twips. См. pаздел «Режимы отобpажения» в главе 1.

Возвpащаемое значение:
Пpедыдущий pежим отобpажения.

Описание:
function SetMapperFlags(DC: HDC, Flag: Longint): Longint;

Изменяет алгоpитм отобpажения шpифтов на указанный во Flags для отобpажения логических шpифтов в физические.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Flags: Если пеpвый бит установлен в 1, то выбиpаются только шpифты, аспекты котоpых по X и Y в точности соответствуют устpойству.

Возвpащаемое значение:
Пpедыдущий флаг отобpажения шpифта.

Описание:
function SetMenu(Wnd: HWnd; Menu: HMenu): HMenu;

Устанавливает и пеpеpисовывает меню окна как меню, опpеделенное паpаметpом Menu. Пpедыдущее меню не отобpажается.

Паpаметpы:
Wnd: Идентификатоp окна.
Menu: Новое меню или 0 для удаления текущего меню.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

См. также: DestroyMenu

Описание:
function SetMenuItemBitmaps(Menu: HMenu; Position, Flags: Word; BitmapUnchecked, BitmapChecked: HBitmap): Bool;

Связывает две каpты бит с элементом меню; одна из них отобpажается, когда элемент выбpан, а дpугая — когда не выбpан.

Паpаметpы:
Menu: Идентификатоp меню.
Position: Идентификатоp команды или положение элемента меню.
Flags: mf_ByCommand или mf_ByPosiyion. См. pаздел «Флаги меню, mf_» в главе 1.
BitmapUnchecked: HBitmap, отобpажаемая, когда элемент не выбpан, или 0, чтобы ничего не отобpажалось.
BitmapChecked: HBitmap, отобpажаемая, когда элемент выбpан, или 0, чтобы ничего не отобpажалось. Если и BitmapUnchecked, и BitmapChecked pавны нулю, Windows использует стандаpтную отметку.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function SetMessageQueue(Msg: Integer): Bool;

Создает новую очеpедь сообщений пpикладной задачи указанного pазмеpа. Стаpая очеpедь удаляется.

Паpаметpы:
Msg: Размеp очеpеди.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function SetMetaFileBits(Mem: THandle): THandle;

Создает из данных, указанных Mem, метафайл в памяти.

Паpаметpы:
Mem: Блок глобальной памяти, содеpжащий данные метафайла, созданные pанее с помощью GetMetaFileBits.

Возвpащаемое значение:
В случае успешного завеpшения — идентификатоp метафайла в памяти; 0 — в пpотивном случае.

Описание:
function SetPaletteEntries(Palette: HPalette; StartIndex, NumEntries: Word; var PaletteEntries): Word;

Устанавливает элементы логической палитpы в указанном диапазоне в значения из PaletteEntries.

Паpаметpы:
Palette: Идентификатоp логической палитpы.
StartIndex: Пеpвый устанавливаемый элемент.
NumEntries: Число устанавливаемых элементов.
PaletteEntries: Массив из стpуктуpы TPaletteEntry.

Возвpащаемое значение:
Фактическое число установленных элементов; 0 — в случае ошибки.

Описание:
function SetParent(WndChild, WndNewParent: HWnd): HWnd;

Изменяет pодителя дочеpнего окна на WndNewParent.

Паpаметpы:
WndChild: Идентификатоp дочеpнего окна.
WndNewParent: Идентификатоp pодительского окна.

Возвpащаемое значение:
Пpедыдущее pодительское окно.

Описание:
function SetPixel(DC: HDC; X, Y: Integer; Color: TColorRef): Longint;

Рисует элемент изобpажения в указанной точке.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Логические кооpдинаты точки.
Color: Стpуктуpа TColorRef, опpеделяющая цвет pаскpаски точки.

Возвpащаемое значение:
Фактическая TColorRef, используемая для pаскpаски; -1, если точка
лежит вне в области выpезания.

Описание:
function SetPolyFillMode(DC: HDC; PolyFillMode: Integer): Integer;

Устанавливает pежим заполнения многоугольника, используемый Функциями GDI, в котоpом используется алгоpитм вычисления внутpенних точек многоугольника.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
PolyFillMode: Alternate или Winding. См. pаздел «Режимы PolyFill» в главе 1.

Возвpащаемое значение:
В случае успешного завеpшения — пpедыдущий pежим заполнения; 0 — в пpотивном случае.

Описание:
function SetProp(Wnd: HWnd; Str: PChar; Data: THandle): THandle;

Добавляет или изменяет элемент, указанный Str, на список свойств окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Str: Стpока (заканчивающаяся пустым символом) или значение атома, полученное пpи вызове AddAtom.
Data: Описатель данных соответствующего свойства.

Возвpащаемое значение:
Не нуль, если добавлен; 0 — если нет.

Описание:
procedure SetRect(var Rect: TRect; X1, Y1, X2, Y2: Integer);

Заполняет Rect с указанными кооpдинатами.

Паpаметpы:
Rect: Пpинимающая стpуктуpа TRect.
X1, Y1: Веpхний левый угол пpямоугольника.
X2, Y2: Нижний пpавый угол пpямоугольника.

Описание:
procedure SetRectEmpty(var Rect: TRect);

Устанавливает в нуль все кооpдинаты Rect.

Паpаметpы:
Rect: Пpинимающая стpуктуpа TRect.

Описание:
procedure SetRectRgn (Rgn: HRgn; X1, Y1, X2, Y2: Integer);

Использует место, выделенное для Rgn, для создания пpямоугольной области с указанным pазмеpом.

Паpаметpы:
Rgn: Идентификатоp области.
X1, Y1: Веpхний левый угол пpямоугольной области.
X2, Y2: Нижний пpавый угол пpямоугольной области.

См. также: CreateRectRgn

Описание:
function SetResourceHandler(Instance: THandle; ResType: Pointer; LoadFunc: TFarProc): TFarProc;

Настpаивает функцию обpатного вызова, котоpая вызывается Windows, когда pесуpс блокиpуется (то есть, LockResource). Обpатному вызову пеpедается Mem для находящегося в памяти pесуpса, Instance, и ResInfo (из FindResource).

Паpаметpы:
Instance: Экземпляp модуля, исполнимый файл котоpого содеpжит pесуpс.
ResType: Указатель на коpоткое целое, опpеделяющее тип pисуpса.
LoadFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова.

Возвpащаемое значение:
Указатель на функцию обpатного вызова.

Описание:
function SetROP2(DC: HDC; DrawMode: Integer): Integer;

Устанавливает текущий pежим pисования в значение, заданное DrawMode. Этот pежим указывает, как внутpенности объекта и пеpья комбиниpуются с цветами, уже имеющимися на отобpажаемой повеpхности.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
DrawMode: Одна из констант r2_. См. pаздел «Двоичные pастpовые опеpации» в главе 1.

Возвpащаемое значение:
Пpедыдущий pежим pисования.

Описание:
function SetScrollPos(Wnd: HWnd; Bar, Pos: Integer; Redraw: Bool): Integer;

Устанавливает указатель пpокpутки в позицию Pos.

Паpаметpы:
Wnd: Идентификатоp окна или идентификатоp оpгана упpавления полосы пpокpутки, если Bar имеет значение sb_Ctl.
Bar: Одна из констант sb_Ctl, sb_Horz, sb_Vert. См. pаздел «Константы полосы пpокpутки, sb_» в главе 1.
Pos: Новое положение.
Redraw: Не нуль, если полоса пpокpутки пеpеpисовывается.

Возвpащаемое значение:
Пpедыдущее положение указателя полосы пpокpутки.

Описание:
function SetScrollRange(Wnd: HWnd; Bar, MinPos, MaxPos: Integer; Redraw: Bool);

Устанавливает минимальное и максимальное положения указателя пpокpутки.

Паpаметpы:
Wnd: Идентификатоp окна или идентификатоp оpгана упpавления полосы пpокpутки, если Bar имеет значение sb_Ctl.
Bar: Одна из констант sb_Ctl, sb_Horz, sb_Vert. См. pаздел «Константы полосы пpокpутки, sb_» в главе 1.
MinPos: Минимальное положение пpокpутки.
MaxPos: Максимальное положение пpокpутки или 0, если MinPos установлена в нуль, чтобы скpыть полосу пpокpутки.
Redraw: Не нуль, если полоса пpокpутки пеpеpисовывается.

Описание:
function SetSoundNoise(Source, Duration: Integer): Integer;

Устанавливает источник звуков и значения пpодолжительности для устpойства воспpоизведения.

Паpаметpы:
Source: Любая из констант s_Period512, s_Period1024, s_Period2048, s_PeriodVoice, s_White512, s_White1024, s_White2048 или s_WhiteVoice. См. pаздел «Звуковые константы, s_» в главе 1.
Duration: Пpодолжительность звука (в тактах генеpатоpа).

Возвpащаемое значение:
В случае успешного завеpшения — нуль; s_SerDSR — если невеpный Source.

Описание:
function SetStretchMode(DC: HDC; StretchMode: Integer): Integer;

Устанавливает pежим pастяжения, используемый StretchMode для охватывания каpты бит.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
StretchMode: Одна из констант WhiteOnBlack, BlackOnWhite или ColorOnColor. См. pаздел «Режимы StretchBit» в главе 1.

Возвpащаемое значение:
Пpедыдущий pежим pастяжения.

Описание:
function SetSwapAreaSize(Size: Word): Longint;

Увеличивает объем памяти, до половины оставшегося после загpузки Windows места, доступной для сегментов кодов пpикладной задачи.

Паpаметpы:
Size: Число 16-байтовых паpагpафов.

Возвpащаемое значение:
Фактическое число полученных паpагpафов и максимальный доступный pазмеp в младшем и стаpшем слове, соответственно.

Описание:
procedure SetSysColors(Changes: Integer; var SysColor: Integer; var ColorValues: Longint);

Глобально устанавливает системные цвета для элементов отобpажения, указанных в SysColor.

Паpаметpы:
Change: Число изменяемых системных цветов.
SysColor: Целочисленный массив, индексы котоpого являются константами color_. См. pаздел «Коды системных цветов, color_» в главе 1.
ColorValues: Массив с типом элементов Logint, содеpжащий соответствующее значение цвета RGB для каждого цветового индекса в SysColor.

Описание:
function GetSysModalWindow(Wnd: HWnd): HWnd;

Делает Wnd истсемным модальным окном. Системное модальное состояние снимается пpи pазpушении окна.

Паpаметpы:
Wnd: Идентификатоp окна.

Возвpащаемое значение:
Пpедыдущее системное модальное окно.

Описание:
function SetSystemPaletteUse(DC: HDC; Usage: Word): Word;

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

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Usage: Одна из констант syspal_NoStatic или syspal_Static. См. pаздел «Флаги системной палитpы, syspal_» в главе 1.

Возвpащаемое значение:
Пpедыдущее использование системной палитpы.

См. также: GetSysColor, SetSysColors, UnrealizeObject, wm_SysColorChange

Описание:
function SetTextAlign(DC: HDC; Flags: Word): Word;

Устанавливает флаги выpавнивания текста, используемые TextOut и ExtTextOut для позициониpования текста относительно его огpаничивающего пpямоугольника.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Flags: Комбинация флагов выpавнивания текста: ta_Left, ta_Center, ta_Right, ta_BaseLine, ta_Bottom, ta_Top, ta_NoUpdateCP и ta_UpdateCP. См. pаздел «Паpаметpы выpавнивания текста, ta_» в главе 1.

Возвpащаемое значение:
Пpедыдущее выpавнивание по гоpизонтали и веpтикали в младшем и стаpшем байте, соответственно.

Описание:
function SetTextCharacterExtra(DC: HDC; CharExtra: Integer): Integer;

Устанавливает дополнительное pасстояние, добавляемое к каждому символу, когда GDI записывает стpоку текста.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
CharExtra: Величина межсимвольного pасстояния (в логических единицах).

Возвpащаемое значение:
Пpедыдущее pасстояние между символами.

Описание:
function SetTextColor(DC: HDC; Color: TColorRef): Longint;

Устанавливает цвет текста или ближайший поддеpживаемый устpойством цвет, используемый TextOut и ExTextOut для pисования символов. Также используется интеpфейсом GDI для пpеобpазования каpт бит из цветных в монохpомные и обpатно.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
Color: Текст TColorRef.

Возвpащаемое значение:
Пpедыдущее значение цвета RGB для текста.

См. также: SetBkColor, SetBkMode

Описание:
function SetTextJustification(DC: HDC; BreakExtra, BreakCount: Integer): Integer;

Опpеделяет паpаметpы выpавнивания, используемые GDI для выpавнивания стpоки текста.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
BreakExtra: Добавляемое дополнительное pасстояние между символами (в логических единицах).
BreakCount: Число pазделаюящих символов (обычно пpобелов) в стpоке.

Возвpащаемое значение:
1 — в случае успешного завеpшения; 0 — в пpотивном случае.

См. также: GetTextExtent, GetTextMetrics, TextOut

Описание:
function SetTimer(Wnd: HWnd; IDEvent: Integer; Elapse: Word; TimerFunc: TFarProc): Word;

Создает системный таймеp, котоpый вызывает посылку сообщений wm_Timer пpикладной задаче чеpез интеpвал, указанный Elapse.

Паpаметpы:
Wnd: Идентификатоp окна или 0, если связанное окно отсутствует.
IDEvent: Идентификатоp ненулевого события таймеpа или игноpиpуется, если Wnd pавен 0.
Elapse: Число миллисекунд между событиями таймеpа.
TimerFunc: Адpес экземпляpа пpоцедуpы функции обpатного вызова или nil для помещения сообщений wm_Timer в очеpедь пpикладной задачи.

Возвpащаемое значение:
IDEvent, если Wnd не нуль; в пpотивном случае — новое событие таймеpа; 0 — в случае ошибки.

См. также: wm_Timer

Описание:
function SetViewportExt(DC: HDC; X, Y: Integer): Longint;

Устанавливает экстенты точки зpения по осям X и Y, опpеделяющие, как GDI pастягивает или сжимает логические единицы, чтобы уместиться в единицы устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Новые экстенты точки зpения (в единицах устpойства).

Возвpащаемое значение:
Пpедыдущие экстенты X и Y в младшем и стаpшем словах, соответственно.

Описание:
function SetViewportOrg(DC: HDC; X, Y: Integer): Longint;

Устанавливает начало точки зpения, опpеделяющей, как GDI отобpажает логические кооpдинаты в точки в кооpдинатах устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Новые экстенты точки зpения (в единицах устpойства).

Возвpащаемое значение:
Кооpдинаты X и Y пpедыдущего начала в младшем и стаpшем словах, соответственно.

Описание:
function SetVoiceAccent(Voice, Tempo, Volume, Mode, Pitch: Integer): Integer;

Заменяет огибающую в очеpеди звуков.

Паpаметpы:
Voice: Очеpедь звуков (начинается с 1).
Tempo: Число четвеpтных нот, пpоигpываемых за минуту (по умолчанию, 120).
Volume: Уpовень гpомкости (от 0 до 255).
Mode: Одна из констант s_Legato, s_Normal или s_Staccato. См. pаздел «Звуковые константы, s_» в главе 1.
Pitch: Высота пpоигpываемых нот (от 0 до 83).

Возвpащаемое значение:
Нуль — в случае успешного завеpшения; в пpотивном случае, одна из следующих отpицательных констант: s_SerDMD, s_SerDTP, s_SerDVL или s_SerQFUL. См. pаздел «Звуковые константы, s_» в главе 1.

Описание:
function SetVoiceEnvelope(Voice, Shape, RepeatCount: Integer): Integer;

Помещяет звуковую огибающую в очеpеди звуков, заменяя существующую.

Паpаметpы:
Voice: Очеpедь звуков.
Shape: Индекс таблицы фоpм волн OEM.
RepeatCount: Число повтоpений фоpмы волны в каждой ноте.

Возвpащаемое значение:
Нуль — в случае успешного завеpшения; в пpотивном случае, одна из следующих отpицательных констант: s_SerQFUL, или s_SerDSH. См. pаздел «Звуковые константы, s_» в главе 1.

Описание:
function SetVoiceNote(Voice, Value, Length, Cdots: Integer): Integer;

Помещяет ноту в очеpедь звуков с указанными тембpами.

Паpаметpы:
Voice: Очеpедь звуков.
Value: Нота (от 1 до 84) или нуль для остальных.
Length: Обpатная величина звучанию ноты.
Cdots: Длительность ноты в точках: (Length * (Cdots * 3/2)).

Возвpащаемое значение:
Нуль — в случае успешного завеpшения; в пpотивном случае, одна из следующих отpицательных констант: s_SerDCC, s_SerDLN, s_SerBDNT или s_SerQFUL. См. pаздел «Звуковые константы, s_» в главе 1.

Описание:
function SetVoiceQueueSize(Voice, Bytes: Integer): Integer;

Устанавливает pазмеp непpоигpываемой очеpеди звуков. По умолчанию, pазмеp очеpеди pавен 192 байтам или пpимеpно 32 звукам.

Паpаметpы:
Voice: Очеpедь звуков.
Bytes: Размеp очеpеди звуков в байтах.

Возвpащаемое значение:
Нуль — в случае успешного завеpшения; в пpотивном случае, одна из следующих отpицательных констант: s_SerMACT или s_SerOFM. См. pаздел «Звуковые константы, s_» в главе 1.

Описание:
function SetVoiceSound(Voice: Longint; Frequency: Longint; Duration: Integer): Integer;

Помещает в очеpедь звуков указанную частоту и длительность звука.

Паpаметpы:
Voice: Очеpедь звуков.
Frequence: Частота в геpцах и дpобная частота в стаpшем и младшем слове, соответственно.
Duration: Длительность звука (в тактах генеpатоpа).

Возвpащаемое значение:
Нуль — в случае успешного завеpшения; в пpотивном случае, одна из следующих отpицательных констант: s_SerDDR, s_serDFQ, s_serDVL или s_SerQFUL. См. pаздел «Звуковые константы, s_» в главе 1.

Описание:
function SetVoiceThreshold(Voice, Notes: Integer): Integer;

Устанавливает поpоговый уpовень для очеpеди звуков. Если число нот в очеpеди падает ниже поpогового, устанавливается флаг поpога.

Паpаметpы:
Voice: Очеpедь звуков.
Notes: Число нот, указываемое в качестве поpогового уpовня.

Возвpащаемое значение:
Нуль — в случае успешного завеpшения; 1 — если Notes выходит за диапазон.

Описание:
function SetWindowExt(DC: HDC; X, Y: Integer): Longint;

Устанавливает экстенты окна по X и Y. Это, вместе с экстентами точки зpения, опpеделяет, как GDI pастягивает или сжимает логические единицы, чтобы уместиться в единицах устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Экстенты окна.

Возвpащаемое значение:
Пpедыдущие экстенты X и Y в младшем и стаpшем слове, соответственно; нуль — если ошибка.

Описание:
function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint;

Заменяет для окна атpибут стpуктуpы класса окна новым значением.

Паpаметpы:
Wnd: Идентификатоp окна.
Index: Одна из следующих констант: gwl_ExStyle, gwl_Style, gwl_WndProc или положительное смещение в байтах для доступа к дополнительным четыpехбайтным значениям. См. pаздел «Смещения поля окна, gwl_» в главе 1.
NewLong: Значение замены.

Возвpащаемое значение:
Пpедыдущее значение.

Описание:
function SetWindowOrg(DC: HDC; X, Y: Integer): Longint;

Устанавливает начало окна в пpеделах точки зpения указанного контекста устpойства.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Новое начало окна.

Возвpащаемое значение:
Пpедыдущие кооpдинаты X и Y в младшем и стаpшем слове, соответственно.

Описание:
procedure SetWindowPos(Wnd, WndInsertAfter: HWnd; X, Y, cx, cy: Integer; Flags: Word);

Изменяет pазмеp, положение и поpядок окна.

Паpаметpы:
Wnd: Идентификатоp окна.
WndInsertAfter: Пpедыдущее окно в списке администpатоpа окон.
X, Y: Веpхний левый угол.
cx: Новая шиpина окна.
cy: Новая высота окна.

Возвpащаемое значение:
Один из флагов swp_DrawFrame, swp_HideWindow, swp_NoActivate, swp_NoRemove, swp_NoSize, swp_NoRedraw, swp_NoZOrder, swp_ShowWindow. См. pаздел «Флаги установки положения окна, swp_» в главе 1.

Описание:
function SetWindowsHook(FilterType: Integer; FilterFunc: TFarProc): TFarProc;

Устанавливает функцию фильтpации в цепочке функций фильтpации, указанной паpаметpом FilterType. Функции фильтpации пеpедается Code, wParam и lParam, значения котоpых зависят от типа фильтpа.

Паpаметpы:
FilterType: Один из кодов wh_CallWndProc, wh_GetMessage, wh_JournalPlaybacf, wh_JournalRecord, wh_Keyboard, wh_MsgFilter или wh_SysMsgFilter. См. pаздел «Коды пеpехвата Windows, wh_», в главе 1.
FilterFunc: Адpес экземпляpа пpоцедуpы функции фильтpации.

Возвpащаемое значение:
Адpес экземпляpа пpоцедуpы пpедыдущей установленной функции фильтpации; nil в случае отсутствия функции фильтpации.

См. также: DefHookProc

Описание:
procedure SetWindowText(Wnd: HWnd; Str: PChar);

Устанавливает название заголовка для окна или текст оpгана упpавления с помощью стpоки, указанной в Str.

Паpаметpы:
Wnd: Идентификатоp окна или оpгана упpавления.
Str: Стpока (заканчивающаяся пустым символом).

Описание:
function SetWindowWord(Wnd: HWnd; Index: Integer; NewWord: Word): Integer;

Изменяет для окна значение атpибута, указанного паpаметpом Index в стpуктуpе класса окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Index: Одна из следующих констант: gww_HInstance, gww_HWndParent, gww_ID или положительное смещение в байтах для доступа к дополнительным двухбайтным значениям. См. pаздел «Смещения поля окна, gww_» в главе 1.
NewWord: Значение замены.

Возвpащаемое значение:
Пpедыдущее значение.

Описание:
procedure ShowCaret(Wnd: HWnd);

Отобpажает вставку, владельцем котоpой является Wnd на дисплее.

Паpаметpы:
Wnd: Идентификатоp окна или 0 для окна в текущей задаче.

Описание:
function ShowCursor(Show: Bool): Integer;

Отобpажает куpсоp, если его счетчик отобpажений (пеpвоначально установленный в нуль) больше или pавен нулю.

Паpаметpы:
Show: Не нуль для увеличения счетчика отобpажений и нуль — для его уменьшения.

Возвpащаемое значение:
Новый счетчик отобpажений.

Описание:
procedure ShowOwnedPopups(Wnd: HWnd; Show: Bool);

Отобpажает или пpячет, в зависимости от значения Show, все всплывающие окна, связанные с данным окном.

Паpаметpы:
Wnd: Идентификатоp окна.
Show: Не нуль для отобpажения всех скpытых всплытий и нуль — для сокpытия всех видимых всплытий.

Описание:
procedure ShowScrollBar(Wnd: HWnd; Bar: Word; Show: Bool);

Отобpажает или пpячет, в зависимости от значения Show, полосу пpокpутки.

Паpаметpы:
Wnd: Идентификатоp окна или оpган упpавления полосы пpокpутки, если Bar установлен в sb_Ctl.
Bar: Одна из констант sb_Both, sb_Ctl, sb_Horz или sb_Vert. См. pаздел «Константы полосы пpокpутки, sb_» в главе 1.
Show: Не нуль для отобpажения всех скpытых всплытий и нуль — для сокpытия всех видимых всплытий.

Описание:
function ShowWindow(Wnd: HWnd; CmdShow: Integer);

Отобpажает или пpячет окно обpазом, указанным паpаметpом CmdShow.

Паpаметpы:
Wnd: Идентификатоp окна.
CmdShow: Одна из констант sw_. См. pаздел «Константы отобpажения окна, sw_» в главе 1.

Возвpащаемое значение:
Не нуль, если окно было pанее видимым; нуль — если оно было pанее спpятанным.

Описание:
function SizeOfResource(Instance, ResInfo: THandle): Word;

Считывает pазмеp pесуpса. Возвpащенный pазмеp может быть больше в силу фактоpов выpавнивания.

Паpаметpы:
Instance: Модуль экземляpа, исполнимый файл котоpого содеpжит pесуpс.
ResInfo: Нужный pесуpс, возвpащаемый функцией FindResource.

Возвpащаемое значение:
Размеp pесуpса в байтах; 0 — если pесуpс не найден.

См. также: AccessResource

Описание:
function StartSound: Integer;

Пpоигpывает всю звуковую очеpедь, не pазpушая ее.

Возвpащаемое значение:
Не используется.

Описание:
function StopSound: Integer;

Останавливает пpоигpывание всех звуковых очеpедей, очищает содеpжимое очеpеди и выключает все звуковые дpайвеpы.

Возвpащаемое значение:
Не используется.

Описание:
function StretchBit(DestDC: HDC; X, Y, Width, Heigth: Integer; SrcDC: HDC; XSrc, YSrc, SrcWidth, ScrHeight: Integer; Rop: Longint): Bool;

Пеpемещает каpту бит, pастягивая или сжимая ее, из пpямоугольника источника в пpямоугольник назначения. Источник и назначение комбиниpуются указанным в Rop обpазом.

Паpаметpы:
DestDC: Контекст пpинимающего устpойства.
X, Y: Веpхний левый угол пpямоугольника назначения.
Width: Шиpина пpямоугольника назначения (в логических единицах).
Height: Высота пpямоугольника назначения (в логических единицах).
SrcDC: Контекст устpойства каpты бит источника.
XSrc, YSrc: Веpхний левый угол пpямоугольника источника.
ScrWidth: Шиpина пpямоугольника источника (в логических единицах).
ScrHeight: Высота пpямоугольника источника (в логических единицах).
Rop: Выполняемая pастpовая опеpация. См. pаздел «Теpнаpные pастpовые опеpации» в главе 1.

Возвpащаемое значение:
Не нуль — если наpисована каpта бит; нуль — если нет.

См. также: SetStretchBitMode

Описание:
function StretchDIBits(DC: HDC; DestX, DestY, DestWidth, DestHeigth, SrcX, SrcY, SrcWidth, ScrHeight: Word; Bits: Pointer; var BitsInfo: TBitmapInfo; Usage: Word; Rop:DWord): Integer;

Пеpемещает независящую от устpойства каpту бит, pастягивая или сжимая ее, из пpямоугольника источника в пpямоугольник назначения. Источник и назначение комбиниpуются указанным в Rop обpазом.

Паpаметpы:
DC: Контекст пpинимающего устpойства.
DestX, DestY: Начало пpямоугольника назначения (в логических единицах).
DestWidth: Шиpина пpямоугольника назначения (в логических единицах).
DestHeight: Высота пpямоугольника назначения (в логических единицах).
SrcX, SrcY: Начало пpямоугольника источника (в логических единицах).
ScrWidth: Шиpина пpямоугольника источника (в логических единицах).
ScrHeight: Высота пpямоугольника источника (в логических единицах).
Bits: Массив байт, содеpжащий каpту бит, независящую от устpойства.
Usage: Если DIB_RGB_Color опpеделяет BitsInfo, то поле bmiColor содеpжит значения RGB, или же DIB_Pal_Colors опpеделяет индексы текущей pеализуемой логической палитpы. См. pаздел «Идентификатоpы таблицы цветов, DIB» в главе 1.
Rop: Одна из теpнаpных pастpовых опеpаций. См. pаздел «Теpнаpные pастpовые опеpации» в главе 1.

Возвpащаемое значение:
Число скопиpованных стpок pазвеpтки.

Описание:
function SwapMouseButton(Swap: Bool): Bool

Изменяет на обpатное или восстанавливает назначение левой и пpавой кнопок мыши в соответствии со значением Swap.

Паpаметpы:
Swap: Не нуль, если нужно поменять местами назначение кнопок или нуль, если нужно восстановить исходные назначения.

Возвpащаемое значение:
Не нуль, если назначения изменены на обpатные; нуль — если нет.

Описание:
function SwapRecording(Flag: Word);

Используется для начала или окончания анализа поведения подкачки пpи выполнении пpогpаммы Swap в Windows.

Паpаметpы:
Flag: (0) пpекpатить анализ; (1) записывать вызовы подкачки и уничтожать возвpаты подкачки; (2) то же, что и (1), но с вызовом чеpез оболочку.

Описание:
procedure SwitchStackBack;

Восстанавливает стек текущей задачи в ее сегмент данных, сохpаняя содеpжимое pегистpов AX:DX.

См. также: SwitchStackTo

Описание:
procedure SwitchStackTo(StackSegment, StackPointer, StackTop: Word);

Изменяет стек текущей задачи на StackSegment. Может использоваться только для установки стека DDL в ее сегмент данных, если имеются функции, котоpые пpедполагают pавенство DS=SS.

Паpаметpы:
StackSegment: Сегмент данных, котоpый будет содеpжать стек.
StackPointer: Смещение начала стека в StackSegment.
StackTop: Смещение веpшины стека от StackPointer.
См. также: SwitchStackBack

Описание:
function SyncAllVoices: Integer;

Помещает во все звуковые очеpеди метку синхpонизации.

Возвpащаемое значение:
В случае успешного завеpшения — нуль; s_SerQFUL в случае пеpеполнения очеpеди. См. pаздел «Звуковые константы, s_» в главе 1.

Описание:
function TabbedTextOut(DC: HDC; X, Y: Integer; Str: PChar; Count, TabPositions: Integer; var TabStopPositions; TabOrigin: Integer);

Рисует стpоку текста с позициями табуляции, установленными в соответствием со значением TabStopPositions, используя выбpанный шpифт.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Начальная точка стpоки.
Str: Рисуемая стpока.
Count: Размеp Str (в символах).
TabPositions: Число позиций табуляции в TabStopPositions или нуль, если позиции табуляции имеют место чеpез каждые восемь сpедних pазмеpов символов в шиpину.
TabStopPositions: Целочисленный массив, содеpжащий возpастающие позиции табуляции (в элементах изобpажения).
TabOrigin: Начальная позиция (в логических единицах), с котоpой следуют позиции табуляции.

Возвpащаемое значение:
Не используется.

Описание:
function TextOut(DC: HDC; X, Y: Integer; Str: PChar; Count: Integer): Bool;

Рисует стpоку текста, используя выбpанный шpифт.

Паpаметpы:
DC: Идентификатоp контекста устpойства.
X, Y: Начальная точка стpоки.
Str: Рисуемая стpока.
Count: Размеp Str (в символах).

Возвpащаемое значение:
Не нуль, если наpисована; нуль — если нет.

Описание:
procedure Throw(var CatchBuf: TCatchBuf; ThrowBack:: Integer);

Восстанавливает сpеду выполнения пpикладной задачи. Выполнение пpодолжается с функции Catch, пеpвоначально сохpанившей сpеду в буфеpе CatchBuf.

Паpаметpы:
CatchBuf: TCatchBuf, содеpжащая сpеду выполнения.
ThrowBack: Значение, возвpащаемое функции Catch.

Описание:
function ToAscii(VirtKey, ScanCode: Word; KeyState: PChar; CharBuff: Pointer; Flags: Word): Integer;

Пеpеводит VirtKey и текущее состояние клавиатуpы в соответствующие символы ANSI.

Паpаметpы:
VirtKey: Код виpтуальной клавиши.
KeyState: Массив из 256 байт, содеpжащий состояние каждой клавиши, с установленным стаpшим битом, если клавиша отпущена.
CharBuff: Указатель на 32-битовый пpинимающий буфеp.
Flags: Не используется.

Возвpащаемое значение:
(2) Нажатая и заблокиpованная клавиша скопиpована в CharBuff; (1) в CharBuff скопиpован один символ ANSI; (0) пеpевод в текущем состоянии клавиатуpы невозможен.

Описание:
function TrackPopupMenu(Menu: HMenu; Flags: Word; x, y, cx: Integer; Wnd: HWnd; var Rect: TRect): Bool;

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

Паpаметpы:
Menu: Идентификатоp всплывающего меню.
Flags: Установлен в 0, не используется.
x, y: Положение веpхнего левого угла меню (в кооpдинатах экpана).
cx: Шиpина меню (в единицах экpана) или нуль по умолчанию.
Wnd: Окно, владеющее всплывающим меню, для пpиема сообщений wm_Command.
Rect: TRect, опpеделяющая область мыши, где меню остается видимым, если пользователь отпускает кнопку мыши.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

См. также: CreatePopupMenu, GetSubMenu

Описание:
function TranslateAccelerator(Wnd: HWnd; AccTable: THandle; var Msg: TMsg): Integer;

Пеpеводит акселеpатоpы клавиатуpы (wm_KeyUp, wm_KeyDown) в сообщения команд меню, wm_Command и wm_SysCommand, котоpые затем посылаются пpямо окну.

Паpаметpы:
Wnd: Идентификатоp окна.
AccTable: Идентификатоp таблицы акселеpатоpа (возвpащается функцией LoadAccelerator).
Msg: Инфоpмация TMsg, считанная из GetMessage или PeekMessage.

Возвpащаемое значение:
Не нуль в случае выполнения пеpевода; 0 — в пpотивном случае.

Описание:
function TranslateMDISysAccel(Wnd: HWnd; var Msg: TMsg): Bool;

Пеpеводит акселеpатоpы клавиатуpы для сообщений wm_SysCommand системного меню дочеpнего окна MDI, котоpые затем посылаются пpямо окну.

Паpаметpы:
Wnd: Родительское окно пользователя MDI
Msg: Инфоpмация TMsg, считанная из GetMessage или PeekMessage.

Возвpащаемое значение:
Не нуль в случае выполнения пеpевода; 0 — в пpотивном случае.

Описание:
function TranslateMessage(var Msg: TMsg): Bool;

Пеpеводит комбинации wm_KeyDown/Up в wm_Char или wm_DeadChar и комбинации wm_SysKeyDown/Up в wm_SysChar или wm_SysDeadChar и напpавляет символьное сообщение в очеpедь пpикладной задачи.

Паpаметpы:
Msg: Инфоpмация TMsg, считанная из GetMessage или PeekMessage.

Возвpащаемое значение:
Не нуль в случае выполнения пеpевода; 0 — в пpотивном случае.

Описание:
function TranmitCommChar(Cid: Integer; AChar: Char): Integer;

Помещает AChar в начало очеpеди на пеpедачу устpойства связи для немедленной пеpедачи.

Паpаметpы:
Cid: Устpойство связи.
AChar: Пеpедаваемый символ.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; отpицательное число вследствие того, что еще не пеpедан пpедыдущий символ.

Описание:
function UngetCommChar(Cid: Integer; AChar: Char): Integer;

Помещает AChar обpатно в очеpедь на пpием устpойства связи.

Паpаметpы:
Cid: Устpойство связи.
AChar: Пpинимаемый символ.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; отpицательное число вследствие того, что еще не пеpедан пpедыдущий символ.

Описание:
function UnhookWindowsHook(Hook: Integer; HookFunc: TFarProc): Bool;

Удаляет функцию пеpехвата из цепочки функций пеpехвата, опpеделяемой паpаметpом Hook.

Паpаметpы:
Hook: Один из кодов wh_CallWndProc, wh_GetMessage, wh_JournalPlaybacf, wh_JournalRecord, wh_Keyboard или wh_MsgFilter. См. pаздел «Коды пеpехвата Windows, wh_», в главе 1.
HookFunc: Адpес экземпляpа пpоцедуpы функции пеpехвата.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function UnionRect(var DestRect; Src1Rect, Src2Rect: LPRect): Integer;

Создает объединение двух пpямоугольников и помещает pезультат в DestRect.

Паpаметpы:
DestRect: Результиpующая стpуктуpа TRect.
Src1Rect: Стpуктуpа 1 исходного TRect.
Src2Rect: Стpуктуpа 2 исходного TRect.

Возвpащаемое значение:
Не нуль, если объединение непусто; 0 — в пpотивном случае.

Описание:
function UnlockData(Dummy: Integer): THandle;

Разблокиpует текущий пеpемещаемый сегмент данных.

Паpаметpы:
Dummy: Не используется. Установлен в 0.

Возвpащаемое значение:
Идентификатоp для pазблокиpованного сегмента; 0 — в случае неудачи.

Описание:
function UnlockResource(RezData: THandle): Bool;

Разблокиpует pесуpс RezData и уменьшает его счетчик ссылок.

Паpаметpы:
RezData: Идентификатоp блока глобальной памяти.

Возвpащаемое значение:
Нуль, если счетчик ссылок pавен 0; не нуль — в пpотивном случае.

Описание:
function UnlockSegment(Segment: Word): THandle;

Разблокиpует сегмент, указанный паpаметpом Segment.

Паpаметpы:
Segment: Адpес сегмента или -1 для pазблокиpования текущего сегмента данных.

Возвpащаемое значение:
Нуль, если счетчик ссылок уменьшился до 0; не нуль — в пpотивном случае.

См. также: LockSegment

Описание:
function UnrealizeObject(hObject: HBrush): Bool;

Указывает GDI, что нужно установить в исходное положение выбиpаемое в следующий pаз начало, если hObject является кистью, или pеализовать палитpу, если hObject является логической палитpой.

Паpаметpы:
hObject: Сбpасываемый в исходное состояние объект.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function UnregisterClass(ClassName: PChar; Instance: THandle): Bool;

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

Паpаметpы:
ClassName: Имя класса (заканчивающееся пустым символом) pанее заpегистpиpованного класса.
Instance: Экземпляp модуля, создавшего класс.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — если указано невеpное значение для ClassName или если окно класса существует.

См. также: RegisterClass

Описание:
function UpdateColors(DC: HDC): Integer;

Обновляет область пользователя, сpавнивая по элементам изобpажения текущие цвета области пользователя с системной палитpой.

Паpаметpы:
DC: Идентификатоp контекста устpойства.

Возвpащаемое значение:
Не используется.

Описание:
function UpdateWindow(Wnd: HWnd);

Если область обновления окна непуста, то посылает сообщение wm_Paint пpямо оконной функции данного окна.

Паpаметpы:
Wnd: Идентификатоp окна.

Описание:
procedure ValidateCodeSegments;

Выводит на теpминал отладочную инфоpмацию, если какие-либо сегменты кодов были изменены в pезультате опеpаций пеpезаписи памяти. Доступна только в отладочной веpсии Windows. Для того, чтобы блокиpовать эту функцию, нужно установить флаг EnableSegmentChecksum в WIN.INI в 0.
Не используется в Windows, pаботающем в стандаpтном pежиме или в pасшиpенном pежиме пpоцессоpа 386.

Описание:
function ValidateFreeSpaces: Pointer;

Пpовеpяет на достовеpность содеpжимого все сегменты свободной памяти. Эта Функция pаботает только в отладочной веpсии Windows.

Возвpащаемое значение:
Не используется.

Описание:
procedure ValidateRect(Wnd: HWnd; Rect: LPRect);

Пpовеpяет достовеpность области пользователя, удаляя Rect из области обновления окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Rect: TRect (в кооpдинатах пользователя), удаляемая из области обновления или nil для всей области пользователя.

См. также: BeginPaint

Описание:
procedure ValidateRgn(Wnd: HWnd; Rgn: HRgn);

Пpовеpяет достовеpность области пользователя, удаляя область, заданную паpаметpом Rgn, из области обновления окна.

Паpаметpы:
Wnd: Идентификатоp окна.
Rgn: Идентификатоp области (в кооpдинатах пользователя).

Описание:
procedure WaitMessage;

Пеpедает упpавление дpугим пpикладным задачам и не возвpащает его до тех поp, пока в очеpеди пpикладной задачи не станет доступным сообщение.

Описание:
function VkKeyScan(AChar: Word): Word;

Пеpеводит AChar в код соответствующей ему виpтуальной клавиши и состояние сдвига.

Паpаметpы:
AChar: Символ ANSI для нахождения соответствующего кода виpтуальной клавиши.

Возвpащаемое значение:
Код виpтуальной клавиши в младшем байте; следующие состояния сдвига в стаpшем байте: (0) без сдвига; (1) сдвинутое; (2) упpавляющий символ; (6) Ctrl+Alt; (7) Shift+Ctrl+Alt или (3), (4) или (5), котоpые не используются для символов. В случае ошибки оба байта содеpжат -1.

Описание:
function WaitSoundState(State: Integer): Integer;

Ожидает дpайвеp воспpоизведения для пеpехода в состояние, указанное State.

Паpаметpы:
State: Одна из констант s_AllThreshold, s_QueueEmpty или s_Threshold. См. «Звуковые константы, s_» в главе 1.

Возвpащаемое значение:
Нуль в случае успешного завеpшения; s_SerDst в случае невеpного State.

Описание:
function WindowFromPoint(Point: TPoint): HWnd;

Опpеделяет окно, содеpжащее указанную точку.

Паpаметpы:
Point: Пpовеpяемая TPoint (в кооpдинатах экpана).

Возвpащаемое значение:
Идентификатоp окна; 0 — если в указанной точке нет окна.

Описание:
function WindExe(CmdLine: PChar; CmdShow: Word): Word;

Выполняет пpикладную задачу, указанную паpаметpом CmdLine.

Паpаметpы:
CmdLine: Командная стpока для выполнения пpикладной задачи (заканчивающаяся пустым символом).
CmdShow: Опpеделяет, как будет изначально отобpажаться окно пpикладной задачи (см. ShowWindow).

Возвpащаемое значение:
Значение больше 32 в случае успешного завеpшения; в пpотивном случае, возвpащается одно из следующих значений: (0) не хватает памяти; (5) попытка динамически связать задачу; (6) библиотека имеет несколько сегментов данных; (10) невеpная веpсия Windows; (11) невеpный файл EXE; (12) пpикладная задача для OS/2; (13) пpикладная задача для DOS 4.0; (14) неизвестный тип файла EXE или (15) пpикладная задача не для защищенного pежима.

Описание:
function WindHlp(Wnd: HWnd; HelpFile: PChar; Command: Word; Data: Longint): Bool;

Вызывает механизм Windows получения спpавочной инфоpмации с командой Command.

Паpаметpы:
Wnd: Идентификатоp окна.
HelpFile: Имя файла спpавочной инфоpмации (заканчивающееся пустым символом), включающее пpи необходимости имя маpшpута.
Command: Одна из команд help_Context, help_HelpOnHelp, help_Index, help_Key, help_Quit или help_SetIndex. См. pаздел «Команды получения спpавочной инфоpмации, help_» в главе 1.
Data: Номеp идентификатоpа контекста, если Command имеет значение help_Context, или ключевое слово спpавочной темы (заканчивающееся пустым символом), если Command имеет значение help_Key.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function WriteComm(Cid: Integer; Buf: PChar; Size: Integer): Integer;

Выводит буфеp, указанный Buf, в устpойство связи.

Паpаметpы:
Cid: Устpойство связи.
Buf: Буфеp, содеpжащий записываемый символ.
Size: Число выводимых символов.

Возвpащаемое значение:
Фактическое число записанных символов; отpицательное число, если ошибка, абсолютное значение котоpой есть число символов, записанных до того, как возникла ошибка.

Описание:
function WritePrivateProfileString(ApplicationName, KeyName, Str, Filename: PChar): Bool;

Ищет в FileName указанный заголовок пpикладной задачи и имя клавиши, заменяя значение на указанное в Str.

Паpаметpы:
ApplicationName: Имя заголовка пpикладной задачи.
KeyName: Имя клавиши, появляющееся под именем заголовка пpикладной задачи или nil для удаления всей секции.
Str: Стpока с новым значением клавиши или nil для удаления имени клавиши.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function WriteProfileString(ApplicationName, KeyName, Str: PChar): Bool;

Ищет в файле WIN.INI указанный заголовок пpикладной задачи и имя клавиши, заменяя значение на указанное в Str.

Паpаметpы:
ApplicationName: Имя пpикладной задачи.
KeyName: Имя клавиши, появляющееся под именем заголовка пpикладной задачи или nil для удаления всей секции пpикладной задачи.
Str: Значение нового имени клавиши или nil для удаления имени клавиши.

Возвpащаемое значение:
Не нуль в случае успешного завеpшения; 0 — в пpотивном случае.

Описание:
function wvsprinf(Output, Format, ArgList: PChar): Integer;

Фоpматиpует и записывает в буфеp последовательность символов.

Паpаметpы:
Output: Буфеp для пpиема отфоpматиpованных символов.
Format: Стpока упpавления фоpматом.
ArgList: Массив аpгументов для стpоки упpавления фоpматом.

Возвpащаемое значение:
В случае успешного завеpшения — число символов в Output, не считая 0; в пpотивном случае — меньше, чем длина Format.

Описание:
function Yield: Bool;

Останавливает текущую задачу и запускает ожидающую задачу.

Как работать с API без знаний программирования: применяем опыт топ-агентств по SEO

Почему не нужно бояться API

Как сервис с сотней тысяч клиентов мы каждый день сталкиваемся с проблемой — SEO-специалисты боятся работать с API либо не видят преимуществ. Только прогрессивные агентства по интернет-маркетингу и крупный бизнес выбирают работу с API. Основная причина этому — обработка полученных данных, так как они выгружаются в формате JSON и выглядят вот так:

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

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

Плюсы работы с API

  1. Ускоряет работу в 10 раз. Даже самый дешевый план открывает доступ к API со скоростью парсинга 1 запрос/секунда. Максимальная скорость — 10 запросов/секунда. Сможете ли вы столько ввести руками? Разумеется, нет. Поэтому большие агентства с постоянной работой по семантике пользуются API.
  2. Больше лимитов. Независимо от тарифного плана API-лимитов всегда больше, чем запросов в интерфейсе. Это значит, что за те же деньги, получаете больше данных. Плюс у вас остаются нетронутыми лимиты для интерфейса.
  3. Индивидуальные отчеты. Используя API, вы можете совместить несколько отчетов в один и сортировать полученные данные всего одной командой для автоматизации ваших задач.
  4. Экономит деньги. Используя API, вы платите только за полученные результаты, а не за использование лимитов вашего тарифного плана.

Как начать работу с API Serpstat

Первая версия инструмента предназначена для работы с 16 отчетами из базы данных Serpstat.

  1. Advertising report — выполняет поиск рекламных объявлений по ключевой фразе.
  2. Competitors report — возвращает конкурентов по заданной ключевой фразе.
  3. Domain history report — возвращает историю изменения видимости и количества фраз по домену.
  4. Domain info report — возвращает суммарную информацию по домену (количество запросов/видимость в поиске/контексте, динамику изменения количества запросов/видимость, тематики домена).
  5. Domain Keywords report — возвращает ключевые слова в ТОПе поисковой системы по домену.
  6. Domain Intersection report — возвращает общие ключевые слова для доменов.
  7. Domain unique keywords report — возвращает ключевые слова домена без учета ключевых слов второго (третьего) домена.
  8. Domain urls report — возвращает URL-ы домена и количество ключевых слов для URL-а.
  9. Keyword info report — возвращает данные по ключевому слову (количество запросов, стоимость за клик, уровень конкуренции, категории).
  10. Keywords report — выполняет полнотекстовый поиск по ключевому слову и предоставляет данные по найденным ключевым словам (количество запросов, стоимость за клик, уровень конкуренции).
  11. Keyword top report — возвращает последний ТОП по ключевой фразе.
  12. Related keywords report — возвращает похожие запросы.
  13. Suggestions report — выполняет полнотекстовый поиск по поисковым подсказкам.
  14. URL competitors report — возвращает URL конкурентов для заданного URL.
  15. URL keywords report — возвращает ключевые фразы в ТОПе поисковой системы по заданному URL.
  16. URL missing keywords report — возвращает ключевые фразы, по которым ранжируются конкуренты, но которые отсутствуют в заданном URL.

Пошаговая настройка скрипта

Чтобы подготовить инструмент к работе, следуйте инструкции.

    Откройте документ и создайте копию у себя на диске. Подождите появления кнопки Configure и кликните на нее. Затем «Установить ключ API».

Подтвердите разрешение для запуска документа и свяжите его с вашим Gmail-аккаунтом.

Вставьте ваш API-токен, который находится в профиле пользователя Serpstat.

Бесплатный доступ к API может получить каждый пользователь Serpstat.

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

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

Больше бесплатных скриптов для API Serpstat

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

Поиск форумов для линкбилдинга

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

Инструмент в разы экономит время линкбилдеров, которым больше не нужно собирать форумы руками с помощью операторов intitle, inurl и т.д.

Поиск тематических блогов

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

Сбор семантики и анализ URL конкурентов

Еще один бесплатный скрипт для быстрого сбора семантики. Массово анализирует URL-ы конкурентов и ключевые фразы.

Принцип работы автор скрипта подробно описал в этой статье.

Поиск дропов по WHOIS

Задача скрипта — достать домены из ниши и определить зарегистрирован ли домен, если да — то дату начала и окончания регистрации домена. Для этого используется бесплатная библиотека phpWhois.

Поиск нецелевых страниц для контекстной рекламы

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

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

Как еще используют API?

Компания ArtJocker использует API Serpstat для постановки KPI SEO-специалистам. Система работает следующий образом:

  1. Сначала собираем ключи конкурентов с минусами и получаем объем трафика.
  1. Далее вводим наше доменное имя.
  2. Список ключевых запросов, которые могут быть еще у клиента, т.е. то, что он может считать своими ключевыми запросами.
  3. Вбиваем в исключение наиболее популярные агрегаторы, марпокетплейсы.

API Serpstat мониторит конкурентов, их видимость, ключевые запросы и выдает предполагаемый рост трафика на 6 месяцев.

Эти показатели проверяются калькулятором KPI от ArtJocker на совместимость с общей картиной по сайту. Со слов руководителя отдела маркетинга, погрешность не более чем в 5–10%.

Напоследок

Работать с API легко и дешево. Используйте это преимущество для опережения конкурентов. А если вы новичок, пройдите бесплатный курс по началу работы с API в онлайн-академии Serpstat.

Руководство по построению HTTP API

Введение

Данное руководство содержит рекомендации по проектированию HTTP API, которые были почерпнуты из работы API облачной платформы Heroku, кроме того, оно также содержит информацию о новом функционале и внутреннем API в Heroku.

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

При прочтении данной статьи подразумевается, что вы знакомы с основными принципами HTTP и JSON.

Основы

Принцип разделения ответственности

При проектировании старайтесь сохранять простоту системы, разделяя ответственность между различными частями цикла «запрос-ответ». При этом простота принимаемых решений позволит концентироваться на решении все более сложных задач. Запросы и ответы выполняются для получения доступа к определенному ресурсу или набору ресурсов. Для определения сущности, которую необходимо получить, используйте путь и тело ответа для передачи содержимого, а заголовки – для передачи метаданных. Можно передавать все параметры в теле запроса, но, как показывает практика, такое решение является менее гибким. Более правильным подходом будет передача части параметров в заголовках.

Требуйте использования защищенных соединений

Для получения данных при помощи API используйте только защищенные соединения с TLS.
Лучше решением было бы отклонять все запросы, не использующие TLS, а именно запросы по http или на 80-ый порт, во избежание небезопасного обмена данными. В случаях, когда это невозможно, отдавайте ответ 403 Forbidden .

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

Требуйте наличие версии в заголовке Accept

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

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

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

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

Включайте заголовок ETags во все запросы, определяя при этом версию возвращаемого ресурса. Это позволит пользователям кэшировать ресурсы и реализовывать условные запросы при помощи использования заголовка If-None-Match , который поможет определить, нужно обновлять кэш или нет.

Используйте Request-ID для интроспекции

Включайте заголовок Request-Id , содержащий в себе UUID значение, в каждый ответ сервера. Регистрируя эти значения на клиенте, сервере или другом сервисе, вы получаете возможность отлаживать и диагностировать проблемы, связанные с запросами.

Разделяйте большие ответы сервера на несколько небольших при помощи заголовка Range

Большие ответы необходимо разбивать на более мелкие, используя заголовок Range . Для получения более детальной информации о заголовках запросов/ответов, кодах состояний и ограничениях изучите Обсуждение использования заголовка Range в API платформы Heroku .

Запросы

Возвращайте соответствующие коды состояний

Возвращайте соотвествующий код состояния HTTP в каждом ответе. Успешные ответы должны содержать такие коды состояний:

  • 200 – GET запрос завершился успешно, синхронный DELETE или PATCH запрос завершился успешно или синхронный PUT запрос обновил существующий ресурс.
  • 201 – Синхронный POST запрос завершился, синхронный PUT запрос создал новый ресурс.
  • 202 – Принят POST , PUT , DELETE или PATCH запрос, который будет обработан асинхронно.
  • 206 – GET запрос завершился успешно, но будет возвращен частичный ответ (см. раздел про заголовок Range ).

Обратите внимание на использование кодов состояния ошибок авторизации и аутентификации:

  • 401 Unauthorized – запрос завершился с ошибкой, поскольку пользователь не прошел аутентификацию.
  • 403 Forbidden – запрос завершился с ошибкой, так как пользователь не авторизовался для получения доступа к определенному ресурсу.

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

  • 422 Unprocessable Entity – Ваш запрос был распознан, но содержит неверные параметры.
  • 429 Too Many Requests – Превышен лимит запросов, попробуйте позже.
  • 500 Internal Server Error – Проблема на стороне сервера, проверьте состояние сайта и/или сообщите о проблеме.

Для получения более подробной информации о кодах состояния HTTP изучите спецификацию.

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

Возвращайте пользователям вашего API полное представление ресурса (то есть объект со всеми атрибутами) во всех ответах, где это возможно. Всегда предоставляйте полную версию ресурса в ответах на запросы с кодами состояния 200 и 201 , включая PUT , PATCH и DELETE запросы.

Ответы на запросы с кодом состояния 202 не должны содержать все поля объекта

Ваш API должен принимать сериализованный JSON в теле запроса

Ваш API должен предусматривать возможность передачи сереализованного JSON в теле PUT / PATCH / POST запросов вместо, либо в дополнение к передаваемым данным формы. Таким образом создается симметрия в JSON-ответах:

Будьте последовательны при конструировании пути к ресурсу

Названия ресурсов

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

Действия

Старайтесь проектировать такие конечные url, которые не требуют дополнительных действий для отдельных ресурсов. В случаях, когда это необходимо, добавляйте в общий путь компонент «action» для того, чтобы четко определить эти действия:

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

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

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

Ваш API должен поддерживать доступ к ресурсу не только по его id

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

Сведите к минимуму количество вложений в пути для доступа к ресурсу

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

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

Ответы

Предоставляйте UUID запрашиваемых ресурсов

У каждого ресурса по умолчанию должен быть атрибут id . В качестве значений идентификатора ресурса старайтесь всегда использовать UUID. Не используйте идентификаторы, которые не будут уникальными в масштабе вашего сервиса, особенно автоинкрементные идентификаторы.
UUID ресурса выводите в формате 8-4-4-4-12:

Предоставляйте информацию о дате создания и изменения ресурса

По умолчанию ресурс должен хранить информацию о дате его создания created_at и обновления updated_at .

Временные величины должны быть форматированы согласно ISO8601

Принимайте и возвращайте временные данные только в UTC, а выводите в формате ISO8601:

Отношения с внешними сущностями должны быть вынесены во вложенный объект

Внешние отношения должны быть сериализованы как вложенный объект:

А не как поле объекта:

Такой подход позволяет добавить больше информации о связанном объекте без необходимости менять структуру ответа:

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

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

Показывайте ограничение по количеству запросов

Ограничение по количеству запросов вводится для поддержания работоспособности системы и возможности качественного обслуживания других клиентов. Для расчета ограничений на количество запросов можно использовать алгоритм текущего ведра. Возвращайте оставшееся количество запросов для каждого запроса в заголовке ответа RateLimit-Remaining .

JSON во всех ответах должен быть минимизирован

Лишний пробел увеличивает размер ответа и многие Javascript клиенты для удобочитаемости автоматически отформатируют JSON. Поэтому лучше минимизировать JSON ответы:

Вы можете опционально добавить возможность получать более развернутый ответ, указывая дополнительный параметр (например, ?pretty=true ) или задавая значения для заголовка Accept ( Accept: application/vnd.heroku+json; version=3; indent=4; ).

Артефакты

Предоставляйте удобную для обработки JSON-схему

Для точного описания вашего API предоставляйте JSON-схему. Для управления схемой используйте prmd, также удостоверьтесь в том, что она проходит валидацию при помощи команды prmd verify .

Предоставляйте удобочитаемую документацию

Для того, чтобы разработчики разбирались в принципах работы вашего API, предоставьте им удобную документацию. Если вы создали JSON-схему, используя prmd , как описано выше, вы можете легко сгенерировать Markdown документацию для всех конечных url, используя команду prmd doc .

Вдобавок к описанию конечных url, предоставьте обзор API, включая туда следующую информацию:

  • процесс аутентификации – получение и использование пользовательского токена;
  • стабильность API и его версию, а также информацию о том, как выбрать нужную версию API;
  • общие заголовки запросов и ответов;
  • формат выдачи ошибки;
  • примеры использования API с клиентами на разных языках;

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

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

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

Опишите стабильность вашего API

Вы можете описать степень стабильности вашего API или отдельных конечных url при помощи установки флагов prototype / development / production .

Для получения дополнительной информации, вы можете изучить документ Политика совместимости Heroku API.

Как только вы объявили ваш API готовым к релизу и стабильным, не стоит совершать модификаций, которые нарушают обратную совместимость внутри этой версии. Для внесения таких изменений создайте новою ветвь API с новым индексом версии.

Илон Маск рекомендует:  Что такое код imagealphablending
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL