📄 dws2classeslibmodule.pas
字号:
unit dws2ClassesLibModule;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
dws2Comp, dws2Exprs;
type
Tdws2ClassesLib = class(TDataModule)
dws2Unit: Tdws2Unit;
procedure dws2UnitClassesTListMethodsAddEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTListMethodsCountEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTListMethodsDeleteEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTListMethodsIndexOfEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTListMethodsRemoveEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTListMethodsDestroyEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTHashtableMethodsSizeEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTHashtableMethodsCapacityEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTIntegerHashtableMethodsPutEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTIntegerHashtableMethodsGetEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTIntegerHashtableMethodsHasKeyEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTIntegerHashtableMethodsRemoveKeyEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringHashtableMethodsPutEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringHashtableMethodsGetEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringHashtableMethodsHasKeyEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringHashtableMethodsRemoveKeyEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStackMethodsPushEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStackMethodsPopEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStackMethodsPeekEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStackMethodsCountEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTQueueMethodsPushEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTQueueMethodsPopEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTQueueMethodsPeekEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTQueueMethodsCountEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTQueueMethodsDestroyEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStackMethodsDestroyEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringHashtableMethodsDestroyEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTIntegerHashtableMethodsDestroyEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTListMethodsClearEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTListMethodsInsertEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsDestroyEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsAddEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsGetEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsIndexOfEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsIndexOfNameEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsInsertEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsGetValuesEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsGetNamesEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsClearEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsGetTextEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsSetTextEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsGetCountEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsGetCommaTextEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsSetCommaTextEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsLoadFromFileEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsSaveToFileEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsDeleteEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsExchangeEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsMoveEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsAddStringsEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsGetObjectsEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsAddObjectEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsInsertObjectEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsIndexOfObjectEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringListMethodsSortEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringListMethodsFindEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringListMethodsGetDuplicatesEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringListMethodsSetDuplicatesEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringListMethodsGetSortedEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringListMethodsSetSortedEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsGetStringsEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsSetStringsEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTListMethodsGetItemsEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTListMethodsSetItemsEval(Info: TProgramInfo;
ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsSetObjectsEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTStringsMethodsSetValuesEval(
Info: TProgramInfo; ExtObject: TObject);
procedure dws2UnitClassesTListConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
procedure dws2UnitClassesTIntegerHashtableConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
procedure dws2UnitClassesTStringHashtableConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
procedure dws2UnitClassesTQueueConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
procedure dws2UnitClassesTStackConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
procedure dws2UnitClassesTStringsConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
procedure dws2UnitClassesTHashtableMethodsClearEval(Info: TProgramInfo;
ExtObject: TObject);
private
FScript: TDelphiWebScriptII;
procedure SetScript(const Value: TDelphiWebScriptII);
protected
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
published
property Script: TDelphiWebScriptII read FScript write SetScript;
end;
procedure Register;
var
dws2ClassesLib: Tdws2ClassesLib;
implementation
uses
dws2Hashtables, dws2Symbols, Contnrs;
{$R *.DFM}
procedure Register;
begin
RegisterComponents('DWS2', [Tdws2ClassesLib]);
end;
{ Tdws2Lib }
procedure Tdws2ClassesLib.Notification(AComponent: TComponent;
Operation: TOperation);
begin
inherited;
if (Operation = opRemove) and (AComponent = Script) then
SetScript(nil)
end;
procedure Tdws2ClassesLib.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 Tdws2ClassesLib.dws2UnitClassesTListConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
begin
ExtObject := TList.Create;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTListMethodsAddEval(Info: TProgramInfo;
ExtObject: TObject);
begin
Info['Result'] := TList(ExtObject).Add(Pointer(Integer(Info['Obj'])));
end;
procedure Tdws2ClassesLib.dws2UnitClassesTListMethodsCountEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TList(ExtObject).Count;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTListMethodsDeleteEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TList(ExtObject).Delete(Info['Index']);
end;
procedure Tdws2ClassesLib.dws2UnitClassesTListMethodsGetItemsEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := Integer(TList(ExtObject)[Info['Index']]);
end;
procedure Tdws2ClassesLib.dws2UnitClassesTListMethodsSetItemsEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TList(ExtObject)[Info['Index']] := Pointer(Integer(Info['Value']));
end;
procedure Tdws2ClassesLib.dws2UnitClassesTListMethodsIndexOfEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TList(ExtObject).IndexOf(Pointer(Integer(Info['Obj'])));
end;
procedure Tdws2ClassesLib.dws2UnitClassesTListMethodsRemoveEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TList(ExtObject).Remove(Pointer(Integer(Info['Obj'])));
end;
procedure Tdws2ClassesLib.dws2UnitClassesTListMethodsDestroyEval(
Info: TProgramInfo; ExtObject: TObject);
begin
ExtObject.Free;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTHashtableMethodsSizeEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := THashTable(ExtObject).Size;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTHashtableMethodsCapacityEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := THashTable(ExtObject).Capacity;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTHashtableMethodsClearEval(
Info: TProgramInfo; ExtObject: TObject);
begin
THashTable(ExtObject).Clear;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTIntegerHashtableConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
begin
ExtObject := TIntegerHashtable.Create;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTStringHashtableMethodsDestroyEval(
Info: TProgramInfo; ExtObject: TObject);
begin
ExtObject.Free;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTIntegerHashtableMethodsPutEval(
Info: TProgramInfo; ExtObject: TObject);
begin
TIntegerHashTable(ExtObject).Put(Info['Key'], Info['Value']);
end;
procedure Tdws2ClassesLib.dws2UnitClassesTIntegerHashtableMethodsGetEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIntegerHashTable(ExtObject).Get(Info['Key']);
end;
procedure Tdws2ClassesLib.dws2UnitClassesTIntegerHashtableMethodsHasKeyEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIntegerHashTable(ExtObject).HasKey(Info['Key']);
end;
procedure Tdws2ClassesLib.dws2UnitClassesTIntegerHashtableMethodsRemoveKeyEval(
Info: TProgramInfo; ExtObject: TObject);
begin
Info['Result'] := TIntegerHashTable(ExtObject).RemoveKey(Info['Key']);
end;
procedure Tdws2ClassesLib.dws2UnitClassesTStringHashtableConstructorsCreateAssignExternalObject(
Info: TProgramInfo; var ExtObject: TObject);
begin
ExtObject := TStringHashtable.Create;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTIntegerHashtableMethodsDestroyEval(
Info: TProgramInfo; ExtObject: TObject);
begin
ExtObject.Free;
end;
procedure Tdws2ClassesLib.dws2UnitClassesTStringHashtableMethodsPutEval(
Info: TProgramInfo; ExtObject: TObject);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -