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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.02.2011, 23:28   #1
weader4
Новичок
Джуниор
 
Регистрация: 13.02.2011
Сообщений: 1
По умолчанию Классы в Delphi.

У меня есть код программы и модуль написан к ней там же загвоздка, ряд непонятных мне еще ошибок(На Дельфе пишу 2 день.)


Код:
unit Unit1;

interface

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

type
    TForm1 = class(TForm)
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    Button1: TButton;
    Label1: TLabel;
    Label2: TLabel;
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);

  private
  MyAnimal: TAnimal;
  public
    { Public declarations }
  end;



var
  Form1: TForm1;

implementation

{$R *.dfm}

  procedure TForm1.Form1OnCreate(Sender: TObject);
begin
  MyAnimal := TDog.Create;
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
  MyAnimal.Free;
  MyAnimal:=TAnimal.Create;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
  MyAnimal.Free;
  MyAnimal:=TAnimal.Create;
end;

procedure TForm1.RadioButton3Click(Sender: TObject);
begin
  MyAnimal.Free;
  MyAnimal:=TAnimal.Create;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := MyAnimal.Voice;
end;

end.


Модуль


unit Unit3;

interface
type
  TAnimal=class
private
public
  constructor Create;
  function Kind: string;
  function Voice: string; virtual; abstract;
end;
type
  TDog=class(TAnimal)

private
public
  constructor Create;
  function Voice: string; override;
  function Eat: string; virtual;
end;
type
  TCat = class (TAnimal)
private

public
     constructor Create;

end;
implementation
Constructor TAnimal.Create;
Var Kind: string;
Begin
    Kind := 'An Animal';
end;
Constructor Tdog.Create;
var Kind,Voice,Eat:string;
Begin
     Kind:='An anymal';
     Voice := 'Gav!';
     Eat:='A meat, please';
end;
Constructor TCat.Create;
var Kind,Voice,Eat:string;
Begin
    Kind := 'An anymal';
    Voice:='Mieow!';
    Eat:='A meat, please';
end;
end.
Ошибки:


[Error] Unit3.pas(9): Unsatisfied forward or external declaration: 'TAnimal.Kind'
[Error] Unit3.pas(18): Unsatisfied forward or external declaration: 'TDog.Voice'
[Error] Unit3.pas(19): Unsatisfied forward or external declaration: 'TDog.Eat'
[Fatal Error] Unit1.pas(7): Could not compile used unit 'Unit3.pas'

Последний раз редактировалось weader4; 13.02.2011 в 23:43.
weader4 вне форума Ответить с цитированием
Старый 13.02.2011, 23:41   #2
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

есть такая кнопочка когда сообшение пишеш #,
нажми правка и оформи как надо свое сообшение, ато его читать не реально
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 13.02.2011, 23:42   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

скажите честно, а вы не пробовали перевести ошибку на русский язык?
там вполне четко написано.

у вас метод обьявлен, но где его реализация?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.02.2011, 01:21   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Есть мнение, что надо взять в руки книжку. Или заплатить денюжку.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Классы в Delphi DomiNik Помощь студентам 8 28.10.2010 00:33
классы 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 МишаК Помощь студентам 1 30.05.2007 07:23