ДИНАМИЧЕСКОЕ ПОМЕЩЕНИЕ КОМПОНЕНТОВ НА ФОРМУ. КЛАСС TIni. File.
Класс TStrings является абстрактным классом, определяющим все поведение, ассоциирующееся со списком строк; не обеспечивает никаких механизмов для реального хранения списка строк; за реальное хранение несут ответственность потомки, например TString. List. Класс TString. List использует объект TList для создания списков строк. Чаще всего объекты TString. List применяются для чтения и записи текстовых фай лов.
Пример использования объекта TString. List var SL: TString. List; begin SL: =TString. List. Create; try SL. Load. From. File (' data. txt' ) ; listbox 1. items. Add. Strings (SL) ; finally SL. free; end; End;
Класс TIni. File облегчает чтение и запись инициализационных файлов Windows (файлы с расширением. ini).
Класс TIni. File Вместо Ini файлов в Win 32 используется системный реестр, в котором приложения сохраняют свои установки. Для работы с реестром в Delphi используется класс TRegistry. Ini. File. Работа с реестром аналогична работе с классом TIni. File.
Класс TIni. File не является компонентом, поэтому создание и освобождение объектов типа TIni. File, а также вызов их методов необходимо осуществлять только программным образом.
Алгоритм ипользования Для создания или обновления файла необходимо сначала создать объект типа TIni. File, например, в обработчике события On. Create формы: Ini. File : = TIni. File. Create(‘имя_файла’); После окончания работы с объектом Ini. File его необходимо освободить с помощью оператора: Ini. File. Free;
Структура Ini файла [название_раздела 1] имя_ключа_10=значение_ключа_10 имя_ключа_11=значение_ключа_11. . . имя_ключа_1 n=значение_ключа_1 n [название_раздела 2] имя_ключа_20=значение_ключа_20 имя_ключа_21=значение_ключа_21. . . имя_ключа_2 n=значение ключа_2 n
Методы для работы с Ini файлами function Section. Exists (const Section: string): boolean; function Value. Exists (const Section, Ident: string): boolean; procedure Read. Section (const Section: string; strings: TStrings); procedure Read. Section. Values (const Section: string; strings: TStrings);
Методы для работы с Ini файлами function Read. String (const Section, Ident, Default: string) : string; Подобные функции: Read. Bool Read. Date, Read. Date. Time Read. Float Readlnteger
Методы для работы с Ini файлами procedure Write. String (const Section, Ident, Value: string); Подобные процедуры: Write. Bool Write. Date, Write. Date. Time Writelnteger Write. Float Write. Time
Динамическое создание компонента Создание экземпляра любого класса осуществляет конструктор. Tabset: =TTab. Set. Create(Main. F); Параметр конструктора определяет владельца компонента. Самый важный этап при динамическом создании компонента — это установка свойства Parent. Это свойство помещает текущий компонент в список Controls родителя. Компонент предок использует список Controls для выдачи команды нарисовать себя всем принадлежащим ему компонентам. Поэтому если компонента нет в родительском списке Controls, то он не появится при выполнении приложения. Tabset. parent: =Main. F определяет форму родительским компонентом.
Этапы создания и чтения
s: =Extract. File. Path(Application. Exe. Name);