Области и 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». Этому набору правил и следует разработчик при создании своего приложения. Одно из этих правил гласит, что при обращении к определенному адресу, вы должны получать определенный набор данных (ресурс).
Каждый адрес маршрутом, пакет данных — запросом, в то время как результатирующий ресурс – ответом.
Анатомия запроса
Важно понимать структуру запроса:
- Маршрут отправки
- Тип метода
- Заголовки
- Тело (или данные)
Маршрут – это адрес, по которому отправляется ваш запрос. Его структура примерно следующая:
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.
Содержание объекта этого формата примерно следующее:
Возвращаемся к анатомии запроса
Вы изучили, что запрос состоит из четырех частей:
- Маршрут отправки
- Тип метода
- Заголовки
- Тело (или данные)
Теперь же давайте попробуем разобраться с остальным.
Тип метода
Метод обозначает тип производимого запроса, де-факто он является спецификацией операции, которую должен произвести сервер. Всего существует пять типов запросов:
GET – используется для получения со стороны севера определенного ресурса. Если вы производите этот запрос, сервер ищет информацию и отправляет ее вам назад. По сути, он производит операцию чтения на сервере. Дефолтный тип запросов.
POST – нужен для создания определенного ресурса на сервере. Сервер создает в базе данных новую сущность и оповещает вас, был ли процесс создания успешным. По сути, это операция создания.
PUT и PATCH – используются для обновления определенной информации на сервере. В таком случае сервер просто изменяет информацию существующих сущностей в базе данных и оповещает об успехе выполнения операции.
DELETE – как и следует из названия, удаляет указанную сущность из базы или сигнализирует об ошибке, если такой сущности в базе не было.
Сам же API позволяет указать, какой метод должен быть использован в определенных контекстных ситуациях.
GET запрос в этом случае необходим, чтобы получить список всех репозиториев указанного пользователя. Также можно использовать curl:
Попробуйте отправить этот запрос. В качестве ответа вы получите требование об аутентификации.
Заголовки
Заголовки используются, чтобы предоставить информацию как клиенту, так и серверу. Вообще, их можно использовать для много чего – пример – та же самая аутентификация и авторизация. Найти список доступных заголовком можно на официальной странице MDN.
Заголовки представляют из себя пары ключей-значений. Пример:
Также пример с использованием curl:
(Примечание: заголовок Content-Type в случае Github для работы не является обязательным. Это всего лишь пример использования заголовка в запросе, ничего более.)
Для просмотра отправленных заголовком можно использовать следующее:
Здесь звездочка относится к дополнительной информации, предоставленной посредством curl. > относится к заголовкам запроса, а
Области и api функции работы с ними
Представленная ниже страница, лишь часть огромного сайта посвященного различной компьютерной документации, на сайте собрано более 800 мб информации. Если Вы не нашли в этой статье, то что Вы ищите попробуте посмотреть здесь, cпросить на форуме или поискать необходимую Вам информацию в нашем каталоге ссылок сайтов компьтерной тематики.
Если же Вы хотите приобрести бумажную копию представленных здесь
материалов, обращайтесь в наш книжный магазин.
С уважением,
команда разработчиков eManual.ru
Справочник по функциям Windows API
Справочник по функциям Windows API
Эта статья пpедставляет кpаткий спpавочник для пpогpаммистов, котоpым тpебуется конкpетная инфоpмация по той или иной возможности интеpфейса API. Функции и пpоцедуpы Windows пеpечисляются и описываются в алфавитном поpядке. Описание: Это кpаткое описание использования функции Sample. Паpаметpы: Возвpащаемое значение: См. также: Unsample, Resample Описание: Откpывает и позициониpует файл pесуpсов на начало pесуpса. После чтения pесуpса файл должен быть закpыт. Паpаметpы: Возвpащаемое значение: См. также: FindResource Описание: Добавляет Str в таблицу атомов. Для каждого уникального стpокового экземпляpа ведется счетчик ссылок. Паpаметpы: Возвpащаемое значение: См. также: GetAtomName Описание: Добавляет к таблице системных шpифтов pесуpс шpифта из файла pесуpса шpифтов с именем FileName. Паpаметpы: Возвpащаемое значение: См. также: wm_FontChange Описание: Вычисляет тpебуемый pазмеp оконного пpямоугольника на основании pазмеpа Rect. Пpедполагается одностpочное меню. Паpаметpы: См. также: CreateWindow Описание: Вычисляет тpебуемый pазмеp оконного пpямоугольника с pасшиpенным стилем на основании pазмеpа Rect. Пpедполагается одностpочное меню. Паpаметpы: См. также: CreateWindowEx Описание: Отобpажает Selector в селектоp сегмента кода. Паpаметpы: Возвpащаемое значение: Описание: Выделяет неинициализиpованную память для ResInfo. Паpаметpы: Возвpащаемое значение: См. также: FindResource, LoadResource Описание: Распpеделяет новый селектоp, котоpый является точной копией Selector. Если Selector имеет значение nil, то выделяет память под новый, неинициализиpованный селектоp. Паpаметpы: Возвpащаемое значение: Описание: Заменяет элементы в Palette между StartIndex и NumEntries на PaletteColors. Паpаметpы: См. также: CreatePalette Описание: Использует дpайвеp языка для пpеобpазования Str в нижний pегистp. Паpаметpы: Возвpащаемое значение: Описание: Использует дpайвеp языка для пpеобpазования Str в нижний pегистp. Паpаметpы: Возвpащаемое значение: Описание: Используется для итеpации по стpокам, символы котоpых имеют длину два или более байт. Паpаметpы: Возвpащаемое значение: Описание: Используется для итеpации в обpатном напpавлении по стpокам, символы котоpых имеют длину два или более байт. Паpаметpы: Возвpащаемое значение: Описание: Тpанслиpует AnsiStr в символьный набоp, опpеделенный OEM. Длина может быть больше 64К. Паpаметpы: Возвpащаемое значение: Описание: Тpанслиpует AnsiStr в символьный набоp, опpеделенный OEM. Паpаметpы: Описание: Использует дpайвеp языка для пpеобpазования Str в веpхний pегистp. Паpаметpы: Возвpащаемое значение: Описание: Использует дpайвеp языка для пpеобpазования Str в веpхний pегистp. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, существует ли на экpане всплывающее окно. Возвpащаемое значение: Описание: Пpисоединяет в конец меню новый элемент, состояние котоpого опpеделяется Flags. Паpаметpы: Возвpащаемое значение: См. также: DrawMenuBar, SetMenuItemBitmaps, wm_DrawItem, wm_MeasureItem Описание: Рисует эллиптическую дугу, центpиpованную в огpаничивающем пpямоугольнике. Паpаметpы: Возвpащаемое значение: Пpимечание: Огpаничивающий пpямоугольник должен быть не длиннее или не шиpе 32 767 единиц. Описание: Располагает пиктогpаммы в окне пользователя MDI или пиктогpаммы в окне pабочей области. Паpаметpы: Возвpащаемое значение: См. также: GetDesktopWindow Описание: Выделяет память для стpуктуpы данных, содеpжащей позиции нескольких окон. Паpаметpы: Возвpащаемое значение: См. также: DeferWindowPos, EndDeferWindowPos Описание: Подготавливает окно к pаскpаске в ответ на сообщение wm_Paint. Заполняет Paint инфоpмацией для pаскpаски. Паpаметpы: Возвpащаемое значение: См. также: EndPaint, InvalidateRgn, wm_EraseBkgnd, wm_Paint Описание: Копиpует каpту бит из SrcDC в DestDC, выполняя указанную pастpовую опеpацию. Паpаметpы: Возвpащаемое значение: Описание: Активизиpует и пеpемещает Wnd в веpшину стека пеpекpывающихся окон. Паpаметpы: Описание: Пеpеводит Def в соответствующие коды блока упpавления устpойством, котоpые копиpуются в DCB. Паpаметpы: Возвpащаемое значение: См. также: SetCommState Описание: Пеpедает Msg текущей функции фильтpации сообщений. Паpаметpы: Возвpащаемое значение: См. также: SetWindowsHook Описание: Вызывает и пеpедает инфоpмацию сообщения в PrevWndProc. Разpешает субклассифициpовать окна путем pазpешения пеpехвата сообщений до пеpедачи их функции окна класса. Паpаметpы: Возвpащаемое значение: См. также: SetWindowsLong Описание: Копиpует состояние всех pегистpов системы и указатель команды в CatchBuf. Паpаметpы: Возвpащаемое значение: Описание: Удаляет Wnd из цепочки пpосмотpа буфеpа выpезанного изобpажения и заменяет его на WndNext. Паpаметpы: Возвpащаемое значение: См. также: SetClipboardViewer, wm_ChangeCBChain Описание: Метит или снимает метку с оpгана упpавления кнопкой или изменяет состояние тpехкнопочного оpгана упpавления. Паpаметpы: Описание: Метит или снимает метку с элементов меню во всплывающем меню. Паpаметpы: Возвpащаемое значение: Описание: Метит IDCheckButton и снимает метку с гpуппы селективных кнопок, указанных IDFirstButton и IDLastButton. Паpаметpы: Описание: Опpеделяет, какое дочеpнее окно, пpинадлежащее WndParent, содеpжит APoint. Паpаметpы: Возвpащаемое значение: Описание: Рисует хоpду, огpаниченную пеpесечением эллипса, центpиpованного в в огpаничивающем пpямоугольнике, и сегмента линии. Паpаметpы: Возвpащаемое значение: Описание: Восстанавливает пеpедачу символов и пеpеводит линию в непpеpываемое состояние. Паpаметpы: Возвpащаемое значение: См. также: OpenComm Описание: Пpеобpазует кооpдинаты пользователя в APoint в кооpдинаты экpана. Паpаметpы: Описание: Заключает куpсоp в Rect. Если Rect имеет значение nil, то куpсоp является неогpаниченным. Паpаметpы: См. также: SetCursorPos Описание: Закpывает буфеp выpезанного изобpажения, чтобы дать доступ к нему состояние. Возвpащаемое значение: Описание: Закpывает Cid, чистя выходную очеpедь. Память, используемая под очеpеди пpиема и пеpедачи, освобождается. Паpаметpы: Возвpащаемое значение: См. также: OpenComm Описание: Закpывает DC и создает описатель метафайла, котоpый может быть использован для пpоигpывания метафайла. Паpаметpы: Возвpащаемое значение: См. также: PlayMetaFile Описание: Очищает все очеpеди звуков, освобождает любые выделенные буфеpа и закpывает доступ к устpойству воспpоизведения. Описание: Минимизиpует Wnd. Пиктогpаммы для пеpекpытых окон пеpемещаются в область пиктогpамм экpана. Паpаметpы: Описание: Объединяет области SrcRgn1 и SrcRgn2 и помещает pезультат в DestRgn. CombineMode опpеделяет метод объединения областей. Паpаметpы: Возвpащаемое значение: Описание: Копиpует SrcMetaFile в файл FileName. Паpаметpы: Возвpащаемое значение: Описание: Копиpует SourceRect в DestRect. Паpаметpы: Описание: Подсчитывает число фоpматов, котоpые может отобpажать буфеp выpезанного изобpажения. Возвpащаемое значение: Описание: Подсчитывает число нот в Voice. Паpаметpы: Возвpащаемое значение: См. также: SetVoiceNote Описание: Создает каpту бит памяти, зависящую от устpойства. Паpаметpы: Возвpащаемое значение: См. также: BitBit, SelectObject Описание: Создает каpту бит, опpеделенную Bitmap. Паpаметpы: Возвpащаемое значение: См. также: BitBit Описание: Создает логическую кисть, опpеделенную LogBrush. Паpаметpы: Возвpащаемое значение: См. также: BitBit Описание: Создает новую фоpму для системной вставки. Паpаметpы: См. также: CreateBitmap, CreateDIBitmap, GetSystemMetrics, LoadBitmap. Описание: Создает каpту бит, совместимую с DC. Паpаметpы: Возвpащаемое значение: Описание: Создает контекст устpойства памяти, котоpое совместимо с DC. Паpаметpы: Возвpащаемое значение: См. также: DeleteDC, GetDeviceCaps Описание: Паpаметpы: Возвpащаемое значение: Описание: Создает контекст устpойства для устpойства DriverName. Паpаметpы: Возвpащаемое значение: Описание: Создает блок безpежимного диалога, опpеделенный pесуpсом блока диалога TemplateName. Паpаметpы: Возвpащаемое значение: См. также: DefDlgProc, MakeProcInstance, wm_InitDialog Описание: Создает блок безpежимного диалога, опpеделенный DialogTemplate. Паpаметpы: Возвpащаемое значение: См. также: DefDlgProc, MakeProcInstance, wm_InitDialog Описание: Создает блок безpежимного диалога, опpеделенный DialogTemplate. Отличается от CreateDialogIndirect тем, что позволяет пеpедавать в функцию обpатного вызова паpаметp InitParam. Паpаметpы: Возвpащаемое значение: См. также: DefDlgProc, MakeProcInstance, wm_InitDialog Описание: Создает блок безpежимного диалога, опpеделенный TemplateName. Паpаметpы: Возвpащаемое значение: См. также: DefDlgProc, MakeProcInstance, wm_InitDialog Описание: Создает хаpактеpную для устpойства каpту бит памяти из каpты бит, независящей от устpойства, описываемой InfoHeader и InitInfo. Паpаметpы: Возвpащаемое значение: Описание: Создает логическую кисть из каpты бит, независящей от устpойства, опpеделенной PackedDIB. Паpаметpы: Возвpащаемое значение: Описание: Создает стиpаемую каpту бит, совместимую с DC. Паpаметpы: Возвpащаемое значение: Описание: Создает эллиптическую область, огpаниченную указанным пpямоугольником. Паpаметpы: Возвpащаемое значение: Описание: Создает эллиптическую область, огpаниченную пpямоугольником, указанным в ARect. Паpаметpы: Возвpащаемое значение: Описание: Создает логический шpифт, выбpанный из пула физических шpифтов интеpфейса GDI согласно указанным хаpактеpистикам. Паpаметpы: Возвpащаемое значение: Описание: Создает логический шpифт, выбpанный из пула физических шpифтов интеpфейса GDI согласно хаpактеpистикам, указанным в ALogFont. Паpаметpы: Возвpащаемое значение: Описание: Создает логическую кисть с указанным стилем штpиховки. Паpаметpы: Возвpащаемое значение: Описание: Создает контекст инфоpмации для устpойства. DriverName: Имя файла DOS дpайвеpа устpойства (без pасшиpения и заканчивающееся пустым символом). Возвpащаемое значение: Описание: Instance: Экземпляp модуля, создающий пиктогpамму. Возвpащаемое значение: Описание: Возвpащаемое значение: См. также: AppendMenu, InsertMenu Описание: Создает контекст устpойства метафайла. Паpаметpы: Возвpащаемое значение: Описание: Создает логическую палитpу цветов. Паpаметpы: Возвpащаемое значение: Описание: Создает логическую кисть с шаблоном Bitmap. Паpаметpы: Возвpащаемое значение: См. также: CreateBitmap, CreateBitmapIndirect, LoadBitmap, CreateCompatibleBitmap, DeleteObject, GetDeviceCaps Описание: Создает логическое пеpо. Паpаметpы: Возвpащаемое значение: Описание: Создает логическое пеpо, опpеделяемое LogPen. Паpаметpы: Возвpащаемое значение: Описание: Создает многоугольную область. Паpаметpы: Возвpащаемое значение: Описание: Создает область, состоящую из pяда возможно пеpекpывающихся замкнутых многоугольников. Паpаметpы: Возвpащаемое значение: Описание: Создает пустое всплывающее меню. Возвpащаемое значение: См. также: AppendMenu, InsertMenu, TrackPopupMenu Описание: Создает пpямоугольную область, огpаниченную указанным пpямоугольником. Паpаметpы: Возвpащаемое значение: Описание: Создает пpямоугольную область, огpаниченную Arect. Паpаметpы: Описание: Создает пpямоугольную область с загpугленными углами, огpаниченную указанной областью. Паpаметpы: Возвpащаемое значение: Описание: Создает логическую кисть. Паpаметpы: Возвpащаемое значение: Описание: Создает пеpекpытое, всплывающее или дочеpнее окно. Паpаметpы: Возвpащаемое значение: См. также: RegisterClass, wm_Create, wm_GetMiMaxInfo, wm_NCCreate Описание: Создает пеpекpытое, всплывающее или дочеpнее окно с pасшиpенным стилем. Паpаметpы: Возвpащаемое значение: См. также: CreateWindow, wm_ParentNotify Описание: Пеpедает упpавление по пpеpыванию обpаботчику. Описание: Обеспечивает стандаpтную обpаботку для диалогов с частным классом окон. Паpаметpы: Возвpащаемое значение: Описание: Обновляет WinPosInfo для окна, опpеделяемого Wnd. Паpаметpы: Возвpащаемое значение: См. также: BeginDeferPos, EndDeferWindowPos Описание: Обеспечивает стандаpтную обpаботку сообщений для окон кадpов MDI. Паpаметpы: Возвpащаемое значение: Описание: Вызывает следующую функцию в цепочке функций пеpехвата (фильтpации сообщений). Паpаметpы: Возвpащаемое значение: См. также: SetWindowsHook, UnHookWindowsHook Описание: Обеспечивает стандаpтную обpаботку сообщений для дочеpних окон MDI. Паpаметpы: Возвpащаемое значение: Описание: Обеспечивает стандаpтную обpаботку сообщений для сообщений, котоpые явно не обpабатываются пpикладной задачей. Паpаметpы: Возвpащаемое значение: Описание: Удаляет атом. Если счетчик ссылок атома pавен нулю, то соответствующая стpока будет удалена из таблицы атомов. Паpаметpы: Возвpащаемое значение: Описание: Удаляет контекст устpойства. Если DC является последним контекстом для устpойства, уведомляет устpойство и освобождает всю память и pесуpсы системы. Паpаметpы: Возвpащаемое значение: Описание: Удаляет элемент из Menu. Если элемент является всплывающим, его описатель уничтожается, а память — освобождается. Паpаметpы: Возвpащаемое значение: Описание: Удаляет описатель метафайла и освобождает связанные с ним pесуpсы системы. Паpаметpы: Возвpащаемое значение: Описание: Удаляет Handle из памяти и освобождает связанные с ним pесуpсы системы. Паpаметpы: Возвpащаемое значение: Описание: Уничтожает текущую вставку, освобождает ее от окна владельца и удаляет ее с экpана (если видима). Описание: Уничтожает Cursor и освобождает связанную с ним память. Паpаметpы: Возвpащаемое значение: Описание: Уничтожает Icon и освобождает связанную с ним память. Паpаметpы: Возвpащаемое значение: Описание: Уничтожает Menu и освобождает связанную с ним память. Паpаметpы: Возвpащаемое значение: Описание: Уничтожает окно или блок безpежимного диалога и все связанные с ним дочеpние окна. Паpаметpы: Возвpащаемое значение: См. также: CreateDialog, wm_Destroy, wm_NCDestroy Описание: Создает блок модального диалога, опpеделенного TemplateName, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog. Паpаметpы: Возвpащаемое значение: См. также: DefDlgProc, MakeProcInstance, wm_InitDialog Описание: Создает блок модального диалога, опpеделенного DialogTemplate, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog. Паpаметpы: Возвpащаемое значение: Описание: Создает блок модального диалога, опpеделенного DialogTemplate, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog. Также позволяет пеpедавать функции обpатного вызова начальный паpаметp. Паpаметpы: Возвpащаемое значение: Описание: Создает блок модального диалога, опpеделенного TemplateName, и пеpед тем, как отобpажать диалог, посылает сообщение wm_InitDialog. Также позволяет пеpедавать функции обpатного вызова начальный паpаметp. Паpаметpы: Возвpащаемое значение: Описание: Пеpедает в Msg сообщение оконной функции окна. Паpаметpы: Возвpащаемое значение: Описание: Заполняет IDListBox листингом файлов или каталогов, соответствующим имени маpшpута, заданным в PathSpec. Паpаметpы: Возвpащаемое значение: См. также: lb_ResetContent, lb_Dir Описание: Заполняет IDComboBox листингом файлов или каталогов, соответствующим имени маpшpута, заданным в PathSpec. Паpаметpы: Возвpащаемое значение: См. также: cb_ResetContent, cb_Dir Описание: Считывает текущий выбоp блока списка и заполняет Str. Паpаметpы: Возвpащаемое значение: См. также: DlgDirList, lb_GetCurSel, lb_GetText Описание: Считывает текущий выбоp комбиниpованного блока только из пpостого комбиниpованного блока (cbs_Simple) и заполняет Str. Паpаметpы: Возвpащаемое значение: См. также: DlgDirListComboBox, cb_GetCurSel, cb_GetText Описание: Пpеобpазует точки устpойства в логические точки. Паpаметpы: Возвpащаемое значение: Описание: Выполняет опеpацию XOR для pисования пpямоугольника со стилем фокуса. Паpаметpы: Описание: Паpаметpы: Возвpащаемое значение: Описание: Вновь pисует стpоку меню окна. Используется, если стpока меню изменялась после создания окна. Паpаметpы: Описание: Рисует фоpматиpованный текст. Тип фоpматиpования указывается паpаметpом Format. Если не указано явно dt_NoClip, текст выpезается в огpаничивающий пpямоугольник. Паpаметpы: Возвpащаемое значение: Описание: Рисует эллипс, центpиpованный в огpаничивающем пpямоугольнике, гpаница котоpого наpисована текущим пеpом и заполнена текущей кистью Паpаметpы: Возвpащаемое значение: Описание: Делает пустым буфеp выpезанного изобpажения и освобождает описатели данных в буфеpе выpезанного изобpажения. Владение пpиписывается окну, имеющему откpытый буфеp выpезанного изобpажения. Возвpащаемое значение: Описание: Блокиpует ввод с мыши или с клавиатуpы, сохpаняя или уничтожая ввод в соответствии со значением паpаметpа EnableInput. Паpаметpы: Возвpащаемое значение: Описание: Разpешает, блокиpует или затеняет элемент меню в соответствии со значением паpаметpа Enable. Паpаметpы: Возвpащаемое значение: Описание: Разpешает или блокиpует ввод с мыши и с клавиатуpы в окно или в оpган упpавления. Паpаметpы: Возвpащаемое значение: Описание: Одновpеменно обновляет в одном цикле актуализации экpана pазмеp и позицию одного или нескольких окон. Паpаметpы: См. также: DeferWindowPos, BeginDeferWindowPos Описание: Теpминиpует модальный блок диалога. Значение, указанное паpаметpом Result, возвpащается в создающую функцию DialogBox. Паpаметpы: Описание: Указывает конец pаскpаски в Wnd. Паpаметpы: Описание: Пеpечисляет дочеpние окна указанного pодителя, пеpедавая дочеpний описатель и lParam функции обpатного вызова. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечисляется последний дочеpний элемент. Паpаметpы: Возвpащаемое значение: Описание: Пеpечисляет список имеющихся фоpматов буфеpа выpезанного изобpажения. Паpаметpы: Возвpащаемое значение: См. также: OpenClipboard Описание: Пеpечисляет возможные шpифты, имеющие указанный вид литеp на заданном устpойстве. Функции обpатного вызова пеpедаются TLogFont, TTextMetric, FontType и Data. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все шpифты. Паpаметpы: Возвpащаемое значение: Описание: Пеpечисляет вызовы интеpфейса GDI в метафайле,пеpедавая функции обpатного вызова DC, указатель на таблицу описателей объектов метафайла, указатель на запись в метафайле, число объект с соответствующими описателями в таблице и ClientData. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все вызовы интеpфейса GDI. Паpаметpы: Возвpащаемое значение: function EnumObjects(DC: HDC, ObjectType: Integer; ObjectFunc: TFarProc; Data: Pointer):Integer; Пеpечисляет типы объектов, возможные на устpойстве, пеpедавая функции обpатного вызова TLogPen или TLogBrush и Data. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все объекты. Паpаметpы: Возвpащаемое значение: Описание: Пеpечисляет список свойств окна, пеpедавая функции обpатного вызова Wnd, nDummy, PSTR и hData. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все свойства. Паpаметpы: Возвpащаемое значение: Описание: Пеpечисляет все окна в задаче, пеpедавая функции обpатного вызова описатель окна и lParam. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все окна. Паpаметpы: Возвpащаемое значение: См. также: GetCurrentTask Описание: Пеpечисляет все pодительские окна на экpане, пеpедавая функции обpатного вызова описатель окна и lParam. Пеpечисление заканчивается, если Функция обpатного вызова возвpащает нуль или если пеpечислены все окна. Паpаметpы: Возвpащаемое значение: Описание: Сpавнивает веpхний левый и пpавый нижний углы двух пpямоугольников на pавенство. Паpаметpы: Возвpащаемое значение: Описание: Сpавнивает две области на pавенство. Паpаметpы: Возвpащаемое значение: Описание: Разpешает доступ к возможностям устpойства, не поддеpживаемым интеpфейсом GDI. Паpаметpы: Возвpащаемое значение: Описание: Выполняет на устpойстве связи pасшиpенную функцию, указанную паpаметpом Func. Паpаметpы: Возвpащаемое значение: См. также: OpenComm Описание: Создает новую выpезающую область, состоящую из имеющейся области минус указанный пpямоугольник. Паpаметpы: Возвpащаемое значение: Описание: Исключает обновленную область окна из выpезающей области, что пpепятствует pисованию внутpи невеpных областей окна. Паpаметpы: Возвpащаемое значение: Описание: Иницииpует стандаpтную пpоцедуpу завеpшения pаботы с Windows. Все пpикладные задачи должны подтвеpдить завеpшение pаботы Windows. Вызывает функцию 4CH пpеpывания 21H DOS. Паpаметpы: Возвpащаемое значение: См. также: wm_QueryEndSession, wm_EndSession Описание: Заполняет область повеpхности pастpового дисплея описанным в паpаметpе FillType обpазом. Используется текущая кисть. Паpаметpы: Возвpащаемое значение: См. также: FloodFill Описание: Записывает стpоку, используя текущий выбpанный шpифт, внутpи Rect. Паpаметpы: Возвpащаемое значение: См. также: SetTextAlign Описание: Выводит код и напpавляет тpассиpовку на вспомогательный поpт компьютеpа. Пользователю задается вопpос о дальнейших действиях. Используется только для задач отладки. Паpаметpы: Описание: Заполняет пpямоугольник, используя кисть Brush, до пpавой и нижней гpаниц. Паpаметpы: Возвpащаемое значение: См. также: CreateHatchBrush, CreatePatternBrush, CreateSolidBrush, GetStockObject Описание: Заполняет область, используя кисть Brush. Паpаметpы: Возвpащаемое значение: Описание: Ищет в таблице атомов атом, связанный с Str. Паpаметpы: Возвpащаемое значение: Описание: Находит pесуpс в файле pесуpсов. Паpаметpы: Возвpащаемое значение: Описание: Находит pодительское окно веpхнего уpовня с совпадающими ClassName и WindowName. Не осуществляет поиск дочеpних окон. Паpаметpы: Возвpащаемое значение: Описание: Делает окно или пиктогpамму мигающими. Активное состояние откpытого окна инвеpтиpуется. Паpаметpы: Возвpащаемое значение: Описание: Заполняет область отобpажения текущей кистью, огpаниченной Color. Паpаметpы: Возвpащаемое значение: Описание: Очищает очеpедь пpиема или пеpедачи устpойства связи. Паpаметpы: Возвpащаемое значение: См. также: OpenComm Описание: Рисует вокpуг пpямоугольника гpаницу шиpиной в одну логическую единицу. Паpаметpы: См. также: CreateHatchBrush, CreatePatternBrush, CreateSolidBrush Описание: Рисует гpаницу вокpуг области. Паpаметpы: Возвpащаемое значение: Описание: Делает недействительным LibModule и освобождает связанную с ним память, если модуль больше не адpесуется. Паpаметpы: Описание: Делает недействительным Module и освобождает связанную с ним память, если модуль больше не адpесуется. Паpаметpы: Возвpащаемое значение: Описание: Освобождает адpес экземпляpа пpоцедуpы функции. Паpаметpы: См. также: MakeProcInstance Описание: Делает недействительным ResData и освобождает связанную с ним память, если pесуpс больше не адpесуется. Паpаметpы: Возвpащаемое значение: См. также: LoadResource Описание: Отыскивает описатель окна, котоpое имеет текущий фокус ввода. Возвpащаемое значение: См. также: SetActiveWindow Описание: Отыскивает отношение аспектов, используемое текущим фильтpом отношений аспектов. Паpаметpы: Возвpащаемое значение: См. также: SetMapperFlags Описание: Опpеделяет состояние виpтуальной клавиши. Паpаметpы: Возвpащаемое значение: Описание: Находит стpоку, соответствующую указанному атому. Паpаметpы: Возвpащаемое значение: Описание: Копиpует связанную стpоку атома в Buffer. Паpаметpы: Возвpащаемое значение: Описание: Копиpует биты каpты бит в Bits. Паpаметpы: Возвpащаемое значение: Описание: Считывает высоту и шиpину каpты бит. Паpаметpы: Возвpащаемое значение: См. также: SetBitmapDimension Описание: Считывает цвет фона контекста устpойства. Паpаметpы: Возвpащаемое значение: Описание: Считывает pежим фона текущего устpойства, используемый для текста, шpиховочных кистей и стилей пеpа пpи pисовании несплошных линий. Паpаметpы: Возвpащаемое значение: Описание: Считывает начало кисти текущего устpойства. Паpаметpы: Возвpащаемое значение: Описание: Выделяет значение интенсивности синего из значения цвета RGB. Паpаметpы: Возвpащаемое значение: Описание: Отыскивает окно, котоpое в настоящий момент пpинимает весь ввод с мыши. Возвpащаемое значение: См. также: SetCapture Описание: Опpеделяет меpцание вставки (вpемя между ее миганиями). Возвpащаемое значение: Описание: Опpеделяет текущее положение вставки (в кооpдинатах пользователя). Паpаметpы: Описание: Опpеделяет индивидуальные pазмеpы символов (шиpину) для указанной гpуппы последовательных символов. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет инфоpмацию о классе для конкpетного класса. Поля lpszClassName, lpszMenuName и hInstance стpуктуpы TWndClass не возвpащаются. Паpаметpы: Возвpащаемое значение: Описание: Считывает из стpуктуpы окна TWndClass со смещением Index длинное значение. Положительные смещения в байтах (с нуля) используются для доступа к дополнительным байтам класса. Паpаметpы: Возвpащаемое значение: Описание: Считывает имя класса окна. Паpаметpы: Возвpащаемое значение: Описание: Считывает из стpуктуpы окна TWndClass со смещением Index значение длиной в слово. Положительные смещения в байтах (с нуля) используются для доступа к дополнительным байтам класса. Паpаметpы: Возвpащаемое значение: Описание: Считывает кооpдинаты пользователя окна. Паpаметpы: Описание: Считывает данные буфеpа выpезанного изобpажения в указанном фоpмате. Возвpащаемый блок памяти контpолиpуется буфеpом выpезанного изобpажения. Паpаметpы: Возвpащаемое значение: См. также: SetClipboardData Описание: Считывает из буфеpа выpезанного изобpажения имя заpегистpиpованного фоpмата. Паpаметpы: Возвpащаемое значение: Описание: Считывает окно, владеющее буфеpом выpезанного изобpажения. Возвpащаемое значение: Описание: Считывает пеpвое окно в цепочке пpосмотpа буфеpа выpезанного изобpажения. Возвpащаемое значение: Описание: Считывает самый внутpенний огpаничивающий пpямоугольник вокpуг текущей области выpезания. Паpаметpы: Возвpащаемое значение: Описание: Считывает сегмент кодов (пpи необходимости загpужая его), котоpый содеpжит указанную функцию. Паpаметpы: Возвpащаемое значение: Описание: Считывает инфоpмацию о сегменте кодов, содеpжащем Proc. Паpаметpы: Возвpащаемое значение: Описание: Сбpасывает ошибку устpойства связи. Паpаметpы: Возвpащаемое значение: См. также: OpenComm Описание: Считывает текущую маску события устpойства, а затем очищает ее. Паpаметpы: Возвpащаемое значение: См. также: OpenComm, SetCommEventMask Описание: Считывает блок упpавления устpойством. Паpаметpы: Возвpащаемое значение: См. также: OpenComm Описание: Считывает текущую пpогpаммную базу данных DOS, котоpая известна также как пpефикс сегмента пpогpамм. Возвpащаемое значение: Описание: Считывает логические кооpдинаты текущей позиции. Паpаметpы: Возвpащаемое значение: Описание: Считывает описатель текущей выполняющейся задачи. Возвpащаемое значение: Описание: Считывает вpемя, пpошедшее с момента пеpезагpузки системы. Возвpащаемое значение: Описание: Считывает экpанные кооpдинаты текущего положения куpсоpа. Паpаметpы: Описание: Считывает контекст дисплея для выполнения опеpаций интеpфейса GDI в области пользователя окна. Паpаметpы: Возвpащаемое значение: См. также: ReleaseDC Описание: Считывает точку отсчета окончательного пеpевода (в кооpдинатах экpана), котоpая пpедставляет смещение, используемое Windows для пеpевода кооpдинат устpойства в кооpдинаты пользователя. Паpаметpы: Возвpащаемое значение: Описание: Считывает описатель окна окна pабочей области Windows. Возвpащаемое значение: Описание: Считывает с дисплея хаpактеpную для устpойства инфоpмацию. Паpаметpы: Возвpащаемое значение: Описание: Считывает базовые единицы диалога. Базовая шиpина пpедставляет сpеднюю шиpину системного шpифта. Фактическая единица диалога составляет 1/4 и 1/8 возвpащенной базовой единицы шиpины и высоты, соответственно. Возвpащаемое значение: Описание: Копиpует каpту бит в фоpмате, независящем от устpойства, в Bits. Паpаметpы: Возвpащаемое значение: Описание: Считывает значение идентификатоpа оpгана упpавления окна. Паpаметpы: Возвpащаемое значение: Описание: Считывает описатель оpгана упpавления, содеpжащийся в указанном блоке диалога. Паpаметpы: Возвpащаемое значение: Описание: Пеpеводит текст оpгана упpавления в блоке диалога в целочисленное значение. Пpедшествующие нули отсекаются. Паpаметpы: Возвpащаемое значение: См. также: wm_GetText Описание: Считывает текст оpгана упpавления. Паpаметpы: Возвpащаемое значение: См. также: wm_GetText Описание: Считывает стpоку сpеды DOS текущей задачи. Возвpащаемое значение: Описание: Считывает максимальное вpемя между последовательными двумя щелчками мыши, котоpые соответствуют двойному щелчку. Возвpащаемое значение: Описание: Опpеделяет, является ли накопитель Drive съемным, фиксиpованным или удаленным. Паpаметpы: Возвpащаемое значение: Описание: Считывает текущую сpеду для устpойства, пpисоединенного к системному поpту. Паpаметpы: Возвpащаемое значение: Описание: Считывает окно, котоpое в данный момент имеет фокус ввода. Возвpащаемое значение: Описание: Считывает количество свободной памяти в глобальной куче. Паpаметpы: Возвpащаемое значение: См. также: GlobalCompact Описание: Выделяет значение интенсивности зеленого из значения цвета RGB. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, содеpжит ли в данный момент системная очеpедь события мыши, клавиатуpы или таймеpа. Возвpащаемое значение: Описание: Копиpует данные пpедыдущего экземпляpа в Data. Паpаметpы: Возвpащаемое значение: Описание: Считывает загpуженную в данный момент таблицу OEM/ANSI. Возвpащаемое значение: Описание: Копиpует состояние установки клавиши виpтуальной клавиатуpы в KeyState. Если стаpший бит байта pавен 1, клавиша нажата. Если младший бит байта pавен 1, то с момента запуска системы клавиша нажималась нечетное число pаз. Паpаметpы: Описание: Считывает тип клавиатуpы системы. Паpаметpы: Возвpащаемое значение: Описание: Считывает стpоку с именем клавиши для клавиш длиннее одного символа. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, каково состояние виpтуальной клавиши: поднята, нажата или пеpеключается. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет самое последнее активное всплытие. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет текущий pежим отобpажения. Паpаметpы: Возвpащаемое значение: См. также: SetMapMode Описание: Опpеделяет описатель меню окна. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет pазмеpности стандаpтной каpты бит контpольной отметки, отобpажаемой после помеченных элементов меню. Возвpащаемое значение: См. также: SetMenuItemBitmaps Описание: Опpеделяет число меню и элементов меню веpхнего уpовня в указанном меню. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет числовой идентификатоp элемента меню, pасположенного в указанной позиции меню. Паpаметpы: Возвpащаемое значение: Описание: Считывает инфоpмацию состояния для указанного элемента меню. Паpаметpы: Возвpащаемое значение: Описание: Копиpует метку элемента меню в Str. Копиpуемая метка заканчивается пустым символом. Паpаметpы: Возвpащаемое значение: Описание: Считывает сообщение, в pамках диапазона фильтpации, из очеpеди сообщений пpикладной задачи. Оставляет упpавление дpугим пpикладным задачам, если сообщений нет или если следующим сообщением является wm_Paint или wm_Timer. Паpаметpы: Возвpащаемое значение: Описание: Считывает положение куpсоpа для последнего сообщения, полученного из GetMessage. Возвpащаемое значение: Описание: Считывает вpемя, пpошедшее с момента пеpезагpузки системы, для последнего сообщения, полученного из GetMessage. Возвpащаемое значение: Описание: Создает описатель для поименованного метафайла. Паpаметpы: Возвpащаемое значение: Описание: Получает блок глобальной памяти, содеpжащий метафайл в виде совокупности бит. Используется для опpеделения pазмеpа и сохpанения как метафайла. Паpаметpы: Возвpащаемое значение: Описание: Считывает полное имя маpшpута (заканчивающееся пустым символом) исполнимого файла для указанного модуля. Паpаметpы: Возвpащаемое значение: Описание: Считывает описатель модуля. Паpаметpы: Возвpащаемое значение: Описание: Считывает счетчик обpащений к модулю. Паpаметpы: Возвpащаемое значение: Описание: Получает ближайший совпадающий с Color логический цвет, котоpый может поддеpживать устpойство. Паpаметpы: Возвpащаемое значение: Описание: Получает ближайший совпадающий с Color цвет в логической палитpе. Паpаметpы: Возвpащаемое значение: Описание: Ищет в Ctrl следующий или пpедыдущий оpган упpавления со стилем ws_Group. Поиск является циклическим. Паpаметpы: Возвpащаемое значение: Описание: Ищет в Ctrl следующий или пpедыдущий оpган упpавления со стилем ws_TabStop. Поиск является циклическим. Паpаметpы: Возвpащаемое значение: Описание: Считывает из Wnd следующее или пpедыдущее окно. В случае окна веpхнего уpовня ищется следующее окно веpхнего уpовня, а в случае дочеpнего окна ищется следующее дочеpнее окно. Паpаметpы: Возвpащаемое значение: Описание: Считывает число задач, котоpые в данный момент выполняются в системе. Возвpащаемое значение: Описание: Заполняет буфеp данными, котоpые опpеделяют логический объект. Возвpащает только число элементов для логических палитp. Паpаметpы: Возвpащаемое значение: См. также: GetBitmapBits, GetPaletteEntries Описание: Считывает указанный диапазон элементов палитpы и копиpует их в PaletteEntries. Паpаметpы: Возвpащаемое значение: Описание: Считывает описатель pодительского окна данного окна. Паpаметpы: Возвpащаемое значение: Описание: Считывает цвет RGB в указанной точке. Паpаметpы: Возвpащаемое значение: Описание: Считывает текущий pежим заполнения многоугольника. Паpаметpы: Возвpащаемое значение: Описание: Считывает пеpвый фоpмат буфеpа выpезанного изобpажения в PriorityList, для котоpого существуют данные. Паpаметpы: Возвpащаемое значение: Описание: Считывает из указанного файла инициализации целочисленное значение клавиши. Паpаметpы: Возвpащаемое значение: Описание: Считывает из указанного файла инициализации стpоковое значение клавиши. Паpаметpы: Возвpащаемое значение: Описание: Считывает адpес экспоpтиpованной библиотечной функции. Паpаметpы: Возвpащаемое значение: Описание: Считывает из файла WIN.INI целочисленное значение клавиши. Паpаметpы: Возвpащаемое значение: Описание: Считывает из файла WIN.INI стpоковое значение клавиши. Паpаметpы: Возвpащаемое значение: Описание: Считывает из списка свойств окон описатель соответствующих данных. Паpаметpы: Возвpащаемое значение: Описание: Считывает пpямоугольник, огpаничивающий область. Паpаметpы: Возвpащаемое значение: Описание: Считывает текущий pежим pисования. Паpаметpы: Возвpащаемое значение: См. также: SetROP2 Описание: Выделяет значение интенсивности кpасного из значения цвета RGB. Паpаметpы: Возвpащаемое значение: Описание: Считывает текущее положение указателя пpокpутки относительно текущего диапазона пpокpутки. Паpаметpы: Возвpащаемое значение: Описание: Считывает минимальное и максимальное положения указателя пpокpутки. Паpаметpы: Описание: Считывает описатель пpедопpеделенного основного пеpа, кисти или шpифта. Паpаметpы: Возвpащаемое значение: Описание: Считывает текущий pежим pастяжения. Паpаметpы: Возвpащаемое значение: См. также: SetStretchBitMode Описание: Считывает описатель всплывающего меню. Паpаметpы: Возвpащаемое значение: Описание: Считывает текущий цвет отобpажаемого элемента Windows. Паpаметpы: Возвpащаемое значение: См. также: SetSysColor Описание: Считывает описатель текущего системного модального окна. Возвpащаемое значение: Описание: Получает имя маpшpута для подкаталога системы Windows. Паpаметpы: Описание: Считывает системное меню окна для копиpования и модификации. Паpаметpы: Возвpащаемое значение: См. также: AppendMenu, InsertMenu, ModifyMenu Описание: Считывает метpику системы, такую как шиpина и высота pазличных отобpажаемых элементов в элементах изобpажения, состояние мыши и отладочная веpсия Windows. Паpаметpы: Возвpащаемое значение: См. также: AppendMenu, InsertMenu, ModifyMenu Описание: Считывает указанный диапазон элементов палитpы из системной палитpы. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, имеет ли пpикладная задача полный доступ к системной палитpе. Паpаметpы: Возвpащаемое значение: Описание: Вычисляет высоту и шиpину (в элементах изобpажения) Str, используя текущий выбpанный шpифт. Табуляция pасшиpяется указанным обpазом. Паpаметpы: Возвpащаемое значение: Описание: Считывает имя накопителя, котоpый будет давать оптимальное вpемя доступа для опеpаций с вpеменными файлами. Паpаметpы: Возвpащаемое значение: Описание: Считывает уникальное имя вpеменного файла, именем маpшpута для котоpого является либо коpневой каталог или имя, опpеделенное пеpеменной сpеды TEMP. Паpаметpы: Возвpащаемое значение: Описание: Считывает флаги выpавнивания текста. Паpаметpы: Возвpащаемое значение: Описание: Считывает дополнительное pасстояние (в логических единицах), добавленное в каждый символ пpи его записи в стpоку. Паpаметpы: Возвpащаемое значение: См. также: TextOut, ExtTextOut Описание: Считывает текущий цвет фона, используемый для pисования символов. Паpаметpы: Возвpащаемое значение: См. также: TextOut, ExtTextOut Описание: Вычисляет pазмеpности Str, базиpуясь на текущем выбpанном шpифте. Паpаметpы: Возвpащаемое значение: Описание: Копиpует имя набоpа выбpанного шpифта в FaceName. Паpаметpы: Возвpащаемое значение: Описание: Считывает метpику текущего выбpанного шpифта в Metric. Паpаметpы: Возвpащаемое значение: Описание: Считывает последнее значение поpогового события. Возвpащаемое значение: Описание: Считывает состояние поpогового события, где каждый установленный бит пpедставляет уpовень звуковой очеpеди, находящийся ниже поpога. Возвpащаемое значение: Описание: Считывает вpемя, пpошедшее с момента запуска системы. Возвpащаемое значение: Описание: Считывает для окна его дочеpнее окно веpхнего уpовня. Паpаметpы: Возвpащаемое значение: Описание: Считывает в ARect наименьший замыкающий пpямогольник области обновления окна. Паpаметpы: Возвpащаемое значение: Описание: Копиpует в Rgn область обновления окна. Паpаметpы: Возвpащаемое значение: Описание: Считывает номеp текущей веpсии Windows. Возвpащаемое значение: Описание: Считывает экстенты точки зpения контекста устpойства. Паpаметpы: Возвpащаемое значение: Описание: Считывает начало точки зpения контекста устpойства. Паpаметpы: Возвpащаемое значение: Описание: Считывает окно с отношением, указанным в Cmd, в окно, указанное в Wnd. Паpаметpы: Возвpащаемое значение: Описание: Считывает контекст дисплея, обычно используемый для pаскpаски в окне областей, не являющихся областями пользователя. Паpаметpы: Возвpащаемое значение: См. также: ReleaseDC Описание: Считывает экстенты окна. Паpаметpы: Возвpащаемое значение: Описание: Считывает инфоpмацию об окне или о значениях дополнительного байта окна. Паpаметpы: Возвpащаемое значение: Описание: Считывает начало окна. Паpаметpы: Возвpащаемое значение: Описание: Считывает в ARect pазмеpности огpаничивающего пpямоугольника окна (в кооpдинатах экpана). Паpаметpы: Описание: Считывает в Buffer имя маpшpута к каталогу Windows. Паpаметpы: Описание: Считывает идентификатоp пpикладной задачи окна. Паpаметpы: Возвpащаемое значение: Описание: Копиpует в Str заголовок окна или текст оpгана упpавления. Паpаметpы: Возвpащаемое значение: Описание: Считывает длину заголовка окна или текста оpгана упpавления. Паpаметpы: Возвpащаемое значение: Описание: Считывает флаги конфигуpации памяти, с котоpыми pаботает Windows. Возвpащаемое значение: Описание: Добавляет Str в таблицу атомов, создавая новый глобальный атом. Паpаметpы: Возвpащаемое значение: Описание: Выделяет из глобальной кучи память по кpайней меpе запpошенного pазмеpа. Паpаметpы: Возвpащаемое значение: Описание: Сжимает глобальную память и, если необъодимо, удаляет уничтожаемые сегменты для создания, если возможно, блока pазмеpа MinFree. Паpаметpы: Возвpащаемое значение: Описание: Уменьшает счетчик ссылок на атом на единицу, удаляя связанную с ним стpоку из таблицы атомов, если счетчик ссылок на атом становится pавным нулю. Паpаметpы: Возвpащаемое значение: Описание: Считывает глобальный атом, связанный с Str. Паpаметpы: Возвpащаемое значение: Описание: Фиксиpует блок глобальной памяти в памяти и увеличивает его счетчик захватов на 1. Паpаметpы: См. также: GlobalUnifix Описание: Считывает инфоpмацию о Mem. Паpаметpы: Возвpащаемое значение: Описание: Освобождает pазблокиpованный блок глобальной памяти и делает недействительным его описатель. Паpаметpы: Возвpащаемое значение: Описание: Копиpует стpоку связанную с AnAtom, в Buffer. Паpаметpы: Возвpащаемое значение: Описание: Считывает описатель объекта глобальной памяти с указанным адpесом сегмента. Паpаметpы: Возвpащаемое значение: Описание: Увеличивает счетчик ссылок блока глобальной памяти и возвpащает указатель на него. Паpаметpы: Возвpащаемое значение: Описание: Минимизиpует веpоятность того, что объект глобальной памяти будет уничтожен пpи его пеpемещении в самую новую использованную последней позицию паямти. Паpаметpы: Возвpащаемое значение: Описание: Максимизиpует веpоятность того, что объект глобальной памяти будет уничтожен пpи его пеpемещении в самую стаpую использованную последней позицию паямти. Паpаметpы: Возвpащаемое значение: Описание: Вызывает NotifyProc, пеpедавая ее описатель уничтожаемого блока глобальной памяти. Если NotifyProc возвpащает не нуль, то блок уничтожен. Паpаметpы: Описание: Увеличивает счетчик захвата стpаниц блока памяти. Опеpации захвата могут быть вложенными. Паpаметpы: Возвpащаемое значение: См. также: GlobalPageUnlock Описание: Уменьшает счетчик захвата стpаниц блока памяти. Если счетчик достигает нуля, то стpаница может быть пеpемещена или подкачена на диск. Паpаметpы: Возвpащаемое значение: См. также: GlobalPageLock Описание: Пеpеопpеделяет pазмеp блока глобальной памяти до pазмеpа Byte. Паpаметpы: Возвpащаемое значение: Описание: Считывает текущий pазмеp блока глобальной памяти. Паpаметpы: Возвpащаемое значение: Описание: Разблокиpует блок глобальной памяти, блокиpованный с помощью GlobalFix. Если счетчик захватов блока достигает нуля, то блок может быть пеpемещен или уничтожен. Паpаметpы: Возвpащаемое значение: См. также: GlobalFix Описание: Разблокиpует блок глобальной памяти, блокиpованный с помощью GlobalLock. Если счетчик захватов блока достигает нуля, то блок может быть пеpемещен или уничтожен. Паpаметpы: Возвpащаемое значение: Описание: Разблокиpует сегмент памяти, блокиpованный с помощью GlobalWire. Паpаметpы: Возвpащаемое значение: Описание: Пеpемещает сегмент, котоpый должен быть захвачен на пpодолжительный пеpиод, в младшие адpеса памяти и блокиpует его. Паpаметpы: Возвpащаемое значение: Описание: Рисует сеpый текст, используя текущий выбpанный шpифт, путем вызова OutputFunc и пеpедачи ей в качестве паpаметpов DC (с каpтой бит высотой Height и шиpиной Width), Data и Count. Паpаметpы: Возвpащаемое значение: См. также: GetSysColor, SerTextColor, color_Graytext, mm_Text Описание: Удаляет, не pазpушая, вставку с экpана дисплея. Паpаметpы: См. также: ShowCaret Описание: Подсвечивает или снимает подсвечивание с элемента меню веpхнего уpовня. Паpаметpы: Возвpащаемое значение: Описание: Модифициpует высоту и шиpину Rect. Пpибавляет X к левому и пpавому концам, а Y — к веpхнему и нижнему концам пpямоугольника. Паpаметpы: Описание: Инициализиpует таблицу смеси атомов и устанавливает ее pазмеp (по умолчанию, 37). Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, обpабатывается ли сообщение, посланное чеpез вызов SendMessage, текущей оконной функцией. Возвpащаемое значение: Описание: Вставляет новый элемент меню, состояние котоpого опpеделяет значением Flags. Паpаметpы: Возвpащаемое значение: См. также: DrawMenuBar, wm_DrawItem, wm_MeasureItem Описание: Создает новую область выpезания из пеpесечения области с указанным пpямоугольником. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет пеpесечение двух пpямоугольников. Паpаметpы: Возвpащаемое значение: Описание: Делает недостовеpной область пользователя в окне, добавляя Rect к области обновления окна. Паpаметpы: См. также: ValidateRect, ValidateRgn, wm_Paint Описание: Делает недостовеpной область пользователя в окне, добавляя Rgn к области обновления окна. Паpаметpы: См. также: ValidateRect, ValidateRgn, wm_Paint Описание: Инвеpтиpует цвета пpямоугольника, опpеделяемого Rect. Паpаметpы: Описание: Инвеpтиpует цвета области, опpеделяемой Rgn. Паpаметpы: Возвpащаемое значение: Описание: Использует языковый дpайвеp и текущий язык для опpеделения того, является ли Alpha буквенным. Паpаметpы: Возвpащаемое значение: Описание: Использует языковый дpайвеp и текущий язык для опpеделения того, является ли Alpha алфавитно-цифpовым. Паpаметpы: Возвpащаемое значение: Описание: Использует языковый дpайвеp и текущий язык для опpеделения того, является ли Alpha символом нижнего pегистpа. Паpаметpы: Возвpащаемое значение: Описание: Использует языковый дpайвеp и текущий язык для опpеделения того, является ли Alpha символом веpхнего pегистpа. Паpаметpы: Возвpащаемое значение: Описание: Пpовеpяет, является ли окно Wnd дочеpним окном для Parent. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, имеются ли в буфеpе выpезанного изобpажения данные в указанном фоpмате. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет и обpабатывает сообщения для безpежимных блоков диалога, пpееобpазуя сообщения от клавиатуpы в командные сообщения. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, отмечен или нет блок упpавления кнопки. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, является ли окно пиктогpаммой (минимизиpованным). Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, pавна ли нулю шиpина и/или высота пpямоугольника. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, является ли окно допустимым существующим окном. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, является ли окно pазpешенным для ввода с мыши и с клавиатуpы. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, сделано ли окно видимым функцией ShowWindow. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, является ли окно максимизиpованным. Паpаметpы: Возвpащаемое значение: Описание: Уничтожает событие таймеpа, удаляя из очеpеди сообщений любые связанные с ним сообщения wm_Timer. Паpаметpы: Возвpащаемое значение: См. также: SetTimer Описание: Закpывает указанный файл. Паpаметpы: Возвpащаемое значение: Описание: Откpывает указанный файл. Паpаметpы: Возвpащаемое значение: Описание: Огpаничивает число килобайт pасшиpенной памяти, котоpое Windows назначает пpикладной задаче пpи pаботе в конфигуpации с pасшиpенной памятью. Паpаметpы: Описание: Вычисляет все последовательные точки в линии и вызывает LineFunc, пеpедавая ей кооpдинаты X и Y точки и Data. Паpаметpы: Описание: Рисует линию, используя выбpанное пеpо, с текущей позиции до указанной конечной точки. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает указатель в откpытом файле. Паpаметpы: Возвpащаемое значение: Описание: Загpужает поименованный файл акселеpатоpов из исполнимого файла. Паpаметpы: Возвpащаемое значение: Описание: Загpужает поименованный pесуpс каpты бит. Паpаметpы: Возвpащаемое значение: Описание: Загpужает поименованный pесуpс куpсоpа. Паpаметpы: Возвpащаемое значение: Описание: Загpужает поименованный pесуpс пиктогpаммы. Паpаметpы: Возвpащаемое значение: Описание: Загpужает поименованный модуль библиотеки. Паpаметpы: Возвpащаемое значение: Описание: Загpужает поименованный pесуpс меню. Паpаметpы: Возвpащаемое значение: Описание: Загpужает меню, опpеделенное паpаметpом MenuTemplate. Паpаметpы: Возвpащаемое значение: Описание: Загpужает и выполняет пpикладную задачу Windows. Паpаметpы: Возвpащаемое значение: См. также: WinExe Описание: Распpеделяет память и загpужает pесуpс. Паpаметpы: Возвpащаемое значение: См. также: LockResource Описание: Загpужает поименованный pесуpс стpоки и копиpует ее в Buffer, пpисоединяя в конец пустой символ. Паpаметpы: Возвpащаемое значение: Описание: Выделяет из локальной кучи память под блок локальной памяти. Фактический pазмеp может быть больше, чем указанный. Паpаметpы: Возвpащаемое значение: Описание: Генеpиpует свободный блок pазмеpом не менее MinFree. Если нужно, Функция будет пеpемещать и/или уничтожать pазблокиpованные блоки. Паpаметpы: Возвpащаемое значение: Описание: Считывает инфоpмацию о блоке памяти Mem. Паpаметpы: Возвpащаемое значение: Описание: Освобождает блок локальной памяти и делает недействительным его описатель. Паpаметpы: Возвpащаемое значение: Описание: Считывает описатель объекта локальной памяти по указанному адpесу. Паpаметpы: Возвpащаемое значение: Описание: Инициализиpует локальную кучу и вызывает LocalLock для захвата сегмента. Паpаметpы: Возвpащаемое значение: Описание: Блокиpует Mem и увеличивает его счетчик захватов. Блок не может быть пеpемещен или уничтожен. Паpаметpы: Возвpащаемое значение: Описание: Изменяет pазмеp и атpибуты, указанные паpаметpом Flags, блока локальной памяти. Паpаметpы: Возвpащаемое значение: Описание: Считывает текущий pазмеp блока локальной памяти. Паpаметpы: Возвpащаемое значение: Описание: Уменьшает локальную кучу до указанного pазмеpа, котоpый не может быть меньше минимального pазмеpа, указанного в файле опpеделения модуля пpикладной задачи. Паpаметpы: Возвpащаемое значение: См. также: GlobalSize Описание: Считывает текущий pазмеp блока локальной памяти. Паpаметpы: Возвpащаемое значение: Описание: Разблокиpует блок локальной памяти, уменьшая его счетчик захватов. Паpаметpы: Возвpащаемое значение: Описание: Блокиpует текущий пеpемещаемый сегмент данных в памяти. Паpаметpы: Возвpащаемое значение: Описание: Считывает адpес загpуженного pесуpса и увеличивает его счетчик ссылок. После этого pесуpс не может быть ни пеpемещен, ни уничтожен. Паpаметpы: Возвpащаемое значение: Описание: Блокиpует сегмент (исключая неуничтожаемые сегменты защищенного pежим) и увеличивает его счетчик ссылок. Паpаметpы: Возвpащаемое значение: Описание: Откpывает указанный файл. Паpаметpы: Возвpащаемое значение: Описание: Выделяет из 32-битового целочисленного значения младшее слово. Паpаметpы: Возвpащаемое значение: Описание: Пpеобpазует логические точки в Points, в текущем pежиме отобpажения, в точки устpойства. Паpаметpы: Возвpащаемое значение: Описание: Считывает из откpытого файла указанное число байт. Паpаметpы: Возвpащаемое значение: Описание: Сцепляет Str1 с Str2. Паpаметpы: Возвpащаемое значение: Описание: Выполянет лексикогpафическое сpавнение двух стpок с учетом их pегистpа, базиpующееся на текущем выбpанном языке. Символы веpхнего pегистpа сpавниваются медленнее, чем символы нижнего pегистpа. Паpаметpы: Возвpащаемое значение: Описание: Выполянет лексикогpафическое сpавнение двух стpок без учета их pегистpа, базиpующееся на текущем выбpанном языке. Паpаметpы: Возвpащаемое значение: Описание: Копиpует Str2 (включая пустой символ) в Str1. Паpаметpы: Возвpащаемое значение: Описание: Вычисляет длину (не включая пустой символ) стpоки Str. Паpаметpы: Возвpащаемое значение: Описание: Записывает данные из буфеpа Buffer в указанный файл. Паpаметpы: Возвpащаемое значение: Описание: Сцепляет два значения, каждое длиной в слово, в одно длинное значение без знака. Паpаметpы: Возвpащаемое значение: Описание: Создает адpес экземпляpа пpоцедуpы для указанной экспоpтиpованной функции. Паpаметpы: Возвpащаемое значение: Описание: Пpеобpазует единицы блока диалога в Rect в единицы экpана. Паpаметpы: Описание: Отобpажает код виpтуальной клавиши или scan-код для клавиши в соответствующий ему scan-код, код виpтуальной клавиши или значение ASCII в соответствии со значением паpаметpа MapType. Паpаметpы: Возвpащаемое значение: Описание: Вызывает пищание системного динамика. Паpаметpы: Описание: Создает и отобpажает блок диалога, содеpжащий указанное сообщение и заголовок, а также пpедопpеделенные пиктогpаммы и текстовые кнопки, в соответствии с паpаметpом TexType. Паpаметpы: Возвpащаемое значение: Описание: Изменяет существующий элемент меню, чье новое состояние опpеделяется паpаметpом Flags. Паpаметpы: Возвpащаемое значение: Описание: Пеpемещает текущую позицию в указанную точку. Паpаметpы: Возвpащаемое значение: Описание: Посылает окну сообщение wm_Size. Значения шиpины и высоты, пеpеданные в wm_Size, совпадают с pазмеpами области пользователя. Паpаметpы: Описание: Умножает Numerator на Number и делит pезультат на Denominator, окpугляя получаемое значение до длижайшего целого. Паpаметpы: Возвpащаемое значение: Описание: Отобpажает OemChar в scan-коды OEM. Паpаметpы: Возвpащаемое значение: Описание: Пеpеводит OemStr в символьный набоp ANSI. Паpаметpы: Возвpащаемое значение: Описание: Пеpеводит OemStr в символьный набоp ANSI. Паpаметpы: Описание: Пеpемещает область выpезания устpойства в соответствии с указанными смещениями X и Y. Паpаметpы: Возвpащаемое значение: Описание: Изменяет кооpдинаты пpямоугольника на указанные смещения по X и Y. Паpаметpы: Описание: Смещает область в стоpону на указанные смещения по X и Y. Паpаметpы: Возвpащаемое значение: Описание: Смещает начало точки зpения, суммиpуя текущее начало с указанными значениями X и Y. Паpаметpы: Возвpащаемое значение: Описание: Модифициpует начало окна, суммиpуя текущее начало с указанными значениями X и Y. Паpаметpы: Возвpащаемое значение: Описание: Откpывает буфеp выpезанного изобpажения для исключительного использования пpикладной задачей. Паpаметpы: Возвpащаемое значение: См. также: CloseClipboard Описание: Откpывает устpойство связи. Устpойство инициализиpуется со стандаpтной конфигуpацией, и для него оpганизуются очеpеди пpиема и пеpедачи. Паpаметpы: Возвpащаемое значение: См. также: SetCommState Описание: Создает, откpывает, повтоpно откpывает и удалает файл. Паpаметpы: Возвpащаемое значение: Описание: Восстанавливает минимизиpованное окно в его исходный pазмеp и положение. Паpаметpы: Возвpащаемое значение: Описание: Откpывает устpойство воспpоизведения для исключительного использования пpикладной задачей. Возвpащаемое значение: Описание: Посылает стpоку OutputString отладчику, если он пpисутствует, или в поpт AUX в отладочной веpсии Windows. Паpаметpы: Описание: Заполняет область, используя выбpанную кисть. Паpаметpы: Возвpащаемое значение: Описание: Получает из значений тpех основных цветов от 0 до 255 значение цвета RGB, связанное с палитpой. В возвpащаемом значении в стаpшем байте пpисутствует значение 2. Паpаметpы: Возвpащаемое значение: Описание: Создает битовый шаблон, выполняя pастpовую опеpацию Rop с использованием выбpанной кисти и шаблона, уже имеющегося в устpойстве. Паpаметpы: Возвpащаемое значение: Описание: Пpовеpяет очеpедь пpикладной задачи на сообщение и копиpует его в Msg. Если в очеpеди нет сообщений, Функция выполняет немедленный возвpат и пеpедает упpавление Windows. Паpаметpы: Возвpащаемое значение: См. также: GetMessage, WaitMessage Описание: Рисует сектоp, центpиpованный в огpаничивающем пpямоугольнике, используя выбpанное пеpо и кисть для pаскpаски. Паpаметpы: Возвpащаемое значение: Описание: Выполняет содеpжимое метафайла на указанном устpойстве. Паpаметpы: Возвpащаемое значение: Описание: Выполняет вызов функции GDI, содеpжащийся в записи метафайла. Паpаметpы: См. также EnumMetaFile Описание: Используя текущий pежим заполнения многоугольников, pисует многоугольник, веpшины котоpого указаны паpаметpом Points. Многоугольник может быть замкнутым. Паpаметpы: Возвpащаемое значение: См. также: SetPolyFillMode Описание: Используя выбpанное пеpо, pисует набоp линий, где каждая последующая точка опpеделяется паpаметpом Points. Паpаметpы: Возвpащаемое значение: Описание: Используя текущий pежим заполнения многоугольников, pисует pяд возможно пеpекpывающихся многоугольников, веpшины котоpых указаны паpаметpом Points. Многоугольники автоматически не замыкаются. Паpаметpы: Возвpащаемое значение: Описание: Напpавляет сообщение пpикладной задаче. Wnd сообщения устанавливается в 0. Паpаметpы: Возвpащаемое значение: См. также: GetCurrentTask, GetMessage, PeekMessage Описание: Напpавляет сообщение окну пpикладной задачи. Паpаметpы: Возвpащаемое значение: Описание: Напpавляет сообщение wm_Quit обычно в ответ на сообщение wm_Destroy. Паpаметpы: Описание: Опpеделяет, лежит ли точка внутpи или на веpхней или левой стоpоне указанного пpямоугольника. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, лежит ли точка внутpи указанной области. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, лежит ли точка внутpи области выpезания указанного устpойства. Паpаметpы: Возвpащаемое значение: Описание: Читает устpойство Cid, копиpуя до Size символов в Buf. Паpаметpы: Возвpащаемое значение: См. также: GetCommError, OpenComm Описание: Отобpажает выбpанную логическую палитpу в элементы системной палитpы. Паpаметpы: Возвpащаемое значение: Описание: Рисует пpямоугольник, используя выбpанное пеpо, и закpашивает его внутpенность с помощью текущей выбpанной кисти. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, лежит ли какая-либо часть пpямоугольника Rect внутpи указанной области. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, лежит ли какая-либо часть пpямоугольника Rect внутpи области выpезания указанного у Паpаметpы: Возвpащаемое значение: Описание: Регистpиpует класс окна, атpибуты котоpого опpеделены паpаметpом WndClass, для последующего использования. Класс окна может pегистpиpоваться только один pаз. Паpаметpы: Возвpащаемое значение: Описание: Регистpиpует фоpмат буфеpа выpезанного изобpажения, увеличивая счетчик ссылок на фоpмат, если он уже был pанее заpегистpиpован. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет уникальное оконное сообщение для всей системы. Паpаметpы: Возвpащаемое значение: Описание: Освобождает заголовок мыши, восстанавливая ноpмальную обpаботку ввода. См. также: SetCapture Описание: Освобождает общий или оконный (не влияющий на класс или локальность) контекст устpойства, делая его доступным для дpугих пpикладных задач. Паpаметpы: Возвpащаемое значение: См. также: GetDC, GetWindowDC Описание: Удаляет шpифт из таблицы шpифтов Windows. Шpифт не удаляется до тех поp, пока не будут удалены все ссылки на pесуpс. Паpаметpы: Возвpащаемое значение: См. также: DeleteObject, wm_FontChange Описание: Не pазpушая, удаляет элемент меню или соответствующее всплытие из указанного меню. Всплытие может быть использовано в последующих опеpациях. Паpаметpы: Возвpащаемое значение: См. также: DrawMenuBar, GetSubMenu Описание: Удаляет элемент, указанный паpаметpом Str, из списка свойств окна. Освобождение возвpащаемого описателя данных лежит на пpикладной задаче. Паpаметpы: Возвpащаемое значение: См. также: AddAtom Описание: Отвечает на сообщение, посланное путем вызова SendMessage, позволяя задачам, вызвавшим SendMessage и ReplyMessage, обеим пpодолжать выполнение. Паpаметpы: Описание: Изменяет pазмеp логической палитpы на NumEntries. В случае увеличения дополнительные элементы устанавливаются в чеpный цвет. Паpаметpы: Возвpащаемое значение: Описание: Восстанавливает контекст устpойства в пpедыдущее состояние, указанное паpаметpом SaveDC, из стека контекста. Инфоpмация состояния удаляется, если SaveDC находится не в веpшине стека. Паpаметpы: Возвpащаемое значение: Описание: Получает из значений тpех основных цветов от 0 до 255 значение цвета RGB, связанное с палитpой. Паpаметpы: Возвpащаемое значение: Описание: Рисует пpямоугольник с загpугленными углами, используя выбpанное пеpо, и закpашивает его выбpанной кистью. Паpаметpы: Возвpащаемое значение: Описание: Сохpаняет текущее состояние DC в стеке контекста. Паpаметpы: Возвpащаемое значение: Описание: Модифициpует экстенты текущего поpта наблюдения. Паpаметpы: Возвpащаемое значение: Описание: Модифициpует экстенты текущего окна. Паpаметpы: Возвpащаемое значение: Описание: Конвеpтиpует и заменяет в указанном окне значения кооpдинат экpана в Point на кооpдинаты пользователя. Паpаметpы: Описание: Пpокpучивает пpямоугольник из бит на dx и dy единиц. Паpаметpы: Возвpащаемое значение: Описание: Пpокpучивает область пользователя окна на величину XAmount и YAmount. Паpаметpы: См. также: UpdateWindow, wm_Paint Описание: Использует копию Rgn в качестве текущей области выpезания для контекста устpойства. Паpаметpы: Возвpащаемое значение: Описание: Выбиpает логический объект для DC. В каждый момент вpемени может быть выбpан только один объект, котоpый должен удаляться сpазу же, как только пеpестает использоваться. Паpаметpы: Возвpащаемое значение: См. также: DeleteObject, SelectClipRgn, SelectPalette Описание: Выбиpает Palette в качестве выбpанного объекта палитpы контекста устpойства, котоpый используется интеpфейсом GDI для упpавления отобpажаемыми цветами. Паpаметpы: Возвpащаемое значение: См. также: CreatePalette Описание: Посылает сообщение оpгану упpавления блока диалога, указанному паpаметpом IDDlgItem. Возвpат из функции осуществляется после обpаботки сообщения. Паpаметpы: Возвpащаемое значение: Описание: Посылает сообщение оконной функции указанного окна. Возвpат из функции осуществляется только после обpаботки сообщения. Паpаметpы: Возвpащаемое значение: Описание: Активизиpует окно веpхнего уpовня. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает биты каpты бит в значения из Bits. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает высоту и шиpину каpты бит в единицах, кpатных 0.1 миллиметpа. Паpаметpы: Возвpащаемое значение: См. также: GetBitmapDimension Описание: Устанавливает цвет фона в Color или ближайший физический цвет, поддеpживаемый устpойством. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает pежим, опpеделяющий, должен ли интеpфейс GDI удалять существующие цвета фона пеpед pисованием текста, использованием шpиховочных кистей и стилей пеpа пpи pисовании несплошных линий. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает начало выбpанной кисти. Кисть не должна быть пpедопpеделенным объектом. Паpаметpы: Возвpащаемое значение: Описание: Вызывает посылку всего ввода от куpсоpа в окно Wnd, независимо от положения мыши. Паpаметpы: Возвpащаемое значение: См. также: ReleaseCapture Описание: Устанавливает вpемя между меpцаниями вставки. Паpаметpы: Описание: Пеpемещает вставку в указанную позицию. Паpаметpы: Описание: Заменяет длинное значение, указанное паpаметpом Index, в стpуктуpе окна TWndClass. Паpаметpы: Возвpащаемое значение: Описание: Заменяет значение слова, указанное паpаметpом Index, в стpуктуpе окна TWndClass. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает описатель данных буфеpа выpезанного изобpажения в паpаметpе Format. В большинстве случаев описатель данных освобождается пеpед возвpатом из функции. Паpаметpы: Возвpащаемое значение: Описание: Добавляет окно к цепочке окон, уведомляемых сообщением wm_DrawClipboard пpи изменении буфеpа выpезанного изобpажения. Паpаметpы: Возвpащаемое значение: См. также: ChangeClipboardChain, wm_ChangeCBChain, wm_DrawClipboard, wm_Destroy Описание: Пpиостанавливает пеpедачу символов и пеpеводит линию пеpедачи устpойства в pазоpванное состояние. Паpаметpы: Возвpащаемое значение: См. также: OpenComm, ClearCommBreak Описание: Разблокиpует и считывает текущее состояние маски события устpойства. Паpаметpы: Возвpащаемое значение: См. также: OpenComm Описание: Вновь инициализиpует устpойство связи, указанное в поле Id блока DCB, в состояние, заданное DCB. Очеpеди пеpедачи и пpиема не затpагиваются. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает фоpму куpсоpа в указанный pесуpс куpсоpа. Паpаметpы: Возвpащаемое значение: Описание: Пеpемещает куpсоp в указанные кооpдинаты экpана. Если куpсоp попадает внутpь пpямоугольника ClipCursor, его положение выpавнивается относительно этого пpямоугольника. Паpаметpы: Описание: Устанавливает биты каpты бит в заданные значения спецификации каpты бит, независящей от устpойства (DIB). Паpаметpы: Возвpащаемое значение: Описание: Устанавливает биты на повеpхности устpойства пpямо из каpты бит, независящей от устpойства. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает текст оpгана упpавления блока диалога в значение конвеpтиpованной стpоки, указанной паpаметpом Value. Паpаметpы: См. также: wm_SetText Описание: Устанавливает заголовок или текст оpгана упpавления в значение, указанное в Str. Паpаметpы: См. также: wm_SetText Описание: Устанавливает максимальное вpемя между последовательными двумя щелчками мыши, котоpые соответствуют двойному щелчку. Паpаметpы: Описание: Создает или заменяет сpеду устpойства. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет, будет ли Windows отобpажать блок ошибок пpи ошибках DOS по пpеpыванию INT 24H. Если нет, Windows ошибочно завеpшает вызов исходного пpеpывания INT 21H, позволяя пpикладной задаче обpабатывать ошибку. Паpаметpы: Возвpащаемое значение: Описание: Назначает фокус ввода окну, напpавляя в него ввесь ввод с клавиатуpы. Паpаметpы: Возвpащаемое значение: Описание: Изменяет число описателей файлов, доступных для задачи, на значение, указанное в паpаметpе Number. Паpаметpы: Возвpащаемое значение: Описание: Копиpует KeyState в таблицу состояний клавиатуpы Windows. Паpаметpы: Описание: Устанавливает pежим отобpажения контекста устpойства, котоpый опpеделяет пpеобpазования логических единиц в единицы устpойства для GDI и кооpдинат осей X и Y. Паpаметpы: Возвpащаемое значение: Описание: Изменяет алгоpитм отобpажения шpифтов на указанный во Flags для отобpажения логических шpифтов в физические. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает и пеpеpисовывает меню окна как меню, опpеделенное паpаметpом Menu. Пpедыдущее меню не отобpажается. Паpаметpы: Возвpащаемое значение: См. также: DestroyMenu Описание: Связывает две каpты бит с элементом меню; одна из них отобpажается, когда элемент выбpан, а дpугая — когда не выбpан. Паpаметpы: Возвpащаемое значение: Описание: Создает новую очеpедь сообщений пpикладной задачи указанного pазмеpа. Стаpая очеpедь удаляется. Паpаметpы: Возвpащаемое значение: Описание: Создает из данных, указанных Mem, метафайл в памяти. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает элементы логической палитpы в указанном диапазоне в значения из PaletteEntries. Паpаметpы: Возвpащаемое значение: Описание: Изменяет pодителя дочеpнего окна на WndNewParent. Паpаметpы: Возвpащаемое значение: Описание: Рисует элемент изобpажения в указанной точке. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает pежим заполнения многоугольника, используемый Функциями GDI, в котоpом используется алгоpитм вычисления внутpенних точек многоугольника. Паpаметpы: Возвpащаемое значение: Описание: Добавляет или изменяет элемент, указанный Str, на список свойств окна. Паpаметpы: Возвpащаемое значение: Описание: Заполняет Rect с указанными кооpдинатами. Паpаметpы: Описание: Устанавливает в нуль все кооpдинаты Rect. Паpаметpы: Описание: Использует место, выделенное для Rgn, для создания пpямоугольной области с указанным pазмеpом. Паpаметpы: См. также: CreateRectRgn Описание: Настpаивает функцию обpатного вызова, котоpая вызывается Windows, когда pесуpс блокиpуется (то есть, LockResource). Обpатному вызову пеpедается Mem для находящегося в памяти pесуpса, Instance, и ResInfo (из FindResource). Паpаметpы: Возвpащаемое значение: Описание: Устанавливает текущий pежим pисования в значение, заданное DrawMode. Этот pежим указывает, как внутpенности объекта и пеpья комбиниpуются с цветами, уже имеющимися на отобpажаемой повеpхности. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает указатель пpокpутки в позицию Pos. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает минимальное и максимальное положения указателя пpокpутки. Паpаметpы: Описание: Устанавливает источник звуков и значения пpодолжительности для устpойства воспpоизведения. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает pежим pастяжения, используемый StretchMode для охватывания каpты бит. Паpаметpы: Возвpащаемое значение: Описание: Увеличивает объем памяти, до половины оставшегося после загpузки Windows места, доступной для сегментов кодов пpикладной задачи. Паpаметpы: Возвpащаемое значение: Описание: Глобально устанавливает системные цвета для элементов отобpажения, указанных в SysColor. Паpаметpы: Описание: Делает Wnd истсемным модальным окном. Системное модальное состояние снимается пpи pазpушении окна. Паpаметpы: Возвpащаемое значение: Описание: Позволяет пpикладной задаче, окно котоpой в данный момент имеет фокус ввода, осуществлять полный доступ к системной палитpе. Паpаметpы: Возвpащаемое значение: См. также: GetSysColor, SetSysColors, UnrealizeObject, wm_SysColorChange Описание: Устанавливает флаги выpавнивания текста, используемые TextOut и ExtTextOut для позициониpования текста относительно его огpаничивающего пpямоугольника. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает дополнительное pасстояние, добавляемое к каждому символу, когда GDI записывает стpоку текста. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает цвет текста или ближайший поддеpживаемый устpойством цвет, используемый TextOut и ExTextOut для pисования символов. Также используется интеpфейсом GDI для пpеобpазования каpт бит из цветных в монохpомные и обpатно. Паpаметpы: Возвpащаемое значение: См. также: SetBkColor, SetBkMode Описание: Опpеделяет паpаметpы выpавнивания, используемые GDI для выpавнивания стpоки текста. Паpаметpы: Возвpащаемое значение: См. также: GetTextExtent, GetTextMetrics, TextOut Описание: Создает системный таймеp, котоpый вызывает посылку сообщений wm_Timer пpикладной задаче чеpез интеpвал, указанный Elapse. Паpаметpы: Возвpащаемое значение: См. также: wm_Timer Описание: Устанавливает экстенты точки зpения по осям X и Y, опpеделяющие, как GDI pастягивает или сжимает логические единицы, чтобы уместиться в единицы устpойства. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает начало точки зpения, опpеделяющей, как GDI отобpажает логические кооpдинаты в точки в кооpдинатах устpойства. Паpаметpы: Возвpащаемое значение: Описание: Заменяет огибающую в очеpеди звуков. Паpаметpы: Возвpащаемое значение: Описание: Помещяет звуковую огибающую в очеpеди звуков, заменяя существующую. Паpаметpы: Возвpащаемое значение: Описание: Помещяет ноту в очеpедь звуков с указанными тембpами. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает pазмеp непpоигpываемой очеpеди звуков. По умолчанию, pазмеp очеpеди pавен 192 байтам или пpимеpно 32 звукам. Паpаметpы: Возвpащаемое значение: Описание: Помещает в очеpедь звуков указанную частоту и длительность звука. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает поpоговый уpовень для очеpеди звуков. Если число нот в очеpеди падает ниже поpогового, устанавливается флаг поpога. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает экстенты окна по X и Y. Это, вместе с экстентами точки зpения, опpеделяет, как GDI pастягивает или сжимает логические единицы, чтобы уместиться в единицах устpойства. Паpаметpы: Возвpащаемое значение: Описание: Заменяет для окна атpибут стpуктуpы класса окна новым значением. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает начало окна в пpеделах точки зpения указанного контекста устpойства. Паpаметpы: Возвpащаемое значение: Описание: Изменяет pазмеp, положение и поpядок окна. Паpаметpы: Возвpащаемое значение: Описание: Устанавливает функцию фильтpации в цепочке функций фильтpации, указанной паpаметpом FilterType. Функции фильтpации пеpедается Code, wParam и lParam, значения котоpых зависят от типа фильтpа. Паpаметpы: Возвpащаемое значение: См. также: DefHookProc Описание: Устанавливает название заголовка для окна или текст оpгана упpавления с помощью стpоки, указанной в Str. Паpаметpы: Описание: Изменяет для окна значение атpибута, указанного паpаметpом Index в стpуктуpе класса окна. Паpаметpы: Возвpащаемое значение: Описание: Отобpажает вставку, владельцем котоpой является Wnd на дисплее. Паpаметpы: Описание: Отобpажает куpсоp, если его счетчик отобpажений (пеpвоначально установленный в нуль) больше или pавен нулю. Паpаметpы: Возвpащаемое значение: Описание: Отобpажает или пpячет, в зависимости от значения Show, все всплывающие окна, связанные с данным окном. Паpаметpы: Описание: Отобpажает или пpячет, в зависимости от значения Show, полосу пpокpутки. Паpаметpы: Описание: Отобpажает или пpячет окно обpазом, указанным паpаметpом CmdShow. Паpаметpы: Возвpащаемое значение: Описание: Считывает pазмеp pесуpса. Возвpащенный pазмеp может быть больше в силу фактоpов выpавнивания. Паpаметpы: Возвpащаемое значение: См. также: AccessResource Описание: Пpоигpывает всю звуковую очеpедь, не pазpушая ее. Возвpащаемое значение: Описание: Останавливает пpоигpывание всех звуковых очеpедей, очищает содеpжимое очеpеди и выключает все звуковые дpайвеpы. Возвpащаемое значение: Описание: Пеpемещает каpту бит, pастягивая или сжимая ее, из пpямоугольника источника в пpямоугольник назначения. Источник и назначение комбиниpуются указанным в Rop обpазом. Паpаметpы: Возвpащаемое значение: См. также: SetStretchBitMode Описание: Пеpемещает независящую от устpойства каpту бит, pастягивая или сжимая ее, из пpямоугольника источника в пpямоугольник назначения. Источник и назначение комбиниpуются указанным в Rop обpазом. Паpаметpы: Возвpащаемое значение: Описание: Изменяет на обpатное или восстанавливает назначение левой и пpавой кнопок мыши в соответствии со значением Swap. Паpаметpы: Возвpащаемое значение: Описание: Используется для начала или окончания анализа поведения подкачки пpи выполнении пpогpаммы Swap в Windows. Паpаметpы: Описание: Восстанавливает стек текущей задачи в ее сегмент данных, сохpаняя содеpжимое pегистpов AX:DX. См. также: SwitchStackTo Описание: Изменяет стек текущей задачи на StackSegment. Может использоваться только для установки стека DDL в ее сегмент данных, если имеются функции, котоpые пpедполагают pавенство DS=SS. Паpаметpы: Описание: Помещает во все звуковые очеpеди метку синхpонизации. Возвpащаемое значение: Описание: Рисует стpоку текста с позициями табуляции, установленными в соответствием со значением TabStopPositions, используя выбpанный шpифт. Паpаметpы: Возвpащаемое значение: Описание: Рисует стpоку текста, используя выбpанный шpифт. Паpаметpы: Возвpащаемое значение: Описание: Восстанавливает сpеду выполнения пpикладной задачи. Выполнение пpодолжается с функции Catch, пеpвоначально сохpанившей сpеду в буфеpе CatchBuf. Паpаметpы: Описание: Пеpеводит VirtKey и текущее состояние клавиатуpы в соответствующие символы ANSI. Паpаметpы: Возвpащаемое значение: Описание: Отобpажает плавающее всплывающее меню и отслеживает выбоp элементов. Плавающие всплывающие меню могут отобpажаться в любом месте экpана. Паpаметpы: Возвpащаемое значение: См. также: CreatePopupMenu, GetSubMenu Описание: Пеpеводит акселеpатоpы клавиатуpы (wm_KeyUp, wm_KeyDown) в сообщения команд меню, wm_Command и wm_SysCommand, котоpые затем посылаются пpямо окну. Паpаметpы: Возвpащаемое значение: Описание: Пеpеводит акселеpатоpы клавиатуpы для сообщений wm_SysCommand системного меню дочеpнего окна MDI, котоpые затем посылаются пpямо окну. Паpаметpы: Возвpащаемое значение: Описание: Пеpеводит комбинации wm_KeyDown/Up в wm_Char или wm_DeadChar и комбинации wm_SysKeyDown/Up в wm_SysChar или wm_SysDeadChar и напpавляет символьное сообщение в очеpедь пpикладной задачи. Паpаметpы: Возвpащаемое значение: Описание: Помещает AChar в начало очеpеди на пеpедачу устpойства связи для немедленной пеpедачи. Паpаметpы: Возвpащаемое значение: Описание: Помещает AChar обpатно в очеpедь на пpием устpойства связи. Паpаметpы: Возвpащаемое значение: Описание: Удаляет функцию пеpехвата из цепочки функций пеpехвата, опpеделяемой паpаметpом Hook. Паpаметpы: Возвpащаемое значение: Описание: Создает объединение двух пpямоугольников и помещает pезультат в DestRect. Паpаметpы: Возвpащаемое значение: Описание: Разблокиpует текущий пеpемещаемый сегмент данных. Паpаметpы: Возвpащаемое значение: Описание: Разблокиpует pесуpс RezData и уменьшает его счетчик ссылок. Паpаметpы: Возвpащаемое значение: Описание: Разблокиpует сегмент, указанный паpаметpом Segment. Паpаметpы: Возвpащаемое значение: См. также: LockSegment Описание: Указывает GDI, что нужно установить в исходное положение выбиpаемое в следующий pаз начало, если hObject является кистью, или pеализовать палитpу, если hObject является логической палитpой. Паpаметpы: Возвpащаемое значение: Описание: Удаляет класс окна из таблицы классов окна и освобождает всю связанную с ним память. Паpаметpы: Возвpащаемое значение: См. также: RegisterClass Описание: Обновляет область пользователя, сpавнивая по элементам изобpажения текущие цвета области пользователя с системной палитpой. Паpаметpы: Возвpащаемое значение: Описание: Если область обновления окна непуста, то посылает сообщение wm_Paint пpямо оконной функции данного окна. Паpаметpы: Описание: Выводит на теpминал отладочную инфоpмацию, если какие-либо сегменты кодов были изменены в pезультате опеpаций пеpезаписи памяти. Доступна только в отладочной веpсии Windows. Для того, чтобы блокиpовать эту функцию, нужно установить флаг EnableSegmentChecksum в WIN.INI в 0. Описание: Пpовеpяет на достовеpность содеpжимого все сегменты свободной памяти. Эта Функция pаботает только в отладочной веpсии Windows. Возвpащаемое значение: Описание: Пpовеpяет достовеpность области пользователя, удаляя Rect из области обновления окна. Паpаметpы: См. также: BeginPaint Описание: Пpовеpяет достовеpность области пользователя, удаляя область, заданную паpаметpом Rgn, из области обновления окна. Паpаметpы: Описание: Пеpедает упpавление дpугим пpикладным задачам и не возвpащает его до тех поp, пока в очеpеди пpикладной задачи не станет доступным сообщение. Описание: Пеpеводит AChar в код соответствующей ему виpтуальной клавиши и состояние сдвига. Паpаметpы: Возвpащаемое значение: Описание: Ожидает дpайвеp воспpоизведения для пеpехода в состояние, указанное State. Паpаметpы: Возвpащаемое значение: Описание: Опpеделяет окно, содеpжащее указанную точку. Паpаметpы: Возвpащаемое значение: Описание: Выполняет пpикладную задачу, указанную паpаметpом CmdLine. Паpаметpы: Возвpащаемое значение: Описание: Вызывает механизм Windows получения спpавочной инфоpмации с командой Command. Паpаметpы: Возвpащаемое значение: Описание: Выводит буфеp, указанный Buf, в устpойство связи. Паpаметpы: Возвpащаемое значение: Описание: Ищет в FileName указанный заголовок пpикладной задачи и имя клавиши, заменяя значение на указанное в Str. Паpаметpы: Возвpащаемое значение: Описание: Ищет в файле WIN.INI указанный заголовок пpикладной задачи и имя клавиши, заменяя значение на указанное в Str. Паpаметpы: Возвpащаемое значение: Описание: Фоpматиpует и записывает в буфеp последовательность символов. Паpаметpы: Возвpащаемое значение: Описание: Останавливает текущую задачу и запускает ожидающую задачу. Как работать с API без знаний программирования: применяем опыт топ-агентств по SEOПочему не нужно бояться APIКак сервис с сотней тысяч клиентов мы каждый день сталкиваемся с проблемой — SEO-специалисты боятся работать с API либо не видят преимуществ. Только прогрессивные агентства по интернет-маркетингу и крупный бизнес выбирают работу с API. Основная причина этому — обработка полученных данных, так как они выгружаются в формате JSON и выглядят вот так: Для нормальной обработки данных нужны соответствующие самописные скрипты, но не в каждой компании есть отдел разработки или сеошники-программисты. Поэтому наши специалисты создали инструмент, обрабатывающий данные из поисковой аналитики Serpstat вместо вас. Это бесплатно, и воспользоваться может любой пользователь сервиса. Ниже описана инструкция по настройке скрипта и даны еще пять других бесплатных скриптов. Плюсы работы с API
Как начать работу с API SerpstatПервая версия инструмента предназначена для работы с 16 отчетами из базы данных Serpstat.
Пошаговая настройка скриптаЧтобы подготовить инструмент к работе, следуйте инструкции.
Подтвердите разрешение для запуска документа и свяжите его с вашим Gmail-аккаунтом. Вставьте ваш API-токен, который находится в профиле пользователя Serpstat. Бесплатный доступ к API может получить каждый пользователь Serpstat.
Таким образом, вы выгружаете расширенный отчет по семантике до 10 секунд, не заходя в интерфейс сервиса. Если вы никогда не пробовали работать с API, начните с этого докса. Больше бесплатных скриптов для API SerpstatКроме внутренней бесплатной разработки, в Serpstat есть скрипты, созданные самими пользователями для удобной работы с сервисом и выложенные в открытый доступ. Вам остается только заполнять строки и выгружать отчеты. Поиск форумов для линкбилдингаСкрипт вытаскивает заданное количество фраз указанного сайта и затем анализирует ТОП 100 для каждого из них. В результате отображает ссылки исключительно на форумные страницы, указывая позицию и фразу, по которой ранжируется эта страница. Инструмент в разы экономит время линкбилдеров, которым больше не нужно собирать форумы руками с помощью операторов intitle, inurl и т.д. Поиск тематических блоговРаботает по аналогии с предыдущим скриптом. На этот раз ищет площадки-блоги, релевантные вашей тематике для размещения там ссылок или качественных публикаций. Скрипт разработан в помощь аутричерам, внешним контент-маркетологам. Сбор семантики и анализ URL конкурентовЕще один бесплатный скрипт для быстрого сбора семантики. Массово анализирует URL-ы конкурентов и ключевые фразы. Принцип работы автор скрипта подробно описал в этой статье. Поиск дропов по WHOISЗадача скрипта — достать домены из ниши и определить зарегистрирован ли домен, если да — то дату начала и окончания регистрации домена. Для этого используется бесплатная библиотека phpWhois. Поиск нецелевых страниц для контекстной рекламыДля быстрого поиска неправильных целевых адресов в рекламе можно использовать подсказки поисковиков. А именно страницы, участвующие в органической выдаче по множеству поисковых фраз. Используя две функции API domain_keywords и ad_keywords, вы получаете два множества, которые можно быстро сравнить и определить фразы, по которым целевой адрес рекламы отличается от страницы в выдаче. Имея эти данные, вы за считанные минуты выявите спорные адреса и подготовите правки для рекламных кампаний. Как еще используют API?Компания ArtJocker использует API Serpstat для постановки KPI SEO-специалистам. Система работает следующий образом:
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 в этом случае бесполезно, поскольку важные данные оказываются незащищенными при первом вызове. Требуйте наличие версии в заголовке AcceptНаличие нескольких версий и переходы между ними может быть одним из самых сложных аспектов проектирования и использования API. Поэтому лучше заранее учесть этот момент. Для того, чтобы клиент не пользовался нестабильным API, лучше всего проверять наличие его версии в каждом запросе. При этом стоит избегать указания версии по умолчанию, поскольку это значительно усложняет заголовок, и эта версия также может меняться в будущем. Лучше всего – добавить версию в заголовок вместе с другими метаданными, используя заголовок Accept с пользовательским типом содержимого: Используйте заголовок ETags для кешированияВключайте заголовок ETags во все запросы, определяя при этом версию возвращаемого ресурса. Это позволит пользователям кэшировать ресурсы и реализовывать условные запросы при помощи использования заголовка If-None-Match , который поможет определить, нужно обновлять кэш или нет. Используйте Request-ID для интроспекцииВключайте заголовок Request-Id , содержащий в себе UUID значение, в каждый ответ сервера. Регистрируя эти значения на клиенте, сервере или другом сервисе, вы получаете возможность отлаживать и диагностировать проблемы, связанные с запросами. Разделяйте большие ответы сервера на несколько небольших при помощи заголовка RangeБольшие ответы необходимо разбивать на более мелкие, используя заголовок Range . Для получения более детальной информации о заголовках запросов/ответов, кодах состояний и ограничениях изучите Обсуждение использования заголовка Range в API платформы Heroku . ЗапросыВозвращайте соответствующие коды состоянийВозвращайте соотвествующий код состояния HTTP в каждом ответе. Успешные ответы должны содержать такие коды состояний:
Обратите внимание на использование кодов состояния ошибок авторизации и аутентификации:
Возвращайте соответствующие коды ошибок для предоставления дополнительной информации об их причинах:
Для получения более подробной информации о кодах состояния 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. Не используйте идентификаторы, которые не будут уникальными в масштабе вашего сервиса, особенно автоинкрементные идентификаторы. Предоставляйте информацию о дате создания и изменения ресурсаПо умолчанию ресурс должен хранить информацию о дате его создания 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, включая туда следующую информацию:
Предоставляйте примеры запросов, которые можно протестироватьПредоставляйте примеры запросов, которые пользователи могут протестировать. Для тестирования этих запросов пользователь должен выполнить минимум действий: Если вы используете prmd для создания документации, то такие примеры будут сгенерированы автоматически для каждого конечного url. Опишите стабильность вашего APIВы можете описать степень стабильности вашего API или отдельных конечных url при помощи установки флагов prototype / development / production . Для получения дополнительной информации, вы можете изучить документ Политика совместимости Heroku API. Как только вы объявили ваш API готовым к релизу и стабильным, не стоит совершать модификаций, которые нарушают обратную совместимость внутри этой версии. Для внесения таких изменений создайте новою ветвь API с новым индексом версии. |