Показать сообщение отдельно
  #12  
Старый 04.11.2009, 21:52
Redstason Redstason вне форума
Новичок
 
Регистрация: 24.02.2007
Сообщения: 57
Репутация: 10
По умолчанию

Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TMyClass = class
  private
    { Private declarations }
  public
    procedure MyMetod(str:string);overload;
    procedure MyMetod(str:string;i:integer);overload;
    procedure MyMetod(str:string;i:integer;j:boolean);overload;
    { Public declarations }
  end;

  TAbClass = class
  private
    { Private declarations }
  public
   procedure MyMetod(str:string);virtual; abstract;
    { Public declarations }
  end;

  TAb1Class = class(TAbClass)
  private
    { Private declarations }
  public
   procedure MyMetod(str:string);virtual;
    { Public declarations }
  end;

  T1Obj = class
   FExtData : Extended;
   procedure SetData(AValue: Extended);overload;
  end;

  T2Obj = class(T1Obj)
   FIntData : Integer;
   procedure SetData(AValue: Integer); overload;
  end;

  var
  Form1: TForm1;
  my:TMyClass;
  tab1:TAb1Class;
  my_t2obj:T2Obj;

implementation

{$R *.dfm}
procedure TMyClass.MyMetod (str:string);
begin
 ShowMessage(str);
end;

procedure TMyClass.MyMetod (str:string;i:integer);
 var
  j:integer;
begin
 j:=0;
 while (j<=i) do
  begin
   ShowMessage(str);
  Inc(j);
  end;
end;

procedure TMyClass.MyMetod(str:string;i:integer;j:boolean);
 var
  k:integer;
begin
 if j then
  begin
   k:=0;
   while (k<=i) do
    begin
     ShowMessage(str);
     Inc(k);
    end;
  end;
end;

procedure TAb1Class.MyMetod(str:string);
begin
 ShowMessage(str);
end;

procedure T1Obj.SetData(AValue: Extended);
begin
 ShowMessage('Extended');
end;

procedure T2Obj.SetData(AValue: Integer);
begin
 ShowMessage('Integer');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 my.MyMetod('Hello');
 my.MyMetod('Hello',3);
 my.MyMetod('Hello',3,false);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 tab1.MyMetod('I abstact');
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
 my_t2obj.SetData(2);
 my_t2obj.SetData(2.25);
end;

end.
Как-то так
Ответить с цитированием