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

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

Уровень таблицы TableLevel [D6, dBase, FoxPro]


Chris ©   (2003-01-24 15:14:00) 

Пытаюсь создать dBase-IV, ставлю TableLevel=4, а прога все равно делает базу с седьмым уровнем.
Вариант через BDE Administrator мне не подходит, т.к. мне необходимо сделать такую же базу и с седьмым уровнем


Chris   (2003-01-25 12:11:00) [1]

> sniknik
Увы, мысль хорошая, но результат тот же - TableLevel все-равно равен 7


Reindeer Moss Eater   (2003-01-24 16:10:00) [2]

Наверное используются типы полей, не поддерживаемые в запрошенной версии


sniknik   (2003-01-24 16:10:00) [3]

как предположение, с BDE у меня плохо :(.

поменять местами вот так, что будет?
...
Tab1.Active:=True;
Tab2.FieldDefs.Assign(Tab1.FieldDefs);
Tab2.TableLevel:=4; //Устанавливаю уровень драйвера dBaseIV
Tab2.CreateTable;
...


Chris   (2003-01-24 15:50:00) [4]

Хорошо.
Краткое описание. Процедура копирует данные из одной базы в другую 4-й версии драйвера.


var FileDBF: string;
Tab1, Tab2: TTable;
begin
Tab1:=TTable.Create(NIL);
Tab2:=TTable.Create(NIL);
Tab1.DatabaseName:=ExtractFilePath(FileDBF);
Tab1.TableName:="Table3.dbf";
Tab1.TableType:=ttdBase;
Tab2.DatabaseName:=Tab1.DatabaseName;
Tab2.TableName:="Table3_IV.dbf";
Tab2.TableType:=ttdBase;
if FileExists(Tab2.DatabaseName+Tab2.TableName) then
DeleteFile(Tab2.DatabaseName+Tab2.TableName);
Tab2.TableLevel:=4; //Устанавливаю уровень драйвера dBaseIV
Tab1.Active:=True;
Tab2.FieldDefs.Assign(Tab1.FieldDefs);
Tab2.CreateTable;
Tab2.Active:=True;
While not Tab1.Eof do
begin
Tab2.Insert;
for i:=0 to Tab1.FieldDefs.Count-1 do
Tab2.Fields[i].AsString:=Tab1.Fields[i].AsString;
Tab2.Post;
Tab1.Next;
end;
Tab1.Close;
Tab2.Close;
Tab1.Free;
Tab2.Free;



Reindeer Moss Eater   (2003-01-24 15:28:00) [5]

Не решаюсь напомнить об этом автору вопроса. А то снова назовут п ежоном :)


Anatoly Podgoretsky   (2003-01-24 15:23:00) [6]

А о чем говорить без кода, о средней температуре по больнице, даже проблема полностью не объяснена, так общие слова.


Reindeer Moss Eater   (2003-01-24 15:17:00) [7]

Наверное используются типы полей, не поддерживаемые в запрошенной версии


Наверх

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