⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 h_db.pas

📁 一个Delphi解释器的例子
💻 PAS
📖 第 1 页 / 共 4 页
字号:
function myTDATALINKDESTROY(slf:TObject;var APropName:String;var s:array of variant):variant;
begin
 TDATALINK(slf).DESTROY;
End;
{--------------------}
function myTDATALINKEDIT(slf:TObject;var APropName:String;var s:array of variant):variant;
begin
 Result := TDATALINK(slf).EDIT;
End;
{--------------------}
function myTDATALINKUPDATERECORD(slf:TObject;var APropName:String;var s:array of variant):variant;
begin
 TDATALINK(slf).UPDATERECORD;
End;
{--------------------}
Function TDATALINKget_ACTIVE(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).ACTIVE;
End;

Function TDATALINKset_ACTIVE(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).ACTIVE:=S[0];
End;
{--------------------}
Function TDATALINKget_ACTIVERECORD(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).ACTIVERECORD;
End;

Function TDATALINKset_ACTIVERECORD(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).ACTIVERECORD:=S[0];
End;
{--------------------}
Function TDATALINKget_BUFFERCOUNT(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).BUFFERCOUNT;
End;

Function TDATALINKset_BUFFERCOUNT(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).BUFFERCOUNT:=S[0];
End;
{--------------------}
Function TDATALINKget_DATASET(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).DATASET;
End;

Function TDATALINKset_DATASET(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).DATASET:=S[0];
End;
{--------------------}
Function TDATALINKget_DATASOURCE(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).DATASOURCE;
End;

Function TDATALINKset_DATASOURCE(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).DATASOURCE:=S[0];
End;
{--------------------}
Function TDATALINKget_DATASOURCEFIXED(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).DATASOURCEFIXED;
End;

Function TDATALINKset_DATASOURCEFIXED(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).DATASOURCEFIXED:=S[0];
End;
{--------------------}
Function TDATALINKget_EDITING(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).EDITING;
End;

Function TDATALINKset_EDITING(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).EDITING:=S[0];
End;
{--------------------}
Function TDATALINKget_READONLY(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).READONLY;
End;

Function TDATALINKset_READONLY(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).READONLY:=S[0];
End;
{--------------------}
Function TDATALINKget_RECORDCOUNT(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
  Result := TDATALINK(slf).RECORDCOUNT;
End;

Function TDATALINKset_RECORDCOUNT(slf:TObject;var APropName:String;var s:array of variant):variant;
Begin
TDATALINK(slf).RECORDCOUNT:=S[0];
End;
*)
{--------------------}
function myTDATASETAPPENDRECORD(slf:TObject;var APropName:String;var s:array of variant):variant;
var R:Array[0..100] of tvarrec;
    maxr:integer;
begin
 VarToConsts(S[0],R,maxR);
 TDATASET(slf).AppendRecord(slice(r,maxr));
 disposeconsts(R,maxr);
end;
{------------------------}
{function myTDataSetDoRecord(slf:TObject;var APropName:String;var s:array of variant):variant;
var fname:array[0..100] of string;
    Value:Array[0..100] of variant;
    i:integer;
begin
 for i:=1 to s[1][0] do begin
  FName[i-1]:=S[1][i];
  Value[i-1]:=s[2][i];
 end;
 DoRecord(s[0],TDataSet(slf),
  Slice(FName,s[1][0]),Slice(Value,s[2][0]));
end;}
{--------------------}
procedure DBHalInit;
begin
{   AddObjectType('TDATABASE','TCOMPONENT');
   AddObjectType('TDATASET','TCOMPONENT');
   AddObjectType('TDBDATASET','TDATASET');
   AddObjectType('TDATASOURCE','TCOMPONENT');
   AddObjectType('TFIELD','TCOMPONENT');
   AddObjectType('TDbGrid','TComponent');}

   AddConst('ftUnknown',ftUnknown);
AddConst('ftString',ftString);
AddConst('ftSmallint',ftSmallint);
AddConst('ftInteger',ftInteger);
AddConst('ftWord',ftWord);
AddConst('ftBoolean',ftBoolean);
AddConst('ftFloat',ftFloat);
AddConst('ftCurrency',ftCurrency);
AddConst('ftBCD',ftBCD);
AddConst('ftDate',ftDate);
AddConst('ftTime',ftTime);
AddConst('ftDateTime',ftDateTime);
AddConst('ftBytes',ftBytes);
AddConst('ftVarBytes',ftVarBytes);
AddConst('ftAutoInc',ftAutoInc);
AddConst('ftBlob',ftBlob);
AddConst('ftMemo',ftMemo);
AddConst('ftGraphic',ftGraphic);
AddConst('ftFmtMemo',ftFmtMemo);
AddConst('ftParadoxOle',ftParadoxOle);
AddConst('ftDBaseOle',ftDBaseOle);
AddConst('ftTypedBinary',ftTypedBinary);

//   AddObjectType('TDATALINK','TPERSISTENT');
//   AddProc('TDATABASE.APPLYUPDATES',myTDATABASEAPPLYUPDATES,[0]);

   AddProc('TDATABASE.CLOSE',myTDATABASECLOSE,[2]);
   AddProc('TDATABASE.CLOSEDATASETS',myTDATABASECLOSEDATASETS,[2]);
   AddProc('TDATABASE.COMMIT',myTDATABASECOMMIT,[2]);
   AddProc('TDATABASE.OPEN',myTDATABASEOPEN,[2]);
   AddProc('TDATABASE.ROLLBACK',myTDATABASEROLLBACK,[2]);
   AddProc('TDATABASE.STARTTRANSACTION',myTDATABASESTARTTRANSACTION,[2]);

//   AddProc('TDATABASE.VALIDATENAME',myTDATABASEVALIDATENAME,[0]);
   AddProp('TDATABASE.DATASETCOUNT',TDATABASEget_DATASETCOUNT,nil);
   AddProp('TDATABASE.ISSQLBASED',TDATABASEget_ISSQLBASED,nil);
   AddProp('TDATABASE.INTRANSACTION',TDATABASEget_INTRANSACTION,nil);
   AddProp('TDATABASE.TEMPORARY',TDATABASEget_TEMPORARY,TDATABASEset_TEMPORARY);
   AddProp('TDATABASE.ALIASNAME',TDATABASEget_ALIASNAME,TDATABASEset_ALIASNAME);
   AddProp('TDATABASE.CONNECTED',TDATABASEget_CONNECTED,TDATABASEset_CONNECTED);
   AddProp('TDATABASE.DATABASENAME',TDATABASEget_DATABASENAME,TDATABASEset_DATABASENAME);
   AddProp('TDATABASE.DRIVERNAME',TDATABASEget_DRIVERNAME,TDATABASEset_DRIVERNAME);
   AddProp('TDATABASE.KEEPCONNECTION',TDATABASEget_KEEPCONNECTION,TDATABASEset_KEEPCONNECTION);
   AddProp('TDATABASE.LOGINPROMPT',TDATABASEget_LOGINPROMPT,TDATABASEset_LOGINPROMPT);
   AddProp('TDATABASE.PARAMS',TDATABASEget_PARAMS,TDATABASEset_PARAMS);
   AddProp('TDATABASE.SESSIONNAME',TDATABASEget_SESSIONNAME,TDATABASEset_SESSIONNAME);


//   AddProc('TDataSet.DoRecord',myTDataSetDoRecord,[0,3,3]);
   AddProc('TDATASET.APPEND',myTDATASETAPPEND,[2]);
   AddProc('TDATASET.APPENDRECORD',myTDATASETAPPENDRECORD,[0]);
   AddProc('TDATASET.CANCEL',myTDATASETCANCEL,[2]);
   AddProc('TDATASET.CHECKBROWSEMODE',myTDATASETCHECKBROWSEMODE,[2]);
   AddProc('TDATASET.CLEARFIELDS',myTDATASETCLEARFIELDS,[2]);
   AddProc('TDATASET.CLOSE',myTDATASETCLOSE,[2]);
   AddFun('TDATASET.CONTROLSDISABLED',myTDATASETCONTROLSDISABLED,[2]);
//   AddProc('TDATASET.CURSORPOSCHANGED',myTDATASETCURSORPOSCHANGED,[2]);
   AddProc('TDATASET.DELETE',myTDATASETDELETE,[2]);
   AddProc('TDATASET.DISABLECONTROLS',myTDATASETDISABLECONTROLS,[2]);
   AddProc('TDATASET.EDIT',myTDATASETEDIT,[2]);
   AddProc('TDATASET.ENABLECONTROLS',myTDATASETENABLECONTROLS,[2]);
   AddProc('TDATASET.FETCHALL',myTDATASETFETCHALL,[2]);
   AddFun('TDATASET.FIELDBYNAME',myTDATASETFIELDBYNAME,[0]);
   AddFun('TDATASET.FINDFIELD',myTDATASETFINDFIELD,[0]);
   AddFun('TDATASET.FINDFIRST',myTDATASETFINDFIRST,[2]);
   AddFun('TDATASET.FINDLAST',myTDATASETFINDLAST,[2]);
   AddFun('TDATASET.FINDNEXT',myTDATASETFINDNEXT,[2]);
   AddFun('TDATASET.FINDPRIOR',myTDATASETFINDPRIOR,[2]);
   AddProc('TDATASET.FIRST',myTDATASETFIRST,[2]);
//   AddFun('TDATASET.GETCURRENTRECORD',myTDATASETGETCURRENTRECORD,[0]);
//   AddProc('TDATASET.GETFIELDLIST',myTDATASETGETFIELDLIST,[0,0]);
   AddProc('TDATASET.GETFIELDNAMES',myTDATASETGETFIELDNAMES,[0]);
//   AddProc('TDATASET.GOTOBOOKMARK',myTDATASETGOTOBOOKMARK,[0]);
   AddProc('TDATASET.INSERT',myTDATASETINSERT,[2]);
   AddProc('TDATASET.INSERTRECORD',myTDATASETINSERTRECORD,[0]);
//   AddFun('TDATASET.ISLINKEDTO',myTDATASETISLINKEDTO,[0]);
   AddProc('TDATASET.LAST',myTDATASETLAST,[2]);
   AddFun('TDATASET.LOCATE',myTDATASETLOCATE,[0,0,0]);
   AddFun('TDATASET.LOOKUP',myTDATASETLOOKUP,[0,0,0]);
   AddFun('TDATASET.MOVEBY',myTDATASETMOVEBY,[0]);
   AddProc('TDATASET.NEXT',myTDATASETNEXT,[2]);
   AddProc('TDATASET.OPEN',myTDATASETOPEN,[2]);
   AddProc('TDATASET.POST',myTDATASETPOST,[2]);
   AddProc('TDATASET.PRIOR',myTDATASETPRIOR,[2]);
   AddProc('TDATASET.REFRESH',myTDATASETREFRESH,[2]);
//   AddProc('TDATASET.SETFIELDS',myTDATASETSETFIELDS,[0]);
//   AddProc('TDATASET.SETDETAILFIELDS',myTDATASETSETDETAILFIELDS,[0]);
   AddProc('TDATASET.UPDATECURSORPOS',myTDATASETUPDATECURSORPOS,[2]);
   AddProc('TDATASET.UPDATERECORD',myTDATASETUPDATERECORD,[2]);
   AddProc('TDATASET.APPLYUPDATES',myTDATASETAPPLYUPDATES,[2]);
   AddProc('TDATASET.COMMITUPDATES',myTDATASETCOMMITUPDATES,[2]);
   AddProc('TDATASET.CANCELUPDATES',myTDATASETCANCELUPDATES,[2]);
   AddProc('TDATASET.REVERTRECORD',myTDATASETREVERTRECORD,[2]);
//   AddFun('TDATASET.UPDATESTATUS',myTDATASETUPDATESTATUS,[2]);
   AddProp('TDATASET.BOF',TDATASETget_BOF,nil);
   AddProp('TDATASET.BOOKMARK',TDATASETget_BOOKMARK,TDATASETset_BOOKMARK);
   AddProp('TDATASET.CANMODIFY',TDATASETget_CANMODIFY,nil);
   AddProp('TDATASET.DATASOURCE',TDATASETget_DATASOURCE,nil);
//   AddProp('TDATASET.DEFAULTFIELDS',TDATASETget_DEFAULTFIELDS,TDATASETset_DEFAULTFIELDS);
   AddProp('TDATASET.EOF',TDATASETget_EOF,nil);
   AddProp('TDATASET.FIELDCOUNT',TDATASETget_FIELDCOUNT,nil);
   AddProp('TDATASET.FOUND',TDATASETget_FOUND,nil);
   AddProp('TDATASET.MODIFIED',TDATASETget_MODIFIED,nil);
   AddProp('TDATASET.RECORDCOUNT',TDATASETget_RECORDCOUNT,nil);
//   AddProp('TDATASET.RECORDSIZE',TDATASETget_RECORDSIZE,TDATASETset_RECORDSIZE);
   AddProp('TDATASET.STATE',TDATASETget_STATE,nil);
   AddProp('TDATASET.UPDATEOBJECT',TDATASETget_UPDATEOBJECT,TDATASETset_UPDATEOBJECT);
//   AddProp('TDATASET.UPDATERECORDTYPES',TDATASETget_UPDATERECORDTYPES,TDATASETset_UPDATERECORDTYPES);
   AddProp('TDATASET.UPDATESPENDING',TDATASETget_UPDATESPENDING,nil);
   AddProp('TDATASET.ACTIVE',TDATASETget_ACTIVE,TDATASETset_ACTIVE);
//   AddProp('TDATASET.AUTOCALCFIELDS',TDATASETget_AUTOCALCFIELDS,TDATASETset_AUTOCALCFIELDS);
   AddProp('TDATASET.CACHEDUPDATES',TDATASETget_CACHEDUPDATES,TDATASETset_CACHEDUPDATES);
   AddProp('TDATASET.FILTER',TDATASETget_FILTER,TDATASETset_FILTER);
   AddProp('TDATASET.FILTERED',TDATASETget_FILTERED,TDATASETset_FILTERED);
//   AddProp('TDATASET.FILTEROPTIONS',TDATASETget_FILTEROPTIONS,TDATASETset_FILTEROPTIONS);
//   AddProp('TDATASET.BEFOREOPEN',TDATASETget_BEFOREOPEN,TDATASETset_BEFOREOPEN);
//   AddProp('TDATASET.AFTEROPEN',TDATASETget_AFTEROPEN,TDATASETset_AFTEROPEN);
//   AddProp('TDATASET.BEFORECLOSE',TDATASETget_BEFORECLOSE,TDATASETset_BEFORECLOSE);
//   AddProp('TDATASET.AFTERCLOSE',TDATASETget_AFTERCLOSE,TDATASETset_AFTERCLOSE);
//   AddProp('TDATASET.BEFOREINSERT',TDATASETget_BEFOREINSERT,TDATASETset_BEFOREINSERT);
//   AddProp('TDATASET.AFTERINSERT',TDATASETget_AFTERINSERT,TDATASETset_AFTERINSERT);
//   AddProp('TDATASET.BEFOREEDIT',TDATASETget_BEFOREEDIT,TDATASETset_BEFOREEDIT);
//   AddProp('TDATASET.AFTEREDIT',TDATASETget_AFTEREDIT,TDATASETset_AFTEREDIT);
//   AddProp('TDATASET.BEFOREPOST',TDATASETget_BEFOREPOST,TDATASETset_BEFOREPOST);
//   AddProp('TDATASET.AFTERPOST',TDATASETget_AFTERPOST,TDATASETset_AFTERPOST);
//   AddProp('TDATASET.BEFORECANCEL',TDATASETget_BEFORECANCEL,TDATASETset_BEFORECANCEL);
//   AddProp('TDATASET.AFTERCANCEL',TDATASETget_AFTERCANCEL,TDATASETset_AFTERCANCEL);
//   AddProp('TDATASET.BEFOREDELETE',TDATASETget_BEFOREDELETE,TDATASETset_BEFOREDELETE);
//   AddProp('TDATASET.AFTERDELETE',TDATASETget_AFTERDELETE,TDATASETset_AFTERDELETE);
   AddProp('TDBDATASET.DATABASE',TDBDATASETget_DATABASE,nil);
//   AddProp('TDBDATASET.DBHANDLE',TDBDATASETget_DBHANDLE,TDBDATASETset_DBHANDLE);
   AddProc('TDATASOURCE.EDIT',myTDATASOURCEEDIT,[2]);
   AddFun('TDATASOURCE.ISLINKEDTO',myTDATASOURCEISLINKEDTO,[0]);
   AddProp('TDATASOURCE.AUTOEDIT',TDATASOURCEget_AUTOEDIT,TDATASOURCEset_AUTOEDIT);
   AddProp('TDATASOURCE.DATASET',TDATASOURCEget_DATASET,TDATASOURCEset_DATASET);
   AddProp('TDATASOURCE.ENABLED',TDATASOURCEget_ENABLED,TDATASOURCEset_ENABLED);
//   AddProc('TFIELD.CREATE',myTFIELDCREATE,[0]);
//   AddProc('TFIELD.DESTROY',myTFIELDDESTROY,[2]);
//   AddProc('TFIELD.ASSIGN',myTFIELDASSIGN,[0]);
//   AddProc('TFIELD.ASSIGNVALUE',myTFIELDASSIGNVALUE,[0]);
   AddProc('TFIELD.CLEAR',myTFIELDCLEAR,[2]);
   AddProc('TFIELD.FOCUSCONTROL',myTFIELDFOCUSCONTROL,[2]);
//   AddFun('TFIELD.GETDATA',myTFIELDGETDATA,[0]);
//   AddFun('TFIELD.ISVALIDCHAR',myTFIELDISVALIDCHAR,[0]);
//   AddProc('TFIELD.SETDATA',myTFIELDSETDATA,[0]);
//   AddProc('TFIELD.SETFIELDTYPE',myTFIELDSETFIELDTYPE,[0]);
   AddProp('TFIELD.ASBOOLEAN',TFIELDget_ASBOOLEAN,TFIELDset_ASBOOLEAN);
   AddProp('TFIELD.ASCURRENCY',TFIELDget_ASCURRENCY,TFIELDset_ASCURRENCY);
   AddProp('TFIELD.ASDATETIME',TFIELDget_ASDATETIME,TFIELDset_ASDATETIME);
   AddProp('TFIELD.ASFLOAT',TFIELDget_ASFLOAT,TFIELDset_ASFLOAT);
   AddProp('TFIELD.ASINTEGER',TFIELDget_ASINTEGER,TFIELDset_ASINTEGER);
   AddProp('TFIELD.ASSTRING',TFIELDget_ASSTRING,TFIELDset_ASSTRING);
   AddProp('TFIELD.ASVARIANT',TFIELDget_ASVARIANT,TFIELDset_ASVARIANT);
//   AddProp('TFIELD.ATTRIBUTESET',TFIELDget_ATTRIBUTESET,TFIELDset_ATTRIBUTESET);
//   AddProp('TFIELD.BDECALCFIELD',TFIELDget_BDECALCFIELD,TFIELDset_BDECALCFIELD);
   AddProp('TFIELD.CANMODIFY',TFIELDget_CANMODIFY,nil);
   AddProp('TFIELD.DATASET',TFIELDget_DATASET,nil);
   AddProp('TFIELD.DATASIZE',TFIELDget_DATASIZE,nil);
//   AddProp('TFIELD.DATATYPE',TFIELDget_DATATYPE,TFIELDset_DATATYPE);
   AddProp('TFIELD.DISPLAYNAME',TFIELDget_DISPLAYNAME,nil);
   AddProp('TFIELD.DISPLAYTEXT',TFIELDget_DISPLAYTEXT,nil);
   AddProp('TFIELD.EDITMASK',TFIELDget_EDITMASK,TFIELDset_EDITMASK);
   AddProp('TFIELD.FIELDNO',TFIELDget_FIELDNO,nil);
   AddProp('TFIELD.ISINDEXFIELD',TFIELDget_ISINDEXFIELD,nil);
   AddProp('TFIELD.ISNULL',TFIELDget_ISNULL,nil);
   AddProp('TFIELD.SIZE',TFIELDget_SIZE,TFIELDset_SIZE);
   AddProp('TFIELD.TEXT',TFIELDget_TEXT,TFIELDset_TEXT);
   AddProp('TFIELD.VALUE',TFIELDget_VALUE,TFIELDset_VALUE);
   AddProp('TFIELD.NEWVALUE',TFIELDget_NEWVALUE,TFIELDset_NEWVALUE);
   AddProp('TFIELD.OLDVALUE',TFIELDget_OLDVALUE,nil);
   AddProp('TFIELD.CALCULATED',TFIELDget_CALCULATED,TFIELDset_CALCULATED);
   AddProp('TFIELD.DISPLAYLABEL',TFIELDget_DISPLAYLABEL,TFIELDset_DISPLAYLABEL);
   AddProp('TFIELD.DISPLAYWIDTH',TFIELDget_DISPLAYWIDTH,TFIELDset_DISPLAYWIDTH);
   AddProp('TFIELD.FIELDNAME',TFIELDget_FIELDNAME,TFIELDset_FIELDNAME);
   AddProp('TFIELD.INDEX',TFIELDget_INDEX,TFIELDset_INDEX);
   AddProp('TFIELD.LOOKUP',TFIELDget_LOOKUP,TFIELDset_LOOKUP);
   AddProp('TFIELD.LOOKUPDATASET',TFIELDget_LOOKUPDATASET,TFIELDset_LOOKUPDATASET);
   AddProp('TFIELD.LOOKUPKEYFIELDS',TFIELDget_LOOKUPKEYFIELDS,TFIELDset_LOOKUPKEYFIELDS);
   AddProp('TFIELD.LOOKUPRESULTFIELD',TFIELDget_LOOKUPRESULTFIELD,TFIELDset_LOOKUPRESULTFIELD);
   AddProp('TFIELD.KEYFIELDS',TFIELDget_KEYFIELDS,TFIELDset_KEYFIELDS);
   AddProp('TFIELD.READONLY',TFIELDget_READONLY,TFIELDset_READONLY);
   AddProp('TFIELD.REQUIRED',TFIELDget_REQUIRED,TFIELDset_REQUIRED);
   AddProp('TFIELD.VISIBLE',TFIELDget_VISIBLE,TFIELDset_VISIBLE);
(*   AddProc('TDATALINK.CREATE',myTDATALINKCREATE,[2]);
   AddProc('TDATALINK.DESTROY',myTDATALINKDESTROY,[2]);
   AddFun('TDATALINK.EDIT',myTDATALINKEDIT,[2]);
   AddProc('TDATALINK.UPDATERECORD',myTDATALINKUPDATERECORD,[2]);
   AddProp('TDATALINK.ACTIVE',TDATALINKget_ACTIVE,TDATALINKset_ACTIVE);
   AddProp('TDATALINK.ACTIVERECORD',TDATALINKget_ACTIVERECORD,TDATALINKset_ACTIVERECORD);
   AddProp('TDATALINK.BUFFERCOUNT',TDATALINKget_BUFFERCOUNT,TDATALINKset_BUFFERCOUNT);
   AddProp('TDATALINK.DATASET',TDATALINKget_DATASET,TDATALINKset_DATASET);
   AddProp('TDATALINK.DATASOURCE',TDATALINKget_DATASOURCE,TDATALINKset_DATASOURCE);
   AddProp('TDATALINK.DATASOURCEFIXED',TDATALINKget_DATASOURCEFIXED,TDATALINKset_DATASOURCEFIXED);
   AddProp('TDATALINK.EDITING',TDATALINKget_EDITING,TDATALINKset_EDITING);
   AddProp('TDATALINK.READONLY',TDATALINKget_READONLY,TDATALINKset_READONLY);
   AddProp('TDATALINK.RECORDCOUNT',TDATALINKget_RECORDCOUNT,TDATALINKset_RECORDCOUNT);
*)
end;

Initialization DBHalInit;
               RegisterClasses([TDataBase,TDataSource,TFIeld,TDataSet]);

End.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -