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

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

Как программно создать Paradox таблицу с Table type = Paradox 3.5 [D7, XP]


abhtr ©   (2008-11-18 17:27:00) 

Если я вызываю Database Desktop -> New -> Table -> Table type = 'Paradox 3.5' -> набираю поля:
1. Имя - Type: Alpha
2. Возраст - Type: Number

Если я создаю таблицу программно то пишу код:

with tblDBF do
 begin
  Active := False;
  DatabaseName := 'D:\Works'; //Директория расположения *.dbf - файла
  TableName := NameTbl;
  TableType := ttParadox;  
  TableLevel := 3;  

  with FieldDefs do begin
     Clear;
     with AddFieldDef do begin
        Name := 'sIndex';       //1. Индекс издания  
        DataType := ftString;
        Size := 5;
     end;

     with AddFieldDef do begin
        Name := 'Kolich';         //3. Количеств экземпляров
        DataType := ftSmallint;
     end;

  end;  //with FieldDefs do begin

  CreateTable;
end;



После этого если я смотрю на таблицу из SQL Explorer, то вижу, что для нее Table Type: Paradox 5.0, heap!!!
А таблица полученная Database Desktop показывает, как и надо, Table Type: Paradox 3.5, heap.
Изменения в BDE->Configuration->Drivers->Native->PARADOX->Level на 3, ничего не дает.
Помогите, как все-таки программно можно создать таблицу Paradox 3.5???


Anatoly Podgoretsky   (2008-11-18 19:24:00) [1]

Ты действительно так хочешь.
Тогда ты должен в сессии задавать все параметры, без использования стандартного алиаса.

Но копирование шаблона самый простой и надежный метод, при желании шаблон можно хранить где угодно, например в ресурсах.

По типам VCL на работает с физическими типами, только с паралельными типами - это еще одна причина использовать шаблон.

Другой вариант настроить в БДЕ стандартный драйвер на версию 3.5

И последний вопрос, где и почему потребовался формат 80х годов в совсем другом веке?


abhtr   (2008-11-18 18:00:00) [2]


> храни шаблон готовый, копируй под нужным именем куда надо

Да, это возможно, выход.
Но, как-то обидно, что не получается программно...


abhtr   (2008-11-18 17:42:00) [3]

NameTbl это имя файла, которое создается с учетом даты: "DB1108", а вот TableType := ttParadox; я тоже обратил внимание, что я не могу задать как в Database Desktop: Table Type: Paradox 3.5.
Да еще и DataType := ftString; а задать Alpha или Number я не могу.
Может поэтому и создается Paradox 5.0, что типы полей под этот стандарт?


Правильный$Вася   (2008-11-18 17:31:00) [4]


> //Директория расположения *. dbf- файла
>   TableName := NameTbl;   TableType := ttParadox;

странно

а вообще - зачем ее создавать заново?
храни шаблон готовый, копируй под нужным именем куда надо


Наверх

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