|
Модераторы: Poseidon, Snowy, bems, MetalFan |
|
bems |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
Добавлено через 12 минут и 28 секунд логика поиска описана в хелпе к функции WritePrivateProfileString -------------------- Обижено школьников: 8 |
|||
|
||||
aktuba |
|
|||
Смышленный Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
С чего это ты решил? Смотря как хранится в самом файле, а в .dat можно хранить как угодно, хоть тот же .ini... -------------------- |
|||
|
||||
Alexeis |
|
|||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Все зависит от желаемого функционала. Что от чего должно зависеть и сохраняться. По современным требованиям это вообще должен быть либо реестр либо папка Aplication Data текущего юзера. В Своем каталоге обычно хранят настройки простые программы, для которых весь дом ограничивается своей папкой. Если приложение регистрируют COM/ActiveX, то оно в любом случае зависимо от текущей ОС. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
bems |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 31 Всего: 88 |
-------------------- Обижено школьников: 8 |
||||
|
|||||
Lexicss |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 197 Регистрация: 16.8.2006 Где: Беларусь, Минск Репутация: нет Всего: 1 |
Эх, вот бы мне эту статейку полтора года назад встретить. - когда нужно было срочно разбираться с инишками, пришлось тратить время и экспериментить. А наткнулся бы сразу на эту статеку - 5 минут и хватило б.
--------------------
Бери от жизни всё. |
|||
|
||||
MetalFan |
|
|||
Аццкий Сотона Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
все расжевано так, что даже самые одаренные поймут. хотя в справке и так все нормально и подробно написано, за исключением примеров
-------------------- There are always someone smarter than you... |
|||
|
||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
К сожалению все эти "самые одаренные" даже не слышали о справке, а если и слышали, то не юзают, так как на английском, и якобы не понятно |
|||
|
||||
Saygak |
|
||||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 2.5.2007 Репутация: 1 Всего: 1 |
В методе ReadSectionValues в примере нужно заменить
на
|
||||
|
|||||
THandle |
|
|||
Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
Интересно как такой пример вообще прошел в статью)) вроде бы все проверял...
Изменено. Saygak, +1 в репу. |
|||
|
||||
skeef |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 3.3.2010 Репутация: нет Всего: нет |
Перерыл пол-инета нигде не могу найти ответ на простейший вопрос:
формат комментариев в ini файлах Delphi. Как правильно? |
|||
|
||||
Heriz |
|
|||
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 21.3.2010 Репутация: нет Всего: нет |
Вопрос: Как проверить параметр в ини файле и занести в программу?Используется параметр MainMenu1.Images:=imagesList1; и есть второй Imagelist2
|
|||
|
||||
Alexeis |
|
|||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
через ";" например ;comment Параметр в INI можно только прочитать. Если его нет, то будет подставлено значение по умолчанию. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
RomanEEP |
|
|||
Опытный Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: 5 Всего: 8 |
Для проверки наличия параметра есть функция function ValueExists(const Section, Ident: string): Boolean; При работе с Ini файлами в Delphi 2010 столкнулся с жесткими косяками в TMemIniFile: 1) Access Violation при открытии пустых файлов в строке 727 Inifiles.pas из-за кода SetLength(Buffer, Size); Stream.Read(Buffer[0], Size); проверить size на 0 нынче не модно... 2)Для быстрого поиска подстроки используются хешированные стринг-листы в которых обновление хеша сделано крайне неграмотно: при любом изменении стринг листа хеш перестраивается заново! то есть если в секции есть 100 строк, то добавление 101 строки вызовет пересчет хеш функции для всех 100 строк. Благодаря этому файл в пару сотен строк пишется секунд 5! Использовать ини файлы ушло всякое желание когда наткнулся на юнит NativeXml - который стал бесплатен. Имеет интуитивно понятный и небольшой набор функции, который быстро заменит сохранение в ини-файлы + большая гибкость xml + высокая скорость работы. Для примера: время чтения с диска и распарсивания файла размеров в 500Kb (около 50000 значений) занимает 0,2с на 1800MHz. За собой тянет один единственный модуль размеров в 6000 строк |
|||
|
||||
Alexeis |
|
|||
Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
А если воспользоваться старым добрым TIniFile ? Дело в том, что Ini файлы предназначены для хранения небольших объемов файлов. Тут нет оптимизации по скорости. Не подразумевается частое обращение. Простой способ сохранить уникальные данные. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
RomanEEP |
|
|||
Опытный Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: 5 Всего: 8 |
Согласен? но TMemIniFiles создавался как оптимизированый вариант TIniFile и надо же было к 2010 году ембаркадеровцам соптимизировать так что сделали раз в 10 медленней оригинала!
ЗЫ: Еще в по поводу методов WriteFloat, ReadFloat во первых они записывают не натуральные, а действительные числа)))) а во вторых есть неприятная особенность, что если в системе сменится DecimalSeparator или IniFile будет читаться с другого компа, то эти значения просто напросту не считаются! Приходится придумывать велосипеды вроде смены разделителя при чтении из инишки или переопределения метода ReadFloat, WriteFloat |
|||
|
||||
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |