![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание Records во время работы программы [D5, D6, WinXP]
Roobee © (2004-12-19 07:25:00)Уважаемые Мастера.
Возможно ли средствами Delphi во время работы программы создать Record содержащий произвольные поля
(например считать текстовый файл содержащий строки типа ИМЯ_ПОЛЯ=ТИП_РАЗМЕР)
Field1=integer
Field2=string[32]
palva (2004-12-19 13:01:00) [1]Roobee © (19.12.04 07:25)
> ведь базы данны - и есть рекорды.
"Верной дорогой идете, товарищи" (В.И.Ленин)
Из программы вы можете создать RecordSet в ADO и использовать его как структуру данных. То есть, не имея базы данных, новый Recordset можно Open, потом создать нужные вам поля с именами и типами, создать и заполнить как угодно записи, перемещаться, пользоваться закладками, поиском, сохранить в XML - короче все операции допустимые для рекордсетов.
Sergey_Masloff (2004-12-19 12:44:00) [2]Roobee © (19.12.04 12:34) [6]
Вопрос и то что вы описываете не взаимосвязаны. Никаких новых Record в терминах паскаля в базах данных не создается а добавляются новые экземпляры существующих строго определенных типов в хранилище метаданных.
Скажем есть жестко определенный тип "таблицы" с полями "ID","имя таблицы","флаги". Есть жестко определенный тип "поля таблиц" с полями "ID таблицы", "Порядковый номер поля", "Тип поля", "Размер"...
И при добавлении полей пользователем в свои таблицы средствами DDL всего лишь в "системные" таблицы вносятся "экземпляры" системных типов которые (типы) определены статически.
DrPass (2004-12-19 12:38:00) [3]
> ведь базы данны - и есть рекорды.
Налицо типичная подмена понятий. "Запись" в Паскале и "запись" в БД - совершенно разные вещи.
Roobee (2004-12-19 12:34:00) [4]к чему был вопрос.
ведь базы данны - и есть рекорды.
однако вы вольны добавлять поля в таблицы и удалять их.
ведь когда вы создаете таблицу бд с первым полем - строка длиной 32 символа, вторым - целое число, то в этот момент вы описываете структуру рекорда которую бд и создает. так что должно быть решение...
Поручик (2004-12-19 12:26:00) [5]Sergey_Masloff (19.12.04 11:17) [4]
> Паскаль язык со строгой проверкой типов НА ЭТАПЕ
> КОМПИЛЯЦИИ. В любой нормальной книжке это ИМХО
> написано на первой или второй странице.
Жаль...
Sergey_Masloff (2004-12-19 11:17:00) [6]Поручик © (19.12.04 10:59) [3]
>А можно ли динамически создавать классы?
Паскаль язык со строгой проверкой типов НА ЭТАПЕ КОМПИЛЯЦИИ. В любой нормальной книжке это ИМХО написано на первой или второй странице.
Поручик (2004-12-19 10:59:00) [7]А можно ли динамически создавать классы?
begin...end (2004-12-19 10:52:00) [8]> Roobee © (19.12.04 07:25)
> например считать текстовый файл содержащий строки типа
> ИМЯ_ПОЛЯ=ТИП_РАЗМЕР
См. [1] или TStringList.Names, TStringList.Values.
Palladin (2004-12-19 08:03:00) [9]Record он на то и record, что описывает данные во время компиляции. Читайте книжки о паскале и решайте задачи. Меньше будет глупых вопросов, больше будет новых решений.
По сабжу, есть TIniFile.