📄 dws2ibomodule.pas
字号:
procedure Tdws2IboLib.SetScript(const Value: TDelphiWebScriptII);
var
x: Integer;
begin
if Assigned(FScript) then
FScript.RemoveFreeNotification(Self);
if Assigned(Value) then
Value.FreeNotification(Self);
FScript := Value;
for x := 0 to ComponentCount - 1 do
if Components[x] is Tdws2Unit then
Tdws2Unit(Components[x]).Script := Value;
end;
procedure Tdws2IboLib.SetIBOConnection(const Value: TIB_Connection);
begin
// if Assigned(FIBOConnection) then
// FScript.RemoveFreeNotification(Self);
if Assigned(Value) then
Value.FreeNotification(Self);
FIBOConnection := Value;
end;
procedure Tdws2IboLib.SetIBOTransaction(const Value: TIB_Transaction);
begin
// if Assigned(FIBOTransaction) then
// FScript.RemoveFreeNotification(Self);
if Assigned(Value) then
Value.FreeNotification(Self);
FIBOTransaction := Value;
end;
procedure Tdws2IboLib.LUFieldSetValue(FieldValue: variant; ExtObject: TObject);
var
sFieldValue : string;
begin
with TdwsIBOStatementObj(ExtObject)do
begin
if IBOStatement.FieldByName(KeyFieldName).AsString = KeyFieldValue then
begin
LUCol.AsVariant := FieldValue;
end
else begin
sFieldValue := FieldValue;
AddLUFieldRow(sFieldValue);
end;
end;
end;
// ****************************************************************************
// ********************* IBO Class Methods ***********************************
// ****************************************************************************
procedure Tdws2IboLib.AFreeExtObject(
Info: TProgramInfo; ExtObject: TObject);
begin
ExtObject.Free;
ExtObject := nil;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
begin
ExtObject := TdwsIBOStatementObj.Create;
TdwsIBOStatementObj(ExtObject).IBOStatement := TIB_Statement.Create(self);
TdwsIBOStatementObj(ExtObject).IBOStatement.IB_Connection := FIBOConnection;
TdwsIBOStatementObj(ExtObject).IBOStatement.IB_Transaction := FIBOTransaction;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementConstructorsCreateFromDBAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
var
ScriptObj: IScriptObj;
DBObj: TdwsIboDataBaseObj;
begin
ScriptObj := IScriptObj(IUnknown(Info['Database']));
if ScriptObj = nil then
DBObj := nil
else
DBObj := TdwsIboDataBaseObj(ScriptObj.ExternalObject);
ExtObject := TdwsIBOStatementObj.Create;
TdwsIBOStatementObj(ExtObject).IBOStatement := TIB_Statement.Create(self);
TdwsIBOStatementObj(ExtObject).IBOStatement.IB_Connection := DBObj.IBOConnection;
TdwsIBOStatementObj(ExtObject).IBOStatement.IB_Transaction := FIBOTransaction;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementMethodsGetSQLEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TdwsIBOStatementObj(ExtObject).IBOStatement.SQL.Text;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementMethodsSetSQLEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TdwsIBOStatementObj(ExtObject).IBOStatement.SQL.Text := Info['sSQL'];
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementMethodsExecuteEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TdwsIBOStatementObj(ExtObject).IBOStatement.Execute;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementMethodsFieldByNameEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] :=
Info.Vars['TDBField'].GetConstructor('Create',
TdwsIBOStatementObj(ExtObject).IBOStatement.FieldByName(Info['FieldName'])
).Call.Value;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementMethodsFieldEval(
Info: TProgramInfo; ExtObject: TObject);
var
MyStatement: TIB_Statement;
IboCol: TIB_Column;
sFieldName : string;
begin
MyStatement := TdwsIBOStatementObj(ExtObject).IBOStatement;
sFieldName := Info['FieldName'];
IboCol := MyStatement.FindField(sFieldName);
with MyStatement do
if IboCol = nil then
Info['Result'] := '!!dbfield('+sFieldName+')??'
else begin
if (MyStatement is TIB_Dataset) and (IboCol.IsNull or TIB_Dataset(MyStatement).eof
or TIB_Dataset(MyStatement).bof) then
begin
if IboCol.IsNumeric then
begin
Info['Result'] := 0.0
end
else
Info['Result'] := '';
end
else
Info['Result'] := IboCol.AsVariant;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementMethodsFieldIsNullEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with (TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
Info['Result'] := FieldByName(Info['FieldName']).isnull;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementMethodsParamByNameEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] :=
Info.Vars['TDBField'].GetConstructor('Create',
TdwsIBOStatementObj(ExtObject).IBOStatement.parambyname(Info['ParamName'])
).Call.Value;
end;
procedure Tdws2IboLib.customIBOUnitClassesTStatementMethodsSetParamEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TdwsIBOStatementObj(ExtObject).IBOStatement.parambyname(Info['ParamName']).AsVariant
:= Info['Value'];
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
begin
ExtObject := TdwsIBOStatementObj.Create;
TdwsIBOStatementObj(ExtObject).IBOStatement := TIB_Cursor.Create(self);
TdwsIBOStatementObj(ExtObject).IBOStatement.IB_Connection := FIBOConnection;
TdwsIBOStatementObj(ExtObject).IBOStatement.IB_Transaction := FIBOTransaction;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsCreateFromDBEval(
Info: TProgramInfo; ExtObject: TObject);
var
ScriptObj: IScriptObj;
DBObj: TdwsIboDataBaseObj;
begin
ScriptObj := IScriptObj(IUnknown(Info['Database']));
if ScriptObj = nil then
DBObj := nil
else
DBObj := TdwsIboDataBaseObj(ScriptObj.ExternalObject);
ExtObject := TdwsIBOStatementObj.Create;
TdwsIBOStatementObj(ExtObject).IBOStatement := TIB_Cursor.Create(self);
TdwsIBOStatementObj(ExtObject).IBOStatement.IB_Connection := DBObj.IBOConnection;
TdwsIBOStatementObj(ExtObject).IBOStatement.IB_Transaction := FIBOTransaction;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsOpenEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
prepare;
Open;
First;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsFirstEval(
Info: TProgramInfo; ExtObject: TObject);
begin with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
First;
Info['Result'] := not eof;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsNextEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
next;
Info['Result'] := not eof;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsEofEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
Info['Result'] := eof;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsEditEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
edit;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsInsertEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
insert;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsPostEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
post;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsCancelEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
cancel;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsDeleteEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
delete;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTDatasetMethodsCloseEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Dataset(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
close;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTQueryMethodsPriorEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Query(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
prior;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTFieldMethodsSetValueEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIB_Column(ExtObject).AsVariant := Info['Value'];
end;
procedure Tdws2IboLib.customIBOUnitClassesTFieldMethodsGetValueEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIB_Column(ExtObject).AsVariant;
end;
procedure Tdws2IboLib.customIBOUnitClassesTFieldMethodsSetValueStrEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIB_Column(ExtObject).AsString := Info['Value'];
end;
procedure Tdws2IboLib.customIBOUnitClassesTFieldMethodsGetValueStrEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIB_Column(ExtObject).AsString;
end;
procedure Tdws2IboLib.customIBOUnitClassesTQueryMethodsGetFilterEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Query(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
Info['Result'] := Filter;
end;
end;
procedure Tdws2IboLib.customIBOUnitClassesTQueryMethodsSetFilterEval(
Info: TProgramInfo; ExtObject: TObject);
begin
with TIB_Query(TdwsIBOStatementObj(ExtObject).IBOStatement) do
begin
Filter := Info['FilterStr'];
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -