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

Листинг 7.5.

Определение состояния системы питания

procedure TForm1.LoadPowerStatus();

var

batFlags: String;

status: TSystemPowerStatus;

prof_info: THWProfileInfo;

begin

lvwPowerStatus.Clear;

//Получаем информацию о состоянии питания

ZeroMemory(Addr(status), SizeOf(status));

GetSystemPowerStatus(status);

//Заполняем список информацией о состоянии питания

//..подключение к сети

case status.ACLineStatus of

0: AddParam(\'Подключение к сети\', \'Отключен\');

1: AddParam(\'Подключение к сети\', \'Подключен\');

else AddParam(\'Подключение к сети\', \'Неизвестно\');

end;

//..заряд батареи (битовая маска)

if status.BatteryFlag and 1 <> 0 then batFlags := \'Высокий \

if status.BatteryFlag and 2 <> 0 then batFlags := batFlags +

\'Низкий \

if status.BatteryFlag and 4 <> 0 then

batFlags := batFlags + \'Критический \

if status.BatteryFlag and 8 <> 0 then

batFlags := batFlags + \'(Идет зарядка)\

if status.BatteryFlag and 128 <> 0 then

batFlags := batFlags + \'Батарея не установлена\

if status.BatteryFlag = 255 then batFlags := batFlags + \'Не-

известно\

AddParam(\'Заряд батареи\', batFlags);

//..численные характеристики батареи

if status.BatteryLifePercent <> 255 then

AddParam(\'Остаток заряда батареи\',

IntToStr(Integer(status.BatteryLifePercent)))

else

AddParam(\'Остаток заряда батареи\', \'Неизвестно\');

if status.BatteryLifeTime <> Cardinal(–1) then

AddParam(\'Время работы батареи (остаток, сек.)\',

IntToStr(Integer(status.BatteryLifeTime)))

else

AddParam(\'Время работы батареи (остаток, сек.)\', \'Неизвестно\');

if status.BatteryFullLifeTime <> Cardinal(–1) then

AddParam(\'Полное время работы батареи, сек.\',

IntToStr(Integer(status.BatteryFullLifeTime)))

else

AddParam(\'Полное время работы батареи, сек.\', \'Неизвестно\');

end;

В листинге 7.5 для отображения каждого параметра системы питания вызывается процедура AddParam, добавляющая в элемент управления формы название параметра и его значение. Этим элементом управления может быть, например, ListView. Для такого случая возможный результат работы процедуры LoadPowerStatus показан на рис. 7.2.

Рис. 7.2. Собранная информация о системе питания

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

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

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

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

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

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ
Эффективное использование C++. 55 верных способов улучшить структуру и код ваших программ

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

Скотт Мейерс , Скотт Майерс

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