Читать книгу Иcпользование API на Delphi 7 - Сергей Николаевич Талипов - Страница 1

ЛЕКЦИЯ №1

Оглавление

1. РАБОТА С INI – ФАЙЛАМИ

Ini-файл – это текстовый файл, в котором информация сгруппирована по секциям, ключам. Данные файлы широко применяются во многих приложениях и в операционной системе Windows для хранения различных программных данных и настроек пользователя. В таком файле можно хранить, например, положение окон программы, дату, время и продолжительность работы программы, пути к разным данным и данным, выбранные в программе настройки пользователя Ниже приведена структура и пример Ini-файла:


Для работы с Ini-файлами применяется дополнительный модуль Delhi «inifiles». Ссылку на данный модуль необходимо прописать в разделе «uses» работающей с Ini-файлами форме программы. Вся работа с Ini-файлами осуществляется через тип «TiniFile» модуля «inifiles». Основные методы данного типа следующие:


CreateОткрытие Ini-файла для чтения или записи
FreeЗакрытие открытого Ini-файла
UpdateFileОбновляет данные из/в файла на диске
SectionExistsПроверка существования в файле данной секции
ValueExistsПроверка существования в файле ключа в данной секции
ReadSectionsПолучение перечня всех секций файла
EraseSectionУдаление данной секции со всеми ее ключами
DeleteKeyУдаление ключа в данной секции
ReadSectionПолучение перечня ключей данной секции
ReadSectionValuesПолучение значений всех ключей (с именами) данной секции
ReadStringЧтение строкового значения из ключа данной секции
ReadBoolЧтение логического значения из ключа данной секции
ReadDateЧтение даты из ключа данной секции
ReadDateTimeЧтение даты и время из ключа данной секции
ReadFloatЧтение вещественного значения из ключа данной секции
ReadIntegerЧтение целого значения из ключа данной секции
ReadTimeЧтение времени из ключа данной секции
WriteStringЗапись (обновление) строкового значения в ключ данной секции
WriteBoolЗапись логического значения в ключ данной секции
WriteDateЗапись даты в ключ данной секции
WriteDateTimeЗапись даты и времени в ключ данной секции
WriteFloatЗапись вещественного значения в ключ данной секции
WriteIntegerЗапись целого значения в ключ данной секции
WriteTimeЗапись времени в ключ данной секции

Рассмотрим на подробном примере процедуру записи информации в Ini-файл:

procedure TForm1.Button3Click(Sender: TObject);

var t_Ini: TIniFile;

  k: integer; s, path_pr, nfile: string; td: tdatetime;

begin

  k:=736; s:='Okey'; td:=now;

  path_pr:=ExtractFilePath(application.exename) +'tsn.ini';

  t_Ini := TIniFile.Create(nfile);

  try

  with t_Ini do begin

     WriteInteger('TSN', 'str1', k);

     WriteFloat('TSN', 'str2', 736.123);

     WriteString('TSN', 'str3', s);

     WriteDate('TSN', 'str4', strtodate('01.02.2012'));

     WriteTime('TSN', 'str5', td);

     Writebool('TSN', 'str6', true);

  end;

  except

    showmessage('Нет доступа к Ini-файлу !');

  end;

  t_Ini.Updatefile; t_Ini.Free;

end;


Рассмотрим на примере процедуру считывания ранее сохраненной информации из Ini-файла:


procedure TForm1.Button4Click(Sender: TObject);

var t_Ini: TIniFile;

  k: integer; s, path_pr, nfile: string; td: tdatetime;

begin

  path_pr:=ExtractFilePath(application.exename) +'tsn.ini';

  t_Ini := TIniFile.Create(nfile);

  try

  with t_Ini do begin

     k:=ReadInteger('TSN', 'str1', -1); showmessage(inttostr(k));

     s:=ReadString('TSN', 'str3', '-1'); showmessage(s);

     td:=ReadDate('TSN', 'str4', strtodate('1.1.2000'));

     showmessage(datetostr(td));

     showmessage(floattostr(ReadFloat('TSN', 'str2', -1.123)));

     showmessage(timetostr(ReadTime('TSN2', 'str5', now)));

     showmessage(inttostr(byte(ReadBool('TSN2', 'str6', false))));

  end;

  except

    showmessage('Нет доступа к Ini-файлу !');

  end;

  t_Ini.Free;

end;


Иcпользование API на Delphi 7

Подняться наверх