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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

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

txtVirtualTotal.Text := IntToStr(memStat.dwTotalVirtual div 1024);

txtVirtualAvail.Text := InttoStr(memStat.dwAvailVirtual div 1024);

end;

Внешний вид формы, элементы управления которой заполняются значениями в листинге 7.6, показан на рис. 7.3.

Рис. 7.3. Программа для определения состояния памяти компьютера

Напоследок рассмотрим (несколько упрощенно), что за результаты выводятся в текстовых полях формы, для тех, кто немного не в курсе, как организовано управление памятью в ОС Windows.

Итак, каждому процессу Windows предоставляет адресное пространство (виртуальное) размером чуть меньше 2 Гбайт. В отличие от 16-битных предшественниц, в 32-битных Windows адресные пространства различных процессов являются закрытыми: приложение использует память (а точнее, младшие 2 Гбайт адресного пространства) единолично и не может без дополнительных усилий манипулировать данными других процессов. Значения в двух последних полях CTpyKTypbiTMemoryStatus (и нижняя группа текстовых полей на форме рис. 7.3) как раз и показывают использование приложением предоставляемого ему адресного пространства.

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

Теперь вернемся к форме, показанной на рис. 7.3. Группа текстовых полей Оперативная память показывает полный и свободный объем реально установленной на компьютере оперативной памяти (за вычетом памяти, используемой для системных нужд). Использование этого вида памяти иллюстрирует индикаторРгодгезБВаг на форме. Назначение правой группы текстовых полей (Файл подкачки) должно быть также очевидным.

Из цифр, выведенных в текстовые поля на форме (рис. 7.3), можно также определить, что общий объем памяти, доступной приложениям (всего было запущено 30 процессов), на испытуемом компьютере составлял около 1,26 Гбайт. Если представить, что память использовалась всеми процессами одинаково, то получается примерно 43 Мбайт на каждого, не считая памяти, резервируемой для самой ОС Windows.

7.2. Системное время

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

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

Давно ли запущена операционная система?

С момента своего запуска Windows начинает наращивание значения специального счетчика, показывающего количество «тиков» (в миллисекундах), прошедших с момента запуска системы.

Таким образом, этот системный счетчик «тиков» можно использовать как для определения времени работы системы, так и для измерения временных интервалов. Для доступа к нему можно использовать API-функцию GetTickCount. Она не имеет параметров и возвращает целочисленное 32-битное значение.

Приведенная в листинге 7.7. функция GetSystemWorkTime демонстрирует использование счетчика «тиков» для определения времени работы системы в часах, минутах и секундах.

...

Листинг 7.7.

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

function GetSystemWorkTime(): String;

var

ticks: DWORD;

hh, mm, ss: Cardinal;

begin

//Получаем количество миллисекунд с момента старта системы

ticks := GetTickCount();

//Переводим в секунды

ticks := ticks div 1000;

//Получаем количество часов, минут, секунд

hh := ticks div 3600;

Dec(ticks, hh * 3600);

mm := ticks div 60;

Dec(ticks, mm * 60);

ss := ticks;

GetSystemWorkTime := IntToStr(hh) + \':\' +

IntToStr(mm) + \':\' + IntToStr(ss);

end;

Из-за относительно малой разрядности значение счетчика обнуляется приблизительно каждые 49,7 суток, что следует учитывать при измерении длительных интервалов или если измерение времени начинается после длительной работы системы (например, начало измерения выпадает на 50-е сутки за час до обнуления счетчика).

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

Интервал:

Закладка:

Сделать

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

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


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

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

x