{Для опытных это семечки. В чем тут подвох ? Пару строк кода, если сможете, подскажите в чем тут ошибка}
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type MyClass = class //– create class Myclass.
Name: string;
Color: string;
function info():string;
end;
function MyClass.info():string;
begin
Result:= ('Name:'+MyClass.Name+' Color:'+MyClass.Color);
end;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
var
Form1: TForm1;
Obj:MyClass;
begin
Obj:=MyClass.Create();
Obj.Name:='Vasja';
Obj.Color:='Green';
Showmessage(Obj.info());
end;
implementation
{$R *.dfm}
end.
Создание собственного класса в Delphi и работа с объектами.
Перед "Var" поставь "end;", для того, чтобы показать что описание класса TForm1 закончено
и, возможно, еще нужно "implementation" после этого энда поставить, вместо того, где он сейчас,
К тому же непонятно к чему у тебя относится
и, возможно, еще нужно "implementation" после этого энда поставить, вместо того, где он сейчас,
К тому же непонятно к чему у тебя относится
оберни этот кусок кода в процедуру каукую-нибудьvar
Form1: TForm1;
Obj:MyClass;
begin
Obj:=MyClass.Create();
Obj.Name:='Vasja';
Obj.Color:='Green';
Showmessage(Obj.info());
end;
А вот и рабочий код , приятного просмотра:
Код: Выделить всё
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type MyClass = class
private
Name: String;
Color: String;
public
function info():String;//metod vivoda informacii ob objekte
procedure setName(N:string);
function getName():String;
procedure setColor(C:string);
function getColor():String;
end;
implementation
{$R *.dfm}
procedure MyClass.setName(N:string); //Ввод имени
begin
Name:=N;
end;
function MyClass.getName():String; //Вывод имени
begin
result:=Name;
end;
procedure MyClass.setColor(C:string);
begin
Color:=C;
end;
function MyClass.getColor():String;
begin
result:=Color;
end;
function MyClass.info():String;
begin
result:= ('Name: '+getName()+ ' Color:'+getColor()); //Vivodim informaciju ob objekte
end;
procedure TForm1.FormCreate(Sender: TObject);
var
Obj:MyClass;
begin
Obj:=MyClass.Create;
Obj.Name:='Crocodile';
Obj.Color:='Green';
Showmessage(Obj.info()); //Vivodim soobschenie o parametrah objekta
Obj.Free();
end;
end.