Исходники Delphi

Добро пожаловать на наш портал

На нашем сайте ежедневно публикуются десятки качественных и свежих материалов, которые Вы можете скачать абсолютно бесплатно. Рекомендуем Вам добавить Наш сайт в закладки, а также подписаться на RSS ленту, чтобы не пропускать интересных новостей.
Стартовая Избранное Главная Контакты Карта сайта

Меню

Не доступно

Не доступно

Опрос

Оцените мой сайт

Проголосовало: 118
Другие опросы

Главная » Файлы » Исходники Delphi » Разное

ini файлы
16.02.2013, 20:53
Работа с ini файлами в Delphi.
Вот и новый урок.

Пора узнать о работе с файлами типа ini. Ини файлы делятся на секции, ключи, значения. Секции хранят в себе ключи, ключи в себе значения. В них можно хранить какие угодно значения, но в основном их используют для хранения настроек программы. Вот пример открытого ини файла:
[Form1] // секция
Width=640 // ключ=значение
Height=480 // ключ=значение
Left=250 // ключ=значение
Top=350 // ключ=значение
Для работы с ини обязательно понадобиться добавить в раздел uses модуль IniFiles и создать переменную типа TIniFile. Желательно сделать так:
var
Form1: TForm1;
Ini:TIniFile;
Ну вот, теперь на создание формы(событие onCreate) необходимо инициализировать переменную(создать файл, либо же открыть, если он существует):
Код
procedure TForm1.FormCreate(Sender:TObject);
begin
Ini:=TIniFile.Create('Form1.ini');
end;[/colde]
Если написать имя файла без полного пути, то получится, что он создастся в папке Windows, а нам навряд ли это нам надо. Для этого надо сделать так:
Ini:=TIniFile.Create(ExtractFilePath(Application.ExeName)+'Form1.ini');
Это создаст ини файл рядом с нашей программой.
Процедура записи строки:
WriteString(const Section, Ident, Value: string);
Процедура записи цифры:
WriteInteger(const Section, Ident: string; Value: Longint);
Процедура записи булевого выражения:
WriteBool(const Section, Ident: string; Value: Boolean);
Запись даты:
WriteDate(const Section, Name: string; Value: TDateTime);
Запись время:
WriteTime(const Section, Name: string; Value: TDateTime);
Запись даты и время вместе:
WriteDateTime(const Section, Name: string; Value: TDateTime);
Запись не целого численного значения:
WriteFloat(const Section, Name: string; Value: Double);
Запись потока:
WriteBinaryStream(const Section, Name: string;Value: TStream);
Это основные процедуры записи, так же есть и чтения:
ReadString(const Section, Ident, Default: string): string;
ReadInteger(const Section, Ident: string; Default: Longint): Longint;
ReadBool(const Section, Ident: string; Default: Boolean): Boolean;
ReadBinaryStream(const Section, Name: string; Value: TStream): Integer;
ReadDate(const Section, Name: string; Default: TDateTime): TDateTime;
ReadDateTime(const Section, Name: string; Default: TDateTime): TDateTime;
ReadFloat(const Section, Name: string; Default: Double): Double;
ReadTime(const Section, Name: string; Default: TDateTime): TDateTime;
Другие процедуры и функции для работы с ини-файлами:
Проверка, существует ли секция:
function SectionExists(const Section: string): Boolean;
Прочтение всей секции:
procedure ReadSection(const Section: string; Strings: TStrings);
Прочтение всего файла (все секции записываются в Strings):
procedure ReadSections(Strings: TStrings);
Прочтение всех значений в заданной секции:
procedure ReadSectionValues(const Section: string; Strings: TStrings);
Удалить заданную секцию со всеми её значениями:
procedure EraseSection(const Section: string);
Удаление определённого ключа (и его значения) в секции:
procedure DeleteKey(const Section, Ident: String);
Проверка, существует ли заданный ключ в указанной секции:
function ValueExists(const Section, Ident: string): Boolean;
Теперь вы знакомы с основными процедурами чтения и записи, теперь перейдём к простеньким примерам.
Для начала создадим событие onDestroy на нашей форме и применим следующий код(переменную Ini мы объявляли, как глобальную:
[code]procedure TForm1.FormDestroy(Sender: TObject);
begin
Ini.WriteInteger('Size','Width',form1.width); // секция size, ключ width, значение form1.width
Ini.WriteInteger('Size','Height',form1.height); // секция size, ключ height, значение form1.height
Ini.WriteInteger('Position','X',form1.left); // секция position, ключ x, значение form1.left
Ini.WriteInteger('Position','Y',form1.top); // секция position, ключ y, значение form1.top
Ini.Free;
end;

Итак, на разрушение(закрытие) формы мы записываем значения нашей формы.
Теперь создадите кнопку(Button1, вкладка Standart). А на неё событие onClick(двойной клик по кнопке на форме) и следующий код:
Код

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Width:=Ini.ReadInteger('Size','Width',100);
Form1.Height:=Ini.ReadInteger('Size','Height',100);
Form1.Left:=Ini.ReadInteger('Position','X',10);
Form1.Top:=Ini.WriteInteger('Position','Y',10);
end;

Теперь наша программа при выключении запоминает позиции и размеры формы, а при клике на кнопку их восстанавливает. Не обязательно при клике на кнопку, можно, например, это было сделать на создание формы и т.д.
Категория: Разное | Добавил: Reif
Просмотров: 883 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0


Название блока

Здесь html код

Название блока

Здесь html код

Название блока

Здесь html код

Название блока

Здесь html код

 
Исходники Delphi
Сделать бесплатный сайт с uCoz |