Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2010, 22:48   #1
DomiNik
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 26
Вопрос Классы в Delphi

Написана программа, выдает ошибку "expected":" but "," found "... код ниже, нуждаюсь в Вашей помощи, так как нужно завтра сдавать!!!!

Код:

unit Unit1;

interface

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

type
TPryam = class(TObject)
S,P:real;
x1,x2,x3,x4,y1,y2,y3,y4:integer;
function PPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3, Ay4:integer):real;
function SPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3, Ay4:integer):real;
constructor create(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3, Ay4:integer);
end;

TTreug=class(TObject)
S,P:real;
x1,x2,x3,y1,y2,y3:integer;
function PTreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:inte ger):real;
function STreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:inte ger):real;
constructor create(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:inte ger);
end;
var
Form1: TForm1;
Pryam1:TPryam;
Treug1:TTreug;
implementation

{$R *.dfm}
constructor TPryam.create(Ax1,Ax2,Ax3,Ax4,Ay1,A y2,Ay3,Ay4:integer);
begin
inherited create;
x1:=Ax1;
x2:=Ax2;
x3:=Ax3;
x4:=Ax4;
y1:=Ay1;
y2:=Ay2;
y3:=Ay3;
y4:=Ay4;
P:PPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay 3,Ay4);
S;SPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay 3,Ay4);
end;
Function TPryam.PPryam(Ax1,Ax2,Ax3,Ax4,Ay1,A y2,Ay3,Ay4:integer):real;
begin
PPryam:=2*(sqrt(sqr(Ax2-Ax1)+sqr(Ay2-Ay1))+sqrt(sqr(Ax3-Ax2)+sqr(Ay3-Ay2)));
end;
Function TPryam.SPryam(Ax1,Ax2,Ax3,Ax4,Ay1,A y2,Ay3,Ay4:integer):real;
begin
SPryam:=(sqrt(sqr(Ax2-Ax1)+sqr(Ay2-Ay1))*sqrt(sqr(Ax3-Ax2)+sqr(Ay3-Ay2));
end;

constructor TTreug.create(Ax1,Ax2,Ax3,Ay1,Ay2,A y3:integer);
begin
inherited create;
x1:=Ax1;
x2:=Ax2;
x3:=Ax3;
y1:=Ay1;
y2:=Ay2;
y3:=Ay3;
P:=PTreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3);
S:=STreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3);
end;

Function TTreug.PTreug(Ax1,Ax2,Ax3,Ay1,Ay2,A y3:integer):real;
begin
PTreug:=sqrt(sqr(Ax2-Ax1)+sqr(Ay2-Ay1))+sqrt(sqr(Ax3-Ax2)+sqr(Ay3-Ay2))
+sqrt(sqr(Ax1-Ax3)+sqr(Ay1-Ay3));
end;

Function TTreug.STreug(Ax1,Ax2,Ax3,Ay1,Ay2,A y3:integer):real;
var p1:real;
begin
p1:=PTreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3)/2;
STreug:=sqrt(p1*(p1-sqrt(sqr(Ax2-Ax1)+sqr(Ay2-Ay1)))*(p1-sqrt(sqr(Ax3-Ax2)+
sqr(Ay3-Ay2)))*((p1-sqrt(sqr(Ax1-Ax3)+sqr(Ay1-Ay3)))));
end;
end.

Программа подсчета площади, по заданым точкам с известными координатами....
DomiNik вне форума Ответить с цитированием
Старый 27.10.2010, 22:50   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

на какой строке выдает то?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.10.2010, 23:01   #3
DomiNik
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 26
По умолчанию

type
TPryam = class(TObject)
S,P:real; - после s
DomiNik вне форума Ответить с цитированием
Старый 27.10.2010, 23:19   #4
WhiteSpirit
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 82
По умолчанию

Ну, попробуй в разных строках писать
Код:
...
S: Real;
P: Real;
...
WhiteSpirit вне форума Ответить с цитированием
Старый 27.10.2010, 23:21   #5
DomiNik
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 26
По умолчанию

не помогает....(
DomiNik вне форума Ответить с цитированием
Старый 27.10.2010, 23:42   #6
WhiteSpirit
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 82
По умолчанию

Сделай так и с другими полями
WhiteSpirit вне форума Ответить с цитированием
Старый 28.10.2010, 00:01   #7
DomiNik
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 26
По умолчанию

я уже пробывал, но ошибка та же(
DomiNik вне форума Ответить с цитированием
Старый 28.10.2010, 00:08   #8
WhiteSpirit
Пользователь
 
Регистрация: 28.05.2010
Сообщений: 82
По умолчанию

Немного исправил, компилируется
Код:
unit Unit1;

interface

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

type
TPryam = class(TObject)
S:real;
P:real;
x1: integer;
x2: integer;
x3: integer;
x4: integer;
y1: integer;
y2: integer;
y3: integer;
y4: integer;
function PPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3, Ay4:integer):real;
function SPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3, Ay4:integer):real;
constructor create(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3, Ay4:integer);
end;

TTreug=class(TObject)
S:real;
P:real;
x1: integer;
x2: integer;
x3: integer;
x4: integer;
y1: integer;
y2: integer;
y3: integer;
y4: integer;
function PTreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:integer):real;
function STreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:integer):real;
constructor create(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:integer);
end;

TForm1 = class(TForm)

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
Form1: TForm1;
Pryam1:TPryam;
Treug1:TTreug;
implementation

{$R *.dfm}
constructor TPryam.create(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3,Ay4:integer);
begin
inherited create;
x1:=Ax1;
x2:=Ax2;
x3:=Ax3;
x4:=Ax4;
y1:=Ay1;
y2:=Ay2;
y3:=Ay3;
y4:=Ay4;
P:=PPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3,Ay4);
S:=SPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3,Ay4);
end;
Function TPryam.PPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3,Ay4:integer):real;
begin
PPryam:=2*(sqrt(sqr(Ax2-Ax1)+sqr(Ay2-Ay1))+sqrt(sqr(Ax3-Ax2)+sqr(Ay3-Ay2)));
end;
Function TPryam.SPryam(Ax1,Ax2,Ax3,Ax4,Ay1,Ay2,Ay3,Ay4:integer):real;
begin
SPryam:=(sqrt(sqr(Ax2-Ax1)+sqr(Ay2-Ay1))*sqrt(sqr(Ax3-Ax2)+sqr(Ay3-Ay2)));
end;

constructor TTreug.create(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:integer);
begin
inherited create;
x1:=Ax1;
x2:=Ax2;
x3:=Ax3;
y1:=Ay1;
y2:=Ay2;
y3:=Ay3;
P:=PTreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3);
S:=STreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3);
end;

Function TTreug.PTreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:integer):real;
begin
PTreug:=sqrt(sqr(Ax2-Ax1)+sqr(Ay2-Ay1))+sqrt(sqr(Ax3-Ax2)+sqr(Ay3-Ay2))
+sqrt(sqr(Ax1-Ax3)+sqr(Ay1-Ay3));
end;

Function TTreug.STreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3:integer):real;
var p1:real;
begin
p1:=PTreug(Ax1,Ax2,Ax3,Ay1,Ay2,Ay3)/2;
STreug:=sqrt(p1*(p1-sqrt(sqr(Ax2-Ax1)+sqr(Ay2-Ay1)))*(p1-sqrt(sqr(Ax3-Ax2)+
sqr(Ay3-Ay2)))*((p1-sqrt(sqr(Ax1-Ax3)+sqr(Ay1-Ay3)))));
end;
end.
WhiteSpirit вне форума Ответить с цитированием
Старый 28.10.2010, 00:33   #9
DomiNik
Пользователь
 
Регистрация: 17.05.2010
Сообщений: 26
По умолчанию

Спасибо, все работает!!!
DomiNik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
классы delphi Terrance! Помощь студентам 4 19.09.2010 10:51
delphi классы Terrance! Помощь студентам 2 27.08.2010 19:31
Delphi (классы) prodigy00713 Помощь студентам 0 19.04.2009 21:36
Классы (Delphi) Kreaman Помощь студентам 2 14.02.2009 16:02
Классы в delphi МишаК Помощь студентам 1 30.05.2007 07:23