Валерий Борисок - Delphi. Трюки и эффекты

Здесь есть возможность читать онлайн «Валерий Борисок - Delphi. Трюки и эффекты» — ознакомительный отрывок электронной книги совершенно бесплатно, а после прочтения отрывка купить полную версию. В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программы, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Delphi. Трюки и эффекты: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Delphi. Трюки и эффекты»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

«Delphi. Трюки и эффекты», как и все издания данной серии, адресована тем, кто хочет научиться делать с помощью уже знакомых программных пакетов новые, интересные вещи. В первой части книги многое говорится о среде разработки Delphi (самых последних версий) и программировании на языке Object Pascal. Благодаря этому издание подходит и новичкам, и начинающим программистам. Вторая (основная) часть книги описывает удивительные возможности, скрытые в языке, и на примерах учит читателя программистским фокусам – от «мышек-невидимок» и «непослушных окон» до воспроизведения МРЗ и управления офисными программами Word и Excel из приложений Delphi. Купив эту книгу, вы пройдете непростой путь к вершинам программистского мастерства весело и интересно.

Delphi. Трюки и эффекты — читать онлайн ознакомительный отрывок

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

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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. Собранная информация о системе питания

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

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

Состояние памяти компьютера

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

Итак, получить состояние памяти компьютера можно при помощи API-функции GlobalMemoryStatus. Данная функция принимает в качестве параметра структуру TMemoryStatus, заполняет ее поля значениями и в случае успеха возвращает отличное от нуля число. Объявление структуры TMemoryStatus с комментариями роли ее полей приводится ниже:
...

TMemoryStatus = record

dwLength: DWORD; //Размер структуры (байт)

dwMemoryLoad: DWORD; //Процент загрузки физической памяти

dwTotalPhys: DWORD; //Полный объем физической памяти

dwAvailPhys: DWORD; //Объем свободной оперативной памяти

dwTotalPageFile: DWORD; //Полный объем файла подкачки

dwAvailPageFile: DWORD; //Объем свободного пространства

//в файле подкачки

dwTotalVirtual: DWORD; //Полный объем виртуальной памяти

dwAvailVirtual: DWORD; //Объем свободной виртуальной памяти

end;

Два последние поля структуры TMemoryStatus относятся к приложению, вызывающему функцию GlobalMemoryStatus. Они рассмотрены чуть ниже. Пример использования функции GlobalMemoryStatus приведен в листинге 7.6.

...

Листинг 7.6.

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

procedure TForm1.LoadMemoryInfo();

var

memStat: TMemoryStatus;

begin

memStat.dwLength := SizeOf(memStat);

//Получение информации о загрузке памяти

GlobalMemoryStatus(memStat);

//Заполнение полей формы

//..% использования памяти

pbMemUsage.Position := memStat.dwMemoryLoad;

lblMemUsage.Caption := IntToStr(memStat.dwMemoryLoad) + \'%\

//..использование оперативной памяти

txtMemTotal.Text := IntToStr(memStat.dwTotalPhys div 1024);

txtMemAvail.Text := InttoStr(memStat.dwAvailPhys div 1024);

//..использование файла подкачки

txtPageTotal.Text := IntToStr(memStat.dwTotalPageFile div 1024);

txtPageAvail.Text := InttoStr(memStat.dwAvailPageFile div 1024);

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Delphi. Трюки и эффекты»

Представляем Вашему вниманию похожие книги на «Delphi. Трюки и эффекты» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Delphi. Трюки и эффекты»

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

x