Форум: "Базы";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];
ВнизСоздание DBF файлов Найти похожие ветки
← →
ambhtr (2007-06-19 15:07) [0]Программно создаю DBF файл. Все работает. НО! Хочу создать DBF файл версии DBaseIII. Пишу код:
TableName := nmDBF;
TableType := ttDBase;
TableLevel := 3;
а файл создается с Table Type = Visual DBase7, если смотреть из SQL Explorer-a, а устаревшие DBVier-ы вообще отказываются смотреть его. А для сторонних организаций - надо.
Так как все-таки создать DBaseIII ?
← →
Desdechado © (2007-06-19 15:27) [1]BDE Admin - Config - drivers - Native - Dbase - LEVEL=3
← →
ambhtr (2007-06-19 15:36) [2]
> Desdechado © (19.06.07 15:27) [1]
Спасибо! А программно это можно сделать, так чтобы общие настройки не менять все-таки.
← →
Desdechado © (2007-06-19 15:38) [3]переменная Session
← →
Anatoly Podgoretsky © (2007-06-19 15:49) [4]> ambhtr (19.06.2007 15:36:02) [2]
Программно нельзя, поскольку привилегия администратора.
Меняй значение у Сессии
← →
ambhtr (2007-06-19 16:15) [5]Что-то все-таки не получается. Сделал как советовал:
> Desdechado © (19.06.07 15:27) [1]
> BDE Admin - Config - drivers - Native - Dbase - LEVEL=3
а таблица создается, все-равно Visual DBase7
Может еще что надо настроить?
← →
Anatoly Podgoretsky © (2007-06-19 16:44) [6]> ambhtr (19.06.2007 16:15:05) [5]
Значит у тебя еще что то есть в самой программе. Это могут быть и кривые компоненты.
← →
Desdechado © (2007-06-19 16:53) [7]> Программно создаю DBF файл
Приведенный код не полон. Что за компоненты? Что за драйвера?
← →
ambhtr (2007-06-19 17:11) [8]За основу процедуры взял пример из Help-a.
{Глобальные переменные}
var
tblDBF : TTable;
...
{В процедуре procedure TfrmMain.FormActivate(Sender: TObject); создаю}
tblDBF := TTable.Create(Self);
...
procedure TfrmMain.pCreateDBF(Sender: TObject);
var
ln_sDirDBF,
ln_nmFileFull: integer;
begin
OpenDialog.Title := "Выберите папку и задайте имя для создаваемого DBF-файла";
OpenDialog.InitialDir := cDir;
OpenDialog.Filter := "DBase files (*.dbf)|*.dbf";
OpenDialog.Options := [ofHideReadOnly,ofAllowMultiSelect];//,ofEnableSizing]; //Загрузка нескольких файлов
if OpenDialog.Execute then
begin
GetDir(0,sDirDBF);
ln_sDirDBF := length(sDirDBF);
nmFileFull := OpenDialog.FileName;
ln_nmFileFull := length(nmFileFull);
nmDBF := Copy(nmFileFull,ln_sDirDBF+2,(ln_nmFileFull-ln_sDirDBF));
with tblDBF do
begin
Active := False;
DatabaseName := sDirDBF;
TableName := nmDBF;
TableType := ttDBase;
TableLevel := 3; //Номер версии DBase
if tblDBF.Exists then
begin
//Если *.dbf- файл существует, то все записи его удаляются
Exclusive := True; // и он становиться пустым
EmptyTable;
Exclusive := false;
end
else //Если *.dbf- файл не существует, то он создается.
begin
{ The Table component must not be active }
{ First, describe the type of table and give }
{ it a name }
{ Next, describe the fields in the table }
with FieldDefs do begin
Clear;
with AddFieldDef do begin
Name := "N_ID"; //Нумерация записей
DataType := ftInteger;
Required := True;
end;
with AddFieldDef do begin
Name := "NmFile"; //Наименование файла-источника
DataType := ftString;
Size := 15;
end;
with AddFieldDef do begin
Name := "DtFile"; //Дата создания файла-источника
DataType := ftDateTime;
end;
end; //with FieldDefs do begin
{ Call the CreateTable method to create the table }
CreateTable;
end; //if tblDBF.Exists then
end; // with tblDBF do
end; //if OpenDialog.Execute then
end; //procedure TfrmMain.pCreateDBF(Sender: TObject);
На счет драйверов, точно не знаю, но с таблицами DBaseIII, на компьютере работаю без проблем. Инсталляции WinXP и Delphi были стандартные.
← →
Anatoly Podgoretsky © (2007-06-19 18:53) [9]> ambhtr (19.06.2007 17:11:08) [8]
> TableLevel := 3; //Номер версии DBase
Ну и где тут сессия?
← →
ambhtr (2007-06-20 09:54) [10]Спасибо
> Anatoly Podgoretsky © (19.06.07 18:53) [9]
Попробовал следующее:
после TableLevel := 3; поставил SessionName := "dBASEIII+";
Кроме SessionName в свойствах TTable не нашел.
При выполнении программы пишет: "Invalid session name dBASEIII+"
← →
ambhtr (2007-06-20 09:55) [11]В Help-e не нашел, как же задавать SessionName... :о(
← →
Desdechado © (2007-06-20 10:56) [12]Почитай еще раз Desdechado © (19.06.07 15:38) [3]
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2007.10.28;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c