Насколько я понял интересует создание собственного класса и его реализация

?Если это так то это будет долгий пример.
Код:
unit uMyObj;
interface
uses SysUtils;
type //Описываем новый класс данных
TMyObject = class // TMyObject прямой наследник класса TObject
private //Закрытые члены объекта
FOneVar: Integer; //По сути оба поля класса являются обычными //переменными.
FTwoVar: String;
procedure SetOneVar(const Val: Integer);// Процедура для изменения //состояния поля FOneVar
procedure SetTwoVar(const Val: String); // Аналогично для второго поля
function GetOneVar: Integer; // Функции для контроля состояния полей
function GetTwoVar: String;
public
constructor Create;override;// Унаследованный коструктор базового объекта тобиш TObject
destructor Destroy;override; //Унаследованный деструктор базового объекта
property OneVar: Integer read GetOneVar write SetOneVar;//А вот это уже свойства доступа к полю экземпляра данного класса
property TwoVar: String read GetTwoVar write SetTwoVar default 'Hello, World !!!';//Здесь аналогично свойство доступа но с добавкой значения по умолчанию
end;
implementation
{ TMyObject }
constructor TMyObject.Create;
begin
inherited;//Перед любыми действиями необходимо вызвать конструктор родительского класса
FOneVar:= 0;
end;
destructor TMyObject.Destroy;
begin
FOneVar:= 0;
FTwoVar:= '';
inherited;//После выполнения зачистки вызываем деструктор родителя
end;
function TMyObject.GetOneVar: Integer;
begin
Result:= FOneVar;
end;
function TMyObject.GetTwoVar: String;
begin
Result:= FTwoVar;
end;
procedure TMyObject.SetOneVar(const Val: Integer);
begin
if Val <> FOneVar then
FOneVar:= Val;
end;
procedure TMyObject.SetTwoVar(const Val: String);
begin
if Val <> FTwoVar then
FTwoVar:= Val;
end;
end.
Потом где то в программе пишем следующее:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
MyOb: TMyObject;
begin
MyObj:= TMyObject;//Создаём наш объект
MyObj.OneVar:= 15;
MyOb.TwoVar:= Format("Value from MyObj.OneVar = ", [MyObj.OneVar]);
MessageDlg(MyObj.TwoVar, mtInformation, [mbOK], 0);
end;