Читаем Delphi. Трюки и эффекты полностью

Листинг 6.14.

Обработчик события OnPaint

procedure TfmAlphaBlending.FormPaint(Sender: TObject);

var

hCurDC: HDC;

hCurBrush, hOldBrush: HBRUSH;

begin

hCurDC := GetDC(Handle);

hCurBrush := CreateSolidBrush(RGB(0, 0, 64));

FillRect(hCurDC, Rect(0, 0, Width, Height), hCurBrush);

DrawAlphaBlend(Handle, hCurDC);

DeleteObject(hCurBrush);

ReleaseDC(Handle, hCurDC);

end;

Теперь осталось только взглянуть на результат нашей работы, запустив приложение (рис. 6.4).

Рис. 6.4. Результат работы приложения «Alpha-смешивание точечного рисунка»

На этом закончим рассмотрение работы с графикой в Delphi.

<p>Глава 7 Системная информация и реестр Windows</p>

• Системная информация

• Системное время

• Реестр

Возникала ли у вас необходимость программно определить текущее состояние компьютера или узнать какие-нибудь сведения об операционной системе? Можно только удивляться, как близко – практически «под носом» у программиста – находятся средства для получения системной информации и как сложно о них узнать. Речь идет о средствах, которые всегда доступны при программировании для Windows – функции Windows API.

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

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

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

<p>7.1. Системная информация</p>

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

Версия операционной системы

Получение сведений об операционной системе хотя и не является повседневной необходимостью, но все же в некоторых специфичных случаях может пригодиться. Например, когда ваша программа ведет себя по-разному при разных установленных обновлениях Windows. Либо когда вы самостоятельно пишете инсталлятор, который способен устанавливать версии программы, скомпилированные для Windows Me (95, 98) или Windows NT (2000, ХР).

Одним из способов узнать версию Windows является использование API-функции GetVersionEx. Она принимает в качестве параметра структуру OSVERSIONINFO (или OSVERSIONINFOEX, но об этом позже), заполняет поля этой структуры и в случае удачи возвращает ненулевое значение.

Объявление ANSI-версии структуры OSVERSIONINFO в библиотеке Delphi 7 выглядит следующим образом:

...

OSVERSIONINFOA = record

dwOSVersionInfoSize: DWORD; //Размер структуры

dwMajorVersion: DWORD; //Старшая часть версии ОС Windows

dwMinorVersion: DWORD; //Младшая часть версии

dwBuildNumber: DWORD; //Номер сборки операционной системы

dwPlatformId: DWORD; //Идентификатор платформы Windows

szCSDVersion: array[0..127] of AnsiChar; //Дополнительные

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

end;

Перейти на страницу:

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Язык программирования Euphoria. Справочное руководство
Язык программирования Euphoria. Справочное руководство

Euphoria (юфо'ри, также рус. эйфори'я, ра'дость) — язык программирования, созданный Робертом Крейгом (Rapid Deployment Software) в Канаде, Торонто. Название Euphoria — это акроним для «End-User Programming with Hierarchical Objects for Robust Interpreted Applications».Euphoria — интерпретируемый императивный язык высокого уровня общего назначения. C помощью транслятора из исходного кода на Euphoria может быть сгенерирован исходный код на языке Си, который в свою очередь может быть скомпилирован в исполнияемый файл или динамическую библиотеку при помощи таких компиляторов, как GCC, OpenWatcom и др. Программа Euphoria также может быть «связана» с интерпретатором для получения самостоятельного исполняемого файла. Поддерживается несколько GUI-библиотек, включая Win32lib и оберток для wxWidgets, GTK+ и IUP. Euphoria имеет встроенную простую систему баз данных и обертки для работы с другими типам баз данных.[Материал из Википедии]

Коллектив авторов

Программирование, программы, базы данных