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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Сохранение параметров формы в реестре

procedure TForm1.OKClick(Sender: TObject);

begin

SaveFilter();

//Выполняем требуемые действия…

end;

//Процедура сохраняет параметры в реестр

procedure TForm1.SaveFilter();

var

reg: TRegistry; //По умолчанию: RootKey = HKEY_CURRENT_USER

strShops: String;

i: Integer;

begin

reg := TRegistry.Create();

try

//Открываем или создаем раздел, в котором будут

//сохранены параметры формы

reg.OpenKey(strBaseKey + \'\Form1\', True);

//Сохранение параметров

//1. Размер и положение формы

reg.WriteInteger(\'Width\', Width);

reg.WriteInteger(\'Height\', Height);

reg.WriteInteger(\'Top\', Top);

reg.WriteInteger(\'Left\', Left);

//2. Последнее введенное наименование

reg.WriteString(\'txtName.Text\', txtName.Text);

//3. Выбранные магазины

strShops := \'\

for i := 0 to lstShops.Count–1 do

if lstShops.Selected[i] then

strShops := strShops + lstShops.Items[i] + \',\

reg.WriteString(\'lstShops.Selection\', strShops);

//4. Применение сортировки

reg.WriteBool(\'chkSort.Checked\', chkSort.Checked);

except

on ERegistryException do

MessageBox(Handle, \'Ошибка при сохранении фильтра\',

\'Поиск товара\', MB_ICONEXCLAMATION)

;

end;

reg.CloseKey();

reg.Free();

end;

В рассматриваемом примере константа strBaseKey, определяющая положение раздела для сохранения настроек, задана следующим образом:

...

const

strBasekey = \'Software\Delphi. Трюки и эффекты\Настройки программы\

Открыв Редактор реестра, можно удостовериться в правильном сохранении требуемых нам параметров (рис. 7.8).

Рис. 7.8. Параметры формы, записанные в реестр

Считывание параметров формы можно производить, например, при ее создании. Тогда в обработчике события Create достаточно поместить вызов процедуры LoadFilter (листинг 7.15).

...

Листинг 7.15.

Загрузка параметров формы из реестра

procedure TForm1.FormCreate(Sender: TObject);

begin

LoadFilter();

end;

//Процедура загружает параметры из реестра

procedure TForm1.LoadFilter();

var

reg: TRegistry; //По умолчанию: RootKey = HKEY_CURRENT_USER

strShops: String;

shopStart, shopEnd: Integer;

begin

reg := TRegistry.Create();

try

//Открываем раздел, в котором сохранены параметры формы

reg.OpenKey(strBaseKey + \'\Form1\', False);

//Загрузка сохраненных ранее параметров

//1. Размер и положение формы

Width := reg.ReadInteger(\'Width\');

Height := reg.ReadInteger(\'Height\');

Top := reg.ReadInteger(\'Top\');

Left := reg.ReadInteger(\'Left\');

//2. Последнее введенное наименование

txtName.Text := reg.ReadString(\'txtName.Text\');

//3. Выбранные в прошлый раз магазины

strShops := reg.ReadString(\'lstShops.Selection\');

shopStart := 1;

for shopEnd := 0 to Length(strShops) do

if strShops[shopEnd] = \',\' then

begin

//Получение имени магазина и выделение его в списке

SelectShop(Copy(strShops, shopStart,

shopEnd – shopStart));

shopStart := shopEnd + 1;

end;

//4. Применение сортировки

chkSort.Checked := reg.ReadBool(\'chkSort.Checked\');

except

on ERegistryException do

//Игнорируем ошибки (просто не

//будут зачитаны данные из реестра,

//например, при первом запуске программы)

;

end;

reg.CloseKey();

reg.Free();

end;

//Процедура выделяет магазин с заданным названием

//(если он есть в списке)

procedure TForm1.SelectShop(strShopName: String);

var

i: Integer;

begin

for i := 0 to lstShops.Count–1 do

if lstShops.Items[i] = strShopName then

begin

lstShops.Selected[i] := True;

Exit;

end;

end;

Некоторая сложность алгоритма загрузки списка выбранных магазинов обусловлена желанием добиться того, чтобы при изменении списка не выделялись ранее не выбранные магазины (иначе можно было бы просто сохранять индексы).

...

Примечание

Чтобы при первом запуске процедуры LoadFilter не появлялись сообщения об исключениях (при работе в отладчике Delphi), снимите флажок Stop on Delphi Exceptions на вкладке Language Exceptions диалогового окна Debugger Options (меню Tools → Debugger Options).

Автозапуск программ

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

Итак, в ветвях реестра HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE находятся разделы Software\Microsoft\Windows\CurrentVersion\Runи Software\ Microsof t\Windows\CurrentVersion\RunOnce. В первом (Run) сохраняются пути приложений, запускаемых при каждой загрузке Windows. В разделе же RunOnce обычно регистрируются приложения типа инсталляторов, которые запускаются при первой с момента регистрации перезагрузке Windows, но до запуска программы Проводник.При запуске приложения, зарегистрированного в ключе RunOnce, соответствующая запись из этого раздела автоматически удаляется.

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

Интервал:

Закладка:

Сделать

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

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


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

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

x