LINUX.ORG.RU

Ворпос по работе с объектами в Bp 7.0


0

0

unit gr_obj;

interface

type graph_obj_parent = object private x, y : integer; color : word; public constructor init ( x_in, y_in : integer; color_in : word); procedure draw ( color_in : word); virtual; procedure show; procedure hide; procedure move_to ( x_in, y_in : integer); virtual; end;

button = object ( graph_obj_parent) private dx, dy : integer; constructor init ( x1_in, y1_in, x2_in, y2_in : integer; color_in : word); procedure draw ( color_in : word); virtual; end; ... implementation ... constructor graph_obj_parent.init ( x_in, y_in : integer; color_in : word); begin x := x_in; y := y_in; color := color_in; end; ... constructor button.init ( x1_in, y1_in, x2_in, y2_in : integer; color_in : word); begin inherited init ( x1_in, y1_in, color_in); dx := x2_in - x1_in; dy := y2_in - y1_in; end; ...

В основной программе подключаю этот модуль и вызываю init

var str : string; tmp : button;

BEGIN clrscr; str := 'asdf'; init_graph; writeln ( str); tmp.init( 500, 200, 550, 220, 20); ... Выдает ошибку что слишком много параметров у init, ну дак я ведь переопределил эту функцию, кто знаком с BP 7.0. подскажите.

Stalcker

anonymous

Ты бы форматирование сделал бы ...

anonymous
()

unit gr_obj;

{---------------------------------------------------------------------}
interface
{---------------------------------------------------------------------}

	type
{---------------------------------------------------------------------}
	graph_obj_parent = object
	private
		x, y : integer;
		color  : word;
	public
		constructor init ( x_in, y_in : integer; color_in : word);
		procedure draw ( color_in : word); virtual;
		procedure show;
		procedure hide;
		procedure move_to ( x_in, y_in : integer); virtual;
     end;
{---------------------------------------------------------------------}
    button = object ( graph_obj_parent)
    private
        dx, dy : integer;
		constructor init ( x1_in, y1_in, x2_in, y2_in : integer;
                         color_in : word);
		procedure draw ( color_in : word); virtual;
        end;

implementation

{---------------------------------------------------------------------}
uses graph;
{---------------------------------------------------------------------}
constructor graph_obj_parent.init (
		x_in, y_in : integer;
		color_in : word);
begin
        x := x_in;
        y := y_in;
        color := color_in;
end;
{---------------------------------------------------------------------}
procedure graph_obj_parent.draw ( color_in : word);
begin
	line ( 0, 0, 640, 480);
end;
{---------------------------------------------------------------------}
procedure graph_obj_parent.show;
begin
	draw ( color);
end;
{---------------------------------------------------------------------}
procedure graph_obj_parent.hide;
begin
	draw ( 12);
end;
{---------------------------------------------------------------------}
procedure graph_obj_parent.move_to ( x_in, y_in : integer);
begin

end;
{---------------------------------------------------------------------}
{---------------------------------------------------------------------}
constructor button.init (
		x1_in, y1_in, x2_in, y2_in : integer;
		color_in : word);
begin
     inherited init ( x1_in, y1_in, color_in);
     dx := x2_in - x1_in;
     dy := y2_in - y1_in;
end;


В основной программе подключаю этот модуль и вызываю init

uses CRT, GRAPH, gr_obj;

var
	str  : string;
	tmp : button;

BEGIN
	clrscr;
	str := 'asdf';
	init_graph;
	writeln ( str);
	tmp.init( 500, 200, 550, 220, 20);
	tmp.draw( 7);
	readkey;
	closegraph;
END.

Выдает ошибку что слишком много параметров у init, ну дак я ведь переопределил эту функцию, кто знаком с BP 7.0. подскажите.

Stalcker 

Забыл про форматирование, извиняйте.

Stalcker 

anonymous
()
Ответ на: комментарий от anonymous

Для anonymous:

Спасибо, совсем запарился.

anonymous
()
Ответ на: комментарий от mikhail

>Зачем BP, когда есть FP...

Это ты объясни преподавателю:))))).

stalcker
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.