Как после записи в ini-файл сбросить cache на диск, чтоб задействовать изменения
Top компьютерных шуточек:
1. 16 мегабайт тому назад...
2. А кофе на клавиатуру тоже вирус пролил?
3. Я пришёл к тебе с дискетой - рассказать, что сеть упала
4. pkunzip.zip
5. 001, 010, 011, 100, 101 - вышел зайчик погулять
6. Если глюк оказался вдруг, и не друг и не враг, а баг...
7. Нет повести печальнее на свете, чем повесть о заклинившем Reset'е
8. Жизнь.exe /?
9. 4 Mb - это не память. Это склероз.
10. Нажмите любую клавишу... Нет, нет, только не эту!..
11. Ничто так не ограничивает полёт мысли программиста, как компилятор
12. Клаву топтать - это вам не с Джойстиком баловаться...
13. Российские хакеры взломали бортовой компьютер российского истребителя СУ-27. Теперь боекомплект самолёта нескончаемый.
Вызовите функцию WriteProfileString() или WritePrivateProfileString(), передав ей в качестве параметров секции, ключа и строки - nil.
Чтобы очистить кэш на диск после записи в файл INI с помощью функций WriteProfileString или WritePrivateProfileString из Delphi, вы можете использовать метод Flush класса TStreamWriter. Вот пример:
withTStreamWriter.Create(FileName,False)dotryWritePrivateProfileString(nil,nil,nil,FileName);Flush;// <--- Это строка очищает кэш на дискfinallyFree;end;
В этом коде мы создаем объект TStreamWriter с именем файла и устанавливаем параметр Overwrite в False. Затем мы вызываем функцию WritePrivateProfileString как обычно. После этого мы используем метод Flush, чтобы заставить кэш быть записанным на диск. Наконец, мы освобождаем объект TStreamWriter.
Обратите внимание, что этот код предполагает, что вы объявили переменную FileName с путем и именем вашего файла INI.
Альтернативно, если вы хотите очистить кэш для всех потоков (не только для того, который был создан функцией WritePrivateProfileString), вы можете использовать метод Flush из единицы System.IOUtils:
IOUtils.FlushAll;
Это очистит все открытые потоки, включая те, которые не были явно очищены.
Как после записи в ini-файл сбросить cache на диск, чтоб задействовать изменения, можно вызвать функцию WriteProfileString() или WritePrivateProfileString(), передав ей в качестве параметров секции, ключа и строки - nil.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.