Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 4
Всего онлайн: 4
Зарегистрировано юзеров: 6501
Комментариев на сайте: 647
Новый юзер: KajinDral



Последние комментарии
c
Cmertb06 прокомментировал "Урок 1 - Инициализация OpenGL":
Возможно ли рисовать на экране? Например у Screen.Monitors[0] есть свойство Handle?
Aqel прокомментировал "Урок 71 - Работа с сжатыми файлами":
uses ...sevenzip, ... function ProgressCallback(sender: Pointer; total: boolean; value: int64): HRESULT; stdcall; begin if total then Form1.sprgrsbr1.Max:= value else Form1.sprgrsbr1.Position:= value; Result:= S_OK; end; function Decompress(FileName, DestDir, ArcFname: String; ArcDir: Boolean ): Boolean; var i: Integer; ItP: string; items: array[1..11] of Cardinal; sprgrsbr1: TsProgressBar; begin Result:= False; Application.ProcessMessages; try with CreateInArchive(CLSID_CFormat7z) do begin OpenFile(FileName); SetProgressCallback(sprgrsbr1, ProgressCallback); for i:= 1 to NumberOfItems - 1 do if not ItemIsFolder[i] then //ExtractItem(items[i], Steam, False); - как ей пользоваться в душе не понимаю... ExtractTo(DestDir); end; finally Result:= True; end; end;

INI файлы

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

ini-файлы имеют следующий формат:

[Section1]
var1 = значение_1
var2 = значение_2
 
[Section2]
var1 = значение_1
var2 = значение_2
  Предположим, что пользователь запустил и переместил программу в правый нижний угол экрана (для экономии места), поработал с ней и закрыл. Прошло некоторое количество времени, и пользователь опять запустил программу, но она появилась в центре экрана (как указал ей разработчик). Что остается делать пользователю? Он опять перемещает ее в угол и так повторяется при каждом запуске программы. А теперь представьте, что в программе таких не сохраняющихся настроек более 100! Ужас!
Для того чтобы оградить пользователя от страшных мук, научим программу запоминать место появления на экране.

Создаем новый проект, добавим inifiles в секцию Uses и в процедуре FormCreate запишем код:
procedure TForm1.FormCreate(Sender: TObject);
var Vars: Tinifile; //Переменная для работы с ini-файлами
begin
//Создаем переменную с адресом до ini-файла
Vars := TiniFile.Create(extractfilepath(paramstr(0))+'settings.ini');
//Считывание ('секция', 'значение переменной', 'значение, если файл или переменная не найдены')
Form1.Left := Vars.ReadInteger('Form','Left',255); //Считываем значение
Form1.Top := Vars.ReadInteger('Form','Top',209); //Считываем значение
Vars.Free; //Разрушаем переменную
end;
  Вот сейчас программа будет считывать настройки из файла settings.ini, но считывать пока нечего. Научим программу сохранять настройки. Чтобы не перегружать программу и не сохранять настройки каждую секунду, лучше сохранять при закрытии программы.
Код в FormClose:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
var Vars: Tinifile; //Переменная для работы с ini-файлами
begin
//Создаем переменную с адресом до ini-файла
Vars := TiniFile.Create(extractfilepath(paramstr(0))+'settings.ini');
//Запись ('секция', 'переменная', 'значение')
Vars.WriteInteger('Form','Left',Form1.Left); //Записываем отступ слева
Vars.WriteInteger('Form','Top',Form1.Top); //Записываем отступ сверху
Vars.Free; //Разрушаем переменную
end;
В итоге, файл settings.ini должен иметь содержание похожее на это:
[Form]
Left=10
Top=10
Вот и всё, Удачи!

Зарегистрируйтесь или авторизуйтесь, чтобы скачать.

Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 18 Мая 2012
Просмотров: 5771


Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.