Delphi KDE
یک شنبه 08 شهریور 1383, 03:36 صبح
در برنامه ای نیاز به ساخت جدول فاکس در زمان اجرا است
من از کد زیر برای ساخت جدول استفاده میکنم
procedure TForm1.ConvertButtonClick(Sender: TObject);
Const
Dir : pchar = 'c:' ;
var
Table : TTable ;
begin
{ create a BDE alias ,but only if it dosen't alrady exist.}
if not Session.IsAlias('testTable') then begin
CreateDirectory(Dir, nil);
try
Session.AddStandardAlias('testTable', Dir,'FOXPRO');
Session.SaveConfigFile;
Except
MessageDlg('error in create alias', mtError, [mbOK] , 0);
Exit;
end;
end;
{ now Create the Table. }
Screen.Cursor := crHourGlass ;
Table := TTable.Create(self);
try
Table.Active := False ;
Table.DatabaseName := 'testTable' ;
Table.TableType := ttFoxPro ;
Table.TableName := 'testdbf.DBF' ;
{ add field in to database }
Table.FieldDefs.Add('ID',ftString, 10, True);
Table.FieldDefs.Add('FNAME',ftString, 20, False);
Table.FieldDefs.Add('LNAME',ftString, 25, False);
Table.FieldDefs.Add('T1',..XXXX..., 2, False);
Table.FieldDefs.Add('T2',...XXXX..., 12, False);
Table.IndexDefs.Add('','ID',[ixPrimary]);
{ Everything is Set up, so Create the Table. }
Table.CreateTable ;
except
MessageDlg('Error in create Table', mtError, [mbOK], 0);
Screen.Cursor := crDefault;
Table.Free ;
Exit;
end;
{ all done , soo let the user know. }
Table.Free ;
Screen.Cursor := crDefault ;
MessageDlg('Table create complete',mtInformation, [mbOK], 0);
end;
در جایی که ...XXXX... را گذاشته ام نمیدانم چه نوعی رابزارم
چون این جدول در برنامه دیگری در foxpro استفاده میشود که به طور مثال
باید حتما فیلد
Table.FieldDefs.Add('T1',..XXXX..., 2, False);
Table.FieldDefs.Add('T2',...XXXX..., 2, False);
t1,t2 از نوع numeric و دو رقمی ساخته شوند
مشکل در اینجاست که هر نوعی را به جای ...XXXX... میگذارم پیغام خطا میدهد
من از کد زیر برای ساخت جدول استفاده میکنم
procedure TForm1.ConvertButtonClick(Sender: TObject);
Const
Dir : pchar = 'c:' ;
var
Table : TTable ;
begin
{ create a BDE alias ,but only if it dosen't alrady exist.}
if not Session.IsAlias('testTable') then begin
CreateDirectory(Dir, nil);
try
Session.AddStandardAlias('testTable', Dir,'FOXPRO');
Session.SaveConfigFile;
Except
MessageDlg('error in create alias', mtError, [mbOK] , 0);
Exit;
end;
end;
{ now Create the Table. }
Screen.Cursor := crHourGlass ;
Table := TTable.Create(self);
try
Table.Active := False ;
Table.DatabaseName := 'testTable' ;
Table.TableType := ttFoxPro ;
Table.TableName := 'testdbf.DBF' ;
{ add field in to database }
Table.FieldDefs.Add('ID',ftString, 10, True);
Table.FieldDefs.Add('FNAME',ftString, 20, False);
Table.FieldDefs.Add('LNAME',ftString, 25, False);
Table.FieldDefs.Add('T1',..XXXX..., 2, False);
Table.FieldDefs.Add('T2',...XXXX..., 12, False);
Table.IndexDefs.Add('','ID',[ixPrimary]);
{ Everything is Set up, so Create the Table. }
Table.CreateTable ;
except
MessageDlg('Error in create Table', mtError, [mbOK], 0);
Screen.Cursor := crDefault;
Table.Free ;
Exit;
end;
{ all done , soo let the user know. }
Table.Free ;
Screen.Cursor := crDefault ;
MessageDlg('Table create complete',mtInformation, [mbOK], 0);
end;
در جایی که ...XXXX... را گذاشته ام نمیدانم چه نوعی رابزارم
چون این جدول در برنامه دیگری در foxpro استفاده میشود که به طور مثال
باید حتما فیلد
Table.FieldDefs.Add('T1',..XXXX..., 2, False);
Table.FieldDefs.Add('T2',...XXXX..., 2, False);
t1,t2 از نوع numeric و دو رقمی ساخته شوند
مشکل در اینجاست که هر نوعی را به جای ...XXXX... میگذارم پیغام خطا میدهد