|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.02.2011, 11:01 | #1 |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Работа с ini файлами
Поделитесь своими мыслями вот по какому вопросу:
Есть тексовый файл содержащий 100000 строк со структурой ini. Всё прекрасно но огорчает довольно медленная скорость чтения/записи. Вижу два пути решения проблемы: 1) Отображение файлов в память. За - если я правильно понял я смогу использовать стандартные функции для работы с ini (или это не так?). Увеличение скорости (Да?). На время работы запрещяю другим программам писать в этот файл. Против - никогда не пользовался, нужно будет с этим разбираться. 2) Использую TStringList; загружаю строки из файла и работаю со списком строк. По мере надобности SaveToFile. За - скорость. Против - придётся делать свои функции. Не смогу запретить другим программам писать в этот файл (или можно как нибудь запретить?) Спасибо. Последний раз редактировалось avd; 04.02.2011 в 11:58. |
04.02.2011, 11:28 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
а Вы уверены, что INI файл на 100 тыс строк - это подходящее решение? Тут, как бы, уже для БД задача... нет?... |
|
04.02.2011, 11:40 | #3 | |||
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Цитата:
Цитата:
Цитата:
Задача в общем такая - записывать в log файл события типа 10:50:12=датчик сработал итд Ну и в случае необходимости просматривать (программой). |
|||
04.02.2011, 11:48 | #4 | |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Цитата:
|
|
04.02.2011, 12:22 | #5 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
CreateFile() / WriteFile() / CloseHandle()
Работает мнгновенно, даёт просматривать из фар изменения на лету, скорость работы особо не зависит ни от количества строк, ни от размера файла. Какие там ещё ини, стринглисты и базы данных.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
04.02.2011, 12:43 | #6 | |
Пользователь
Регистрация: 06.06.2010
Сообщений: 79
|
Цитата:
У меня почему возникла мысль про ini - получилось бы очень просто [01.02.2011] 09:50:05=ljvukuyv 09:55:05=lrd64rd64 ..... [02.02.2011] 10:50:05=654646 10:55:05=54vt5ert4tre35 ..... Если нужно просмотреть задал нужную дату, прочитал секцию, вывел в грид А насчёт 100000 может я погорячился. Всем спасибо, буду думать. Последний раз редактировалось avd; 04.02.2011 в 13:21. |
|
04.02.2011, 13:21 | #7 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Еще есть такая штука TDataFile. Принцип тот же, что и ини. Работает с большими размерами файлов, запоминает свойства strings, font, шифрует данные и т.п. Не уверен, будет ли работать быстрее, но можешь попробовать.... Я его всегда вместо ини использую.
|
04.02.2011, 13:42 | #8 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> А потом ?
что потом? Задачи создания и обработки логов — это две разные задачи. Никто не мешает создавать лог со структурой ini для дальнейшего анализа. > У меня почему возникла мысль про ini - получилось бы очень просто Ну вот при изменении даты и сбрасывайте её в [ ... ], кто мешает? > Если нужно просмотреть задал нужную дату, прочитал секцию, вывел в грид Опять же, обработка логов — это отдельная песня. Для неё я бы советовал мапить файл в память и там уже искать. > А насчёт 100000 может я погорячился. Ну это как бы для разминки. Серъезный проект при отладке может за час несколько гигабайт логов нагенерить, их потом неделями изучать можно.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
04.02.2011, 14:36 | #9 |
Регистрация: 03.08.2010
Сообщений: 9
|
лучше юзать бд... тот же ms access, или absolute database... или что нить из бесплатного
если всё таки хочешь писать лог в файл.. то контролируй его размер.. при увеличении размера лог-файла... лучше создать еще один новый у меня была прога.. писала лог подключения к фт..и возникающие ошибки при этом... так пару раз было фтп отваливалось..и файл весил более 1,5ГБ |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с файлами ini | WinMen | Общие вопросы Delphi | 3 | 08.11.2010 10:43 |
Работа с ini файлами | jocry | Общие вопросы Delphi | 4 | 14.01.2009 16:51 |
Компонент Memo и работа с *.ini-файлами | nerZEROn | Общие вопросы Delphi | 11 | 08.01.2009 16:31 |
работа с INI файлами | Titan123 | Общие вопросы Delphi | 1 | 30.08.2008 16:31 |
работа с .ini файлами | PAVEL315 | Общие вопросы Delphi | 3 | 22.11.2006 22:28 |