| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Работа с INI файлами |
| Автор: Lonley 23.6.2004, 23:01 | ||
Здравствуйте
в частности интересует как работает процедура ReadSection или ReadSections для чего они нужны --------------------- и существует ли возможность считать НАЗВАНИЕ ключей, узнать количество незная ИХ |
| Автор: NiJazz 23.6.2004, 23:12 | ||
| Lonley Кажется, встроенную справку в Delphi еще никто не отменял. procedure ReadSection (const Section: String; Strings: TStrings); override; Считывает названия ключей из определенной секции INI-файла в список строк Strings. procedure ReadSections(Strings: TStrings); override; Считывает названия ключей из всех секций INI-файла в список строк Strings. Вот пример из справки:
|
| Автор: Lonley 24.6.2004, 00:47 | ||
| NiJazz СПАСИБО впредь буду смотреть -------------------------------------- Неполучается использовать переменную класса TStrings у нее должны быть свойства Names и Values как раз для работы с ИНИШКАМИ , но не получается что ли ее инициализировать
выдает ошибку ABstract ERRROR |
| Автор: stab 24.6.2004, 01:34 |
| Lonley, используй TStringList. |
| Автор: Lonley 24.6.2004, 01:46 |
| СПАСИБО ВСЕМ Я УЖЕ пронял только почему в книгах не пишут что этот класс не для работы |
| Автор: Albinos_x 24.6.2004, 01:48 |
| cully был прав |
| Автор: Medved 24.6.2004, 05:36 |
| Прежде чем работать с экземпляром объекта TStrings, надо устанавливить его размер с помощью функии SetLength. |
| Автор: Lonley 24.6.2004, 13:59 | ||
это получается установка размера массива точно также как в динамических массивах Я прав |
| Автор: Lonley 24.6.2004, 14:37 | ||
| Pegas У меня куча книг, но там сказано только про динамические массивы а установка функцией SetLength переменной класса TStrings не удается из-за несовместимости типов
пожалуйста подскажите как сделать правильно |
| Автор: stab 24.6.2004, 16:07 | ||
через TStringList...
|
| Автор: Lonley 24.6.2004, 21:57 | ||||||
Гм.... но это я сделал как только мне сказали про StringList, но Pegas cазал
так сначит всетаки можно |
| Автор: StayAtHome 25.6.2004, 00:38 | ||||
НЕТ! IMHO, Pegas ошибся. TStrings -- абстрактный класс, который невозможно напрямую создавать. Исользуй только TStringList. Хотя, можно попробовать так:
Такой финт может потребоваться для обратной совместимости с родительскими свойствами, но обычно -- не требуется. Если я в чем-то не прав, -- пишите. |
| Автор: Lonley 25.6.2004, 01:39 |
| Всем спасибо.... |
| Автор: Medved 25.6.2004, 06:09 | ||||
Если я не ошибаюсь, с ним можно работать (по крайней мере в 5-ке я с ним работал) Только прежде необходимо задать его размерность. Если честно, то я забыл, как я это делал. А вообще, согласен, необходимо использовать TStringList. |
| Автор: _hunter 25.6.2004, 16:11 |
| может после 5-й компонент поменялся, но это дейсвительно абстрактный класс |
| Автор: RA 26.6.2004, 23:20 |
| Вообще есть очень хороший компонент для работы с ini, замена стандартному IniFiles (Работать с ним также); |
| Автор: StayAtHome 27.6.2004, 01:51 |
| RAdmin А стоит ли для такой небольшой задачи, как работа с ини файлами юзать еще один сторонний компонент? ИМХО, возможностей TIniFile, а лучше TMemIniFile должно хватать в большинстве случаев. А не хватает -- дык наследование еще никто не отменял |
| Автор: RA 27.6.2004, 12:36 | ||||
Ну незнаю , помойму этот компонент очень сильно упрощает жизнь. сам компонент, ничё супер сложного, но зато время экономит Вот это новые процедуры:
Все данные записанные в INI шифруются (Если порыться в сорсах компонента то можно это отменить) Размер ини файла неограничен стандартом в 64kb. |
| Автор: StayAtHome 27.6.2004, 14:22 | ||
Это из IniFiles.pas идущего с Delphi Данные не шифруются, но нужно ли это? Хочешь скрыть свои настройки -- пиши в типизированный файл. TMemIniFile (потомок TCustomIniFile) не имеет ограничения в 64 KB :-) И ничего стороннего ставить не надо. |