mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-07 06:08:22 +02:00
205 lines
4.4 KiB
ObjectPascal
205 lines
4.4 KiB
ObjectPascal
{$Mode objfpc}
|
|
|
|
{
|
|
This unit introduces some basic classes as they are defined in Delphi.
|
|
These classes should be source compatible to their Delphi counterparts:
|
|
TPersistent
|
|
TComponent
|
|
}
|
|
|
|
Unit tb0300;
|
|
|
|
{$M+}
|
|
|
|
Interface
|
|
|
|
Type
|
|
|
|
{ ---------------------------------------------------------------------
|
|
Forward Declarations.
|
|
---------------------------------------------------------------------}
|
|
|
|
TComponent = Class;
|
|
TFiler = Class;
|
|
TPersistent = Class;
|
|
|
|
{ ---------------------------------------------------------------------
|
|
TFiler
|
|
---------------------------------------------------------------------}
|
|
|
|
TFiler = Class (TObject)
|
|
Protected
|
|
FAncestor : TComponent;
|
|
FIgnoreChildren : Boolean;
|
|
FRoot : TComponent;
|
|
Private
|
|
Public
|
|
Published
|
|
{ Methods }
|
|
Constructor Create {(Stream : TStream; BufSize : Longint) };
|
|
Destructor Destroy; override;
|
|
Procedure FlushBuffer; virtual; abstract;
|
|
{ Properties }
|
|
Property Root : TComponent Read FRoot Write FRoot;
|
|
Property Ancestor : TComponent Read FAncestor Write FAncestor;
|
|
Property IgnoreChildren : Boolean Read FIgnoreChildren Write FIgnoreChildren;
|
|
end;
|
|
|
|
{ ---------------------------------------------------------------------
|
|
TPersistent
|
|
---------------------------------------------------------------------}
|
|
|
|
TPersistent = Class (TObject)
|
|
Private
|
|
Procedure AssignError (Source : TPersistent);
|
|
Protected
|
|
Procedure AssignTo (Dest : TPersistent);
|
|
Procedure DefineProperties (Filer : TFiler); Virtual;
|
|
Public
|
|
{ Methods }
|
|
Destructor Destroy; Override;
|
|
Procedure Assign (Source : TPersistent); virtual;
|
|
Published
|
|
end;
|
|
|
|
{ ---------------------------------------------------------------------
|
|
TComponent
|
|
---------------------------------------------------------------------}
|
|
|
|
TComponentState = Set of ( csLoading, csReading, CsWriting, csDestroying,
|
|
csDesigning, csAncestor, csUpdating, csFixups );
|
|
TComponentStyle = set of ( csInheritable,csCheckPropAvail );
|
|
TComponentName = String;
|
|
|
|
TComponent = Class (TPersistent)
|
|
Protected
|
|
FComponentState : TComponentState;
|
|
FComponentStyle : TComponentStyle;
|
|
FName : TComponentName;
|
|
|
|
FOwner : TComponent;
|
|
Function GetComponent (Index : Longint) : TComponent;
|
|
Function GetComponentCount : Longint;
|
|
Function GetComponentIndex : Longint;
|
|
Procedure SetComponentIndex (Value : Longint);
|
|
Procedure Setname (Value : TComponentName);
|
|
Private
|
|
Public
|
|
{ Methods }
|
|
{ Properties }
|
|
Property ComponentCount : Longint Read GetComponentCount; { RO }
|
|
Property ComponentIndex : Longint Read GetComponentIndex write SetComponentIndex; { R/W }
|
|
// Property Components [Index : LongInt] : TComponent Read GetComponent; { R0 }
|
|
Property ComponentState : TComponentState Read FComponentState; { RO }
|
|
Property ComponentStyle : TcomponentStyle Read FComponentStyle; { RO }
|
|
Property Owner : TComponent Read Fowner; { RO }
|
|
Published
|
|
Property Name : TComponentName Read FName Write Setname;
|
|
end;
|
|
|
|
|
|
|
|
|
|
Implementation
|
|
|
|
{ ---------------------------------------------------------------------
|
|
TComponent
|
|
---------------------------------------------------------------------}
|
|
|
|
Function TComponent.GetComponent (Index : Longint) : TComponent;
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
Function TComponent.GetComponentCount : Longint;
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
Function TComponent.GetComponentIndex : Longint;
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
Procedure TComponent.SetComponentIndex (Value : Longint);
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
|
|
Procedure TComponent.Setname (Value : TComponentName);
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
{ ---------------------------------------------------------------------
|
|
TFiler
|
|
---------------------------------------------------------------------}
|
|
|
|
Constructor TFiler.Create {(Stream : TStream; BufSize : Longint) };
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
|
|
Destructor TFiler.Destroy;
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
|
|
{ ---------------------------------------------------------------------
|
|
TPersistent
|
|
---------------------------------------------------------------------}
|
|
|
|
Procedure TPersistent.AssignError (Source : TPersistent);
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
Procedure TPersistent.AssignTo (Dest : TPersistent);
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
Procedure TPersistent.DefineProperties (Filer : TFiler);
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
Destructor TPersistent.Destroy;
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
Procedure TPersistent.Assign (Source : TPersistent);
|
|
|
|
begin
|
|
end;
|
|
|
|
|
|
|
|
end.
|