Кнопка сброса Ini-файлов delphi

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

Как я мог это сделать?

Еще я хочу знать, как написать маленькое «Ты уверен?» всплывают, но это мелочь.


person arran    schedule 25.05.2011    source источник
comment
Хранить INI-файл настроек в том же каталоге, что и EXE-файл, - очень плохая идея. Действительно, EXE-файл, скорее всего, находится в папке Program Files, и она доступна только для чтения, если вы не запускаете программу от имени администратора, а обычно это не так. Вместо этого вы должны использовать папку данных приложения для каждого пользователя, как описано в здесь.   -  person Andreas Rejbrand    schedule 25.05.2011
comment
Если настройки ini не являются общими для всех пользователей (я использую файл ini для поддержания настроек, связанных с динамической производительностью), в этом случае вам необходимо сохранить его в папке данных приложения для всех пользователей и предоставить эту конкретную папку (подпапку из всех пользователи) права записи для всех.   -  person Misha    schedule 26.05.2011


Ответы (2)


В приведенном ниже коде используется подстановочный знак для получения списка файлов ini и их удаления по одному.

procedure DeleteIni();
var searchResult : TSearchRec;
begin
  if FindFirst('*.ini', faAnyFile, searchResult) = 0 then
  begin
    repeat
      DeleteFile(searchResult.Name);
    until FindNext(searchResult) <> 0;
    FindClose(searchResult);
  end;
end;
person Jarek Bielicki    schedule 25.05.2011

Вы должны сделать что-то вроде

  if MessageBox(Handle, 'Are you sure you want to restore the default settings?',
    PChar(Caption), MB_ICONQUESTION or MB_YESNO) = ID_YES then
  begin
    DeleteFile(SettingsFileName);
    LoadSettings;
  end;

где SettingsFileName - имя файла INI-файла (который находится в для каждого пользователя), а LoadSettings - это процедура, которую вы используете для загрузки настроек из INI-файла (который, конечно (!), применяет настройки по умолчанию если нет INI-файла).

person Andreas Rejbrand    schedule 25.05.2011