Исходники Delphi

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

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

Меню

Не доступно

Не доступно

Опрос

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

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

Главная » 2013 » Февраль » 17 » Работа с ini файлами в Delphi.
20:15
Работа с ini файлами в Delphi.
Работа с 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;

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


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

Здесь html код

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

Здесь html код

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

Здесь html код

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

Здесь html код

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