Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Изменение списка полей в TTable [D5, Paradox]


Korvin ©   (2004-08-09 10:28:00) 

Помогите, плз! Заклинило чтот, понедельник нав. сказывается...
Делаю:
T1.FieldList.Clear;
nC := T1.FieldCount-1;
For nT := 0 to nC do begin
    T1.FieldList.Add(T1.Fields.Fields[nT].FieldName);
end;

Дак вот FieldList - все время ReadOnly. Зачем тогда ему метод Add? Подскажите, плз, как правильно программно заполнить список полей в TTable?


Korvin   (2004-08-09 14:19:00) [1]

Пришлось через строковый массив и доступ - через FieldByName. Всем пасиб.


Korvin   (2004-08-09 13:42:00) [2]

Мда...
Мне всего-то надо получить список полей открываемой таблицы. Было бы здорово просто заполнить FieldList. Метод Add у него - что, просто наследие от предка?


Соловьев   (2004-08-09 11:10:00) [3]


> Основной набор полей - стандартный, но могут быть различные
> "левые" служебные поля, значения которых необходимо сохранить
> (разные программы, работающие с одной таблицей) при возвращении
> "заказчику"...

для этого надо физически добавить поле. а для этого надо или SQL использовать или инструменты.


Korvin   (2004-08-09 11:04:00) [4]

Отлучусь на пару часов, спасибо всем откликнувшимся!


Korvin   (2004-08-09 10:49:00) [5]

Пасиб, это уже видел, но там ниче конкретного...


Соловьев   (2004-08-09 10:47:00) [6]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1091776227&n=1&web=1


Korvin   (2004-08-09 10:44:00) [7]

Не, цикл то работает. Именно в нем возникает сообщение о ReadOnly. FieldCount, пардон за неточность, определяется перед FieldList.Clear...


46_55_41_44   (2004-08-09 10:43:00) [8]

УППППСССС...
Извинтрест...
Я сам не всмотрелся в твой кодик )))
Но все равно работать не будет!!!
Ты опиши, что тебе надо сделать... Помогу!!


46_55_41_44   (2004-08-09 10:42:00) [9]

Слушай просто всмотрись в в то, что ты написал!
Это не может работать, потому что если ты хочешь изменить структуру БД, то тебе нужно соответственные запросы писать!
Но в любом случае рассмотрим, твой код:
T1.FieldList.Clear; //Ты очистил список полей, ну типа удалил их все!!!
nC := T1.FieldCount-1; //и тут ты ссылаешься на кол-во полей, список которых ты уже обнулил в пердыдущей строке!Значени nC = -1 :)))
For nT := 0 to nC do begin //А тут вообще нечего говорить цикл вообще не начнется!
   T1.FieldList.Add(T1.Fields.Fields[nT].FieldName);//но даже, если бы начался тут какая сумасшедшая рекурсия получается :)
Как можно обращаться к пустому списку, добавлять из этого списка в него же данные?...
end; // Единственная работающая строчка :)))


Korvin   (2004-08-09 10:40:00) [10]

Необходимо закачивать для доработки таблицы сторонних пользователей. Основной набор полей - стандартный, но могут быть различные "левые" служебные поля, значения которых необходимо сохранить (разные программы, работающие с одной таблицей) при возвращении "заказчику"...


stone   (2004-08-09 10:38:00) [11]


> Дак вот FieldList - все время ReadOnly. Зачем

Так и есть. см F1


> Зачем тогда ему метод Add?

TFieldDefs.Add + F1


Соловьев   (2004-08-09 10:35:00) [12]


> Подскажите, плз, как правильно программно заполнить список
> полей в TTable?

зачем?


Наверх

Титульная страница Поиск, карта сайта Написать письмо