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

📄 rm_jvinterpreter_classes.pas

📁 这是一个功能强大
💻 PAS
📖 第 1 页 / 共 4 页
字号:

{ property Read ComponentIndex: Integer }

procedure TComponent_Read_ComponentIndex(var Value: Variant; Args: TJvInterpreterArgs);
begin
  Value := TComponent(Args.Obj).ComponentIndex;
end;

{ property Write ComponentIndex(Value: Integer) }

procedure TComponent_Write_ComponentIndex(const Value: Variant; Args: TJvInterpreterArgs);
begin
  TComponent(Args.Obj).ComponentIndex := Value;
end;

{ property Read ComponentState: TComponentState }

procedure TComponent_Read_ComponentState(var Value: Variant; Args: TJvInterpreterArgs);
begin
  NotImplemented('TComponent.ComponentState');
  // Value := TComponent(Args.Obj).ComponentState;
end;

{ property Read ComponentStyle: TComponentStyle }

procedure TComponent_Read_ComponentStyle(var Value: Variant; Args: TJvInterpreterArgs);
begin
  NotImplemented('TComponent.ComponentState');
  // Value := TComponent(Args.Obj).ComponentStyle;
end;

{ property Read DesignInfo: Longint }

procedure TComponent_Read_DesignInfo(var Value: Variant; Args: TJvInterpreterArgs);
begin
  Value := TComponent(Args.Obj).DesignInfo;
end;

{ property Write DesignInfo(Value: Longint) }

procedure TComponent_Write_DesignInfo(const Value: Variant; Args: TJvInterpreterArgs);
begin
  TComponent(Args.Obj).DesignInfo := Value;
end;

{ property Read Owner: TComponent }

procedure TComponent_Read_Owner(var Value: Variant; Args: TJvInterpreterArgs);
begin
  Value := O2V(TComponent(Args.Obj).Owner);
end;

{ property Read VCLComObject: Pointer }

procedure TComponent_Read_VCLComObject(var Value: Variant; Args: TJvInterpreterArgs);
begin
  Value := P2V(TComponent(Args.Obj).VCLComObject);
end;

{ property Write VCLComObject(Value: Pointer) }

procedure TComponent_Write_VCLComObject(const Value: Variant; Args: TJvInterpreterArgs);
begin
  TComponent(Args.Obj).VCLComObject := V2P(Value);
end;

{ property Read Name: TComponentName }

procedure TComponent_Read_Name(var Value: Variant; Args: TJvInterpreterArgs);
begin
  Value := TComponent(Args.Obj).Name;
end;

{ property Write Name(Value: TComponentName) }

procedure TComponent_Write_Name(const Value: Variant; Args: TJvInterpreterArgs);
begin
  TComponent(Args.Obj).Name := Value;
end;

{ property Read Tag: Longint }

procedure TComponent_Read_Tag(var Value: Variant; Args: TJvInterpreterArgs);
begin
  Value := TComponent(Args.Obj).Tag;
end;

{ property Write Tag(Value: Longint) }

procedure TComponent_Write_Tag(const Value: Variant; Args: TJvInterpreterArgs);
begin
  TComponent(Args.Obj).Tag := Value;
end;

type
  TJvInterpreterClassesEvent = class(TJvInterpreterEvent)
  private
    procedure NotifyEvent(Sender: TObject);
    function HelpEvent(Command: Word; Data: Longint; var CallHelp: Boolean): Boolean;
  end;

procedure TJvInterpreterClassesEvent.NotifyEvent(Sender: TObject);
begin
  CallFunction(nil, [O2V(Sender)]);
end;

function TJvInterpreterClassesEvent.HelpEvent(Command: Word; Data: Longint; var CallHelp: Boolean): Boolean;
begin
  Result := CallFunction(nil, [Command, Data, CallHelp]);
  CallHelp := Args.Values[2];
end;

procedure RegisterJvInterpreterAdapter(JvInterpreterAdapter: TJvInterpreterAdapter);
const
  cClasses = 'Classes';
begin
  with JvInterpreterAdapter do
  begin
    { TAlignment }
    AddConst(cClasses, 'taLeftJustify', Ord(taLeftJustify));
    AddConst(cClasses, 'taRightJustify', Ord(taRightJustify));
    AddConst(cClasses, 'taCenter', Ord(taCenter));
    { TShiftState }
    AddConst(cClasses, 'ssShift', Ord(ssShift));
    AddConst(cClasses, 'ssAlt', Ord(ssAlt));
    AddConst(cClasses, 'ssCtrl', Ord(ssCtrl));
    AddConst(cClasses, 'ssLeft', Ord(ssLeft));
    AddConst(cClasses, 'ssRight', Ord(ssRight));
    AddConst(cClasses, 'ssMiddle', Ord(ssMiddle));
    AddConst(cClasses, 'ssDouble', Ord(ssDouble));
    { TList }
    AddClass(cClasses, TList, 'TList');
    AddGet(TList, 'Create', TList_Create, 0, [varEmpty], varEmpty);
    AddGet(TList, 'Add', TList_Add, 1, [varEmpty], varEmpty);
    AddGet(TList, 'Clear', TList_Clear, 0, [varEmpty], varEmpty);
    AddGet(TList, 'Delete', TList_Delete, 1, [varEmpty], varEmpty);
    AddGet(TList, 'Exchange', TList_Exchange, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TList, 'Expand', TList_Expand, 0, [varEmpty], varEmpty);
    AddGet(TList, 'First', TList_First, 0, [varEmpty], varEmpty);
    AddGet(TList, 'IndexOf', TList_IndexOf, 1, [varEmpty], varEmpty);
    AddGet(TList, 'Insert', TList_Insert, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TList, 'Last', TList_Last, 0, [varEmpty], varEmpty);
    AddGet(TList, 'Move', TList_Move, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TList, 'Remove', TList_Remove, 1, [varEmpty], varEmpty);
    AddGet(TList, 'Pack', TList_Pack, 0, [varEmpty], varEmpty);
    AddGet(TList, 'Sort', TList_Sort, 1, [varEmpty], varEmpty);
    AddGet(TList, 'Capacity', TList_Read_Capacity, 0, [varEmpty], varEmpty);
    AddSet(TList, 'Capacity', TList_Write_Capacity, 0, [varEmpty]);
    AddGet(TList, 'Count', TList_Read_Count, 0, [varEmpty], varEmpty);
    AddSet(TList, 'Count', TList_Write_Count, 0, [varEmpty]);
    AddIGet(TList, 'Items', TList_Read_Items, 1, [varEmpty], varEmpty);
    AddIDGet(TList, TList_Read_Items, 1, [varEmpty], varEmpty);
    AddISet(TList, 'Items', TList_Write_Items, 1, [varNull]);
    AddIDSet(TList, TList_Write_Items, 1, [varNull]);
    AddGet(TList, 'List', TList_Read_List, 0, [varEmpty], varEmpty);
    { TPersistent }
    AddClass(cClasses, TPersistent, 'TPersistent');
    AddGet(TPersistent, 'Assign', TPersistent_Assign, 1, [varEmpty], varEmpty);
    AddGet(TPersistent, 'GetNamePath', TPersistent_GetNamePath, 0, [varEmpty], varEmpty);
    { TCollectionItem }
    AddClass(cClasses, TCollectionItem, 'TCollectionItem');
    AddGet(TCollectionItem, 'Create', TCollectionItem_Create, 1, [varEmpty], varEmpty);
    AddGet(TCollectionItem, 'Collection', TCollectionItem_Read_Collection, 0, [varEmpty], varEmpty);
    AddSet(TCollectionItem, 'Collection', TCollectionItem_Write_Collection, 0, [varEmpty]);
    AddGet(TCollectionItem, 'ID', TCollectionItem_Read_ID, 0, [varEmpty], varEmpty);
    AddGet(TCollectionItem, 'Index', TCollectionItem_Read_Index, 0, [varEmpty], varEmpty);
    AddSet(TCollectionItem, 'Index', TCollectionItem_Write_Index, 0, [varEmpty]);
    AddGet(TCollectionItem, 'DisplayName', TCollectionItem_Read_DisplayName, 0, [varEmpty], varEmpty);
    AddSet(TCollectionItem, 'DisplayName', TCollectionItem_Write_DisplayName, 0, [varEmpty]);
    { TCollection }
    AddClass(cClasses, TCollection, 'TCollection');
    AddGet(TCollection, 'Create', TCollection_Create, 1, [varEmpty], varEmpty);
    AddGet(TCollection, 'Add', TCollection_Add, 0, [varEmpty], varEmpty);
    AddGet(TCollection, 'Assign', TCollection_Assign, 1, [varEmpty], varEmpty);
    AddGet(TCollection, 'BeginUpdate', TCollection_BeginUpdate, 0, [varEmpty], varEmpty);
    AddGet(TCollection, 'Clear', TCollection_Clear, 0, [varEmpty], varEmpty);
    AddGet(TCollection, 'EndUpdate', TCollection_EndUpdate, 0, [varEmpty], varEmpty);
    AddGet(TCollection, 'FindItemID', TCollection_FindItemID, 1, [varEmpty], varEmpty);
    AddGet(TCollection, 'Count', TCollection_Read_Count, 0, [varEmpty], varEmpty);
    AddGet(TCollection, 'ItemClass', TCollection_Read_ItemClass, 0, [varEmpty], varEmpty);
    AddIGet(TCollection, 'Items', TCollection_Read_Items, 1, [varEmpty], varEmpty);
    AddIDGet(TCollection, TCollection_Read_Items, 1, [varEmpty], varEmpty);
    AddISet(TCollection, 'Items', TCollection_Write_Items, 1, [varNull]);
    AddIDSet(TCollection, TCollection_Write_Items, 1, [varNull]);
    { TStrings }
    AddClass(cClasses, TStrings, 'TStrings');
    AddGet(TStrings, 'Add', TStrings_Add, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'AddObject', TStrings_AddObject, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStrings, 'Append', TStrings_Append, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'AddStrings', TStrings_AddStrings, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'Assign', TStrings_Assign, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'BeginUpdate', TStrings_BeginUpdate, 0, [varEmpty], varEmpty);
    AddGet(TStrings, 'Clear', TStrings_Clear, 0, [varEmpty], varEmpty);
    AddGet(TStrings, 'Delete', TStrings_Delete, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'EndUpdate', TStrings_EndUpdate, 0, [varEmpty], varEmpty);
    AddGet(TStrings, 'Equals', TStrings_Equals, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'Exchange', TStrings_Exchange, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStrings, 'IndexOf', TStrings_IndexOf, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'IndexOfName', TStrings_IndexOfName, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'IndexOfObject', TStrings_IndexOfObject, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'Insert', TStrings_Insert, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStrings, 'InsertObject', TStrings_InsertObject, 3, [varEmpty, varEmpty, varEmpty], varEmpty);
    AddGet(TStrings, 'LoadFromFile', TStrings_LoadFromFile, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'LoadFromStream', TStrings_LoadFromStream, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'Move', TStrings_Move, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStrings, 'SaveToFile', TStrings_SaveToFile, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'SaveToStream', TStrings_SaveToStream, 1, [varEmpty], varEmpty);
    AddGet(TStrings, 'Capacity', TStrings_Read_Capacity, 0, [varEmpty], varEmpty);
    AddSet(TStrings, 'Capacity', TStrings_Write_Capacity, 0, [varEmpty]);
    AddGet(TStrings, 'CommaText', TStrings_Read_CommaText, 0, [varEmpty], varEmpty);
    AddSet(TStrings, 'CommaText', TStrings_Write_CommaText, 0, [varEmpty]);
    AddGet(TStrings, 'Count', TStrings_Read_Count, 0, [varEmpty], varEmpty);
    AddIGet(TStrings, 'Names', TStrings_Read_Names, 1, [varEmpty], varEmpty);
    AddIGet(TStrings, 'Values', TStrings_Read_Values, 1, [varEmpty], varEmpty);
    AddISet(TStrings, 'Values', TStrings_Write_Values, 1, [varNull]); // ivan_ra
    AddIGet(TStrings, 'Objects', TStrings_Read_Objects, 1, [varEmpty], varEmpty);
    AddISet(TStrings, 'Objects', TStrings_Write_Objects, 1, [varNull]);
    AddIGet(TStrings, 'Strings', TStrings_Read_Strings, 1, [varEmpty], varEmpty);
    AddISet(TStrings, 'Strings', TStrings_Write_Strings, 1, [varNull]);
    AddIDGet(TStrings, TStrings_Read_Strings, 1, [varEmpty], varEmpty);
    AddIDSet(TStrings, TStrings_Write_Strings, 1, [varNull]);
    AddGet(TStrings, 'Text', TStrings_Read_Text, 0, [varEmpty], varEmpty);
    AddSet(TStrings, 'Text', TStrings_Write_Text, 0, [varEmpty]);
    AddGet(TStrings, 'StringsAdapter', TStrings_Read_StringsAdapter, 0, [varEmpty], varEmpty);
    AddSet(TStrings, 'StringsAdapter', TStrings_Write_StringsAdapter, 0, [varEmpty]);
    { TDuplicates }
    AddConst(cClasses, 'dupIgnore', Ord(dupIgnore));
    AddConst(cClasses, 'dupAccept', Ord(dupAccept));
    AddConst(cClasses, 'dupError', Ord(dupError));
    { TStringList }
    AddClass(cClasses, TStringList, 'TStringList');
    AddGet(TStringList, 'Create', TStringList_Create, 0, [varEmpty], varEmpty);
    AddGet(TStringList, 'Add', TStringList_Add, 1, [varEmpty], varEmpty);
    AddGet(TStringList, 'Clear', TStringList_Clear, 0, [varEmpty], varEmpty);
    AddGet(TStringList, 'Delete', TStringList_Delete, 1, [varEmpty], varEmpty);
    AddGet(TStringList, 'Exchange', TStringList_Exchange, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStringList, 'Find', TStringList_Find, 2, [varEmpty, varByRef], varEmpty);
    AddGet(TStringList, 'IndexOf', TStringList_IndexOf, 1, [varEmpty], varEmpty);
    AddGet(TStringList, 'Insert', TStringList_Insert, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStringList, 'Sort', TStringList_Sort, 0, [varEmpty], varEmpty);
    AddGet(TStringList, 'Duplicates', TStringList_Read_Duplicates, 0, [varEmpty], varEmpty);
    AddSet(TStringList, 'Duplicates', TStringList_Write_Duplicates, 0, [varEmpty]);
    AddGet(TStringList, 'Sorted', TStringList_Read_Sorted, 0, [varEmpty], varEmpty);
    AddSet(TStringList, 'Sorted', TStringList_Write_Sorted, 0, [varEmpty]);
    { TStream }
    AddClass(cClasses, TStream, 'TStream');
    AddGet(TStream, 'Read', TStream_Read, 2, [varByRef, varEmpty], varEmpty);
    AddGet(TStream, 'Write', TStream_Write, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStream, 'Seek', TStream_Seek, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStream, 'ReadBuffer', TStream_ReadBuffer, 2, [varByRef, varEmpty], varEmpty);
    AddGet(TStream, 'WriteBuffer', TStream_WriteBuffer, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStream, 'CopyFrom', TStream_CopyFrom, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStream, 'ReadComponent', TStream_ReadComponent, 1, [varEmpty], varEmpty);
    AddGet(TStream, 'ReadComponentRes', TStream_ReadComponentRes, 1, [varEmpty], varEmpty);
    AddGet(TStream, 'WriteComponent', TStream_WriteComponent, 1, [varEmpty], varEmpty);
    AddGet(TStream, 'WriteComponentRes', TStream_WriteComponentRes, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStream, 'WriteDescendent', TStream_WriteDescendent, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStream, 'WriteDescendentRes', TStream_WriteDescendentRes, 3, [varEmpty, varEmpty, varEmpty], varEmpty);
    AddGet(TStream, 'ReadResHeader', TStream_ReadResHeader, 0, [varEmpty], varEmpty);
    AddGet(TStream, 'Position', TStream_Read_Position, 0, [varEmpty], varEmpty);
    AddSet(TStream, 'Position', TStream_Write_Position, 0, [varEmpty]);
    AddGet(TStream, 'Size', TStream_Read_Size, 0, [varEmpty], varEmpty);
    AddSet(TStream, 'Size', TStream_Write_Size, 0, [varEmpty]);
    { TFileStream }
    AddClass(cClasses, TFileStream, 'TFileStream');
    AddGet(TFileStream, 'Create', TFileStream_Create, 2, [varEmpty, varEmpty], varEmpty);
    { TMemoryStream }
    AddClass(cClasses, TMemoryStream, 'TMemoryStream');
    AddGet(TMemoryStream, 'Create', TMemoryStream_Create, 0, [varEmpty], varEmpty);
    { TJvStringStream  }
    AddClass(cClasses, TStringStream, 'TStringStream ');
    AddGet(TStringStream, 'Create', TStringStream_Create, 1, [varEmpty], varEmpty);
    AddGet(TStringStream, 'Read', TStringStream_Read, 2, [varByRef, varEmpty], varEmpty);
    AddGet(TStringStream, 'ReadString', TStringStream_ReadString, 1, [varEmpty], varEmpty);
    AddGet(TStringStream, 'Seek', TStringStream_Seek, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStringStream, 'Write', TStringStream_Write, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TStringStream, 'WriteString', TStringStream_WriteString, 1, [varEmpty], varEmpty);
    AddGet(TStringStream, 'DataString', TStringStream_Read_DataString, 0, [varEmpty], varEmpty);
    { TComponentState }
    AddConst(cClasses, 'csLoading', Ord(csLoading));
    AddConst(cClasses, 'csReading', Ord(csReading));
    AddConst(cClasses, 'csWriting', Ord(csWriting));
    AddConst(cClasses, 'csDestroying', Ord(csDestroying));
    AddConst(cClasses, 'csDesigning', Ord(csDesigning));
    AddConst(cClasses, 'csAncestor', Ord(csAncestor));
    AddConst(cClasses, 'csUpdating', Ord(csUpdating));
    AddConst(cClasses, 'csFixups', Ord(csFixups));
    { TComponentStyle }
    AddConst(cClasses, 'csInheritable', Ord(csInheritable));
    AddConst(cClasses, 'csCheckPropAvail', Ord(csCheckPropAvail));
    { TComponent }
    AddClass(cClasses, TComponent, 'TComponent');
    AddGet(TComponent, 'Create', TComponent_Create, 1, [varEmpty], varEmpty);
    AddGet(TComponent, 'DestroyComponents', TComponent_DestroyComponents, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'Destroying', TComponent_Destroying, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'FindComponent', TComponent_FindComponent, 1, [varEmpty], varEmpty);
    AddGet(TComponent, 'FreeNotification', TComponent_FreeNotification, 1, [varEmpty], varEmpty);
    AddGet(TComponent, 'FreeOnRelease', TComponent_FreeOnRelease, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'GetParentComponent', TComponent_GetParentComponent, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'HasParent', TComponent_HasParent, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'InsertComponent', TComponent_InsertComponent, 1, [varEmpty], varEmpty);
    AddGet(TComponent, 'RemoveComponent', TComponent_RemoveComponent, 1, [varEmpty], varEmpty);
    AddGet(TComponent, 'SafeCallException', TComponent_SafeCallException, 2, [varEmpty, varEmpty], varEmpty);
    AddGet(TComponent, 'ComObject', TComponent_Read_ComObject, 0, [varEmpty], varEmpty);
    AddIGet(TComponent, 'Components', TComponent_Read_Components, 1, [varEmpty], varEmpty);
    AddGet(TComponent, 'ComponentCount', TComponent_Read_ComponentCount, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'ComponentIndex', TComponent_Read_ComponentIndex, 0, [varEmpty], varEmpty);
    AddSet(TComponent, 'ComponentIndex', TComponent_Write_ComponentIndex, 0, [varEmpty]);
    AddGet(TComponent, 'ComponentState', TComponent_Read_ComponentState, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'ComponentStyle', TComponent_Read_ComponentStyle, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'DesignInfo', TComponent_Read_DesignInfo, 0, [varEmpty], varEmpty);
    AddSet(TComponent, 'DesignInfo', TComponent_Write_DesignInfo, 0, [varEmpty]);
    AddGet(TComponent, 'Owner', TComponent_Read_Owner, 0, [varEmpty], varEmpty);
    AddGet(TComponent, 'VCLComObject', TComponent_Read_VCLComObject, 0, [varEmpty], varEmpty);
    AddSet(TComponent, 'VCLComObject', TComponent_Write_VCLComObject, 0, [varEmpty]);
    AddGet(TComponent, 'Name', TComponent_Read_Name, 0, [varEmpty], varEmpty);
    AddSet(TComponent, 'Name', TComponent_Write_Name, 0, [varEmpty]);
    AddGet(TComponent, 'Tag', TComponent_Read_Tag, 0, [varEmpty], varEmpty);
    AddSet(TComponent, 'Tag', TComponent_Write_Tag, 0, [varEmpty]);

    AddHandler(cClasses, 'TNotifyEvent', TJvInterpreterClassesEvent, @TJvInterpreterClassesEvent.NotifyEvent);
    AddHandler(cClasses, 'THelpEvent', TJvInterpreterClassesEvent, @TJvInterpreterClassesEvent.HelpEvent);
  end;
  RegisterClasses([TPersistent, TCollection, TCollectionItem, TStrings,
    TStringList, TComponent]);
end;

{$IFDEF UNITVERSIONING}
initialization
  RegisterUnitVersion(HInstance, UnitVersioning);

finalization
  UnregisterUnitVersion(HInstance);
{$ENDIF UNITVERSIONING}

end.

⌨️ 快捷键说明

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