Работа с INI файлами Delphi
Порой вам требуется записать какую либо информацию из программы, но использовать реестр нет возможности или просто ненужно. Для таких операций используют ini файлы. В них легко записать информацию любого характера, а также считать её.
1) Создать новый проект и подключить библиотеку IniFiles в uses.
2) Записать в глобальную переменную новый класс IniFile и объявить как TIniFile.
3) На открытие формы необходимо подключить автоматическую загрузку файла (также можно сделать по нажатию определённой кнопки).
4) Начать работать с переменными. Ниже будет предоставлен полный список задач, которые вы могли бы реализовать в своей программе.
Результат который должен получится:
Процедуры записи ini файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// запись текста 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); |
Процедуры чтения ini файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// чтение строки 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; |
В заключении хочется сказать, что данный способ не совсем безопасен так как вы храните свои данные в чистом виде, но для каких либо логов это идеал. Но если вам необходимо защитить все данные которые у вас есть в этих файлах рекомендуем использовать хеширование base64 добавляя свой уникальный шифр. Например слова любимой песни в любой кодировке и тому подобное.