Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.10.2013, 08:51
Zet_iKs Zet_iKs вне форума
Прохожий
 
Регистрация: 06.10.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Контрольная по Delphi 7

Всем привет! НУЖНА ВАША ПОМОЩЬ!!! В Delphi вообще не соображаю(((
Имеется задание:
Открыть модуль, не связанный с формой и поместить в него три класса:
1. Класс Animal, который содержит в разделе public объявление конструктора Create и объявление метода-функции: Verse – звук, издаваемый животным. Тип результата возвращаемого функцией – string. Метод Verse объявить виртуальным и абстрактным. В разделе private класса определить переменную Kind: string.
2. Класс Dog объявить потомком класса Animal. В разделе public этого класса объявить конструктор и методы Verse и Eat. Метод Eat типа string объявить виртуальным (пища животного).
3. Класс Cat объявить потомком класса Animal. Раздел public класса содержит те же определения, что и соответствующий раздел класса Dog.
4. В реализациях конструктора каждого класса переменной Kind присваивается имя соответствующего животного, например для класса Animal: Kind := ‘An Animal’.
5. В реализациях методов Verse возвращается звук, издаваемый животным, например Verse := «Мяу».
6. В реализациях методов Eat возвращается название пищи, которой питается соответствующее животное.
7. Задать имя модуля и имя проекта, в который этот модуль будет включен.
8. Добавить в проект форму, которой присвоить имя Animals, также задать имя модулю, связанному с формой.
9. В форме расположить три кнопки опций (компонент RadioButton) с названиями Animal, Dog, Cat; кнопкой команды (компонент Button) с названием Kind и две крупных надписи (компонент Label) . Нажатию одной из кнопок опций будет соответствовать выбор животного. При нажатии кнопки команды надписи должны отобразить звук, издаваемый животным и его пищу.
10. Определите в классе формы private-переменную MyAnimal. Запишите код для обработчика события OnCreate формы, где создается объект типа Dog, на который ссылается переменная MyAnimal.
11. В обработчиках события OnClick каждой кнопки опций записать код, который удаляет текущий объект и создает новый.
12. В обработчике события OnClick кнопки команды записать код, который будет помещать в надписи звук, издаваемый животным и его пищу. Для работы с методом Eat используйте операцию is для приведения типов.
13. Если вы все сделали правильно, при запуске приложения надписи будут отображать пищу и звук для Dog и Cat и приложение завершит работу по ошибке при выборе Animal.
Буду признателен за любую помощь! Заранее, большое спасибо откликнувшимся!!!!!!!
Ответить с цитированием
  #2  
Старый 06.10.2013, 09:41
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

для начала так, это уже можно компилировать:
Код:
type
  TAnimal = class
  private
    { Private declarations }
  public
    { Public declarations }
  end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #3  
Старый 06.10.2013, 09:59
Zet_iKs Zet_iKs вне форума
Прохожий
 
Регистрация: 06.10.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Классы я уже создал. В интернете поискал.
Код:
unit Unit1;

interface
   type
TAnimal=class
private
kind:string;
public
constructor Create;
function Verse: string; virtual;abstract;
end;
   TDog=class(TAnimal)
public
constructor Create;
function Verse: string; override;
function Eat: string;virtual;
end;

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

uses
  SysUtils, Classes;

type
  TDataModule1 = class(TDataModule)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DataModule1: TDataModule1;

implementation

{$R *.dfm}
  constructor TAnimal.Create;
begin
kind:='An Animal';
end;
  function TDog.Verse;
begin
result:='Гав';
end;
 function TDog.eat;
begin
result:='Кость';
end;
end.
Возникли вопросы с седьмым пунктом задания - "Задать имя модуля и имя проекта, в который этот модуль будет включен" как это сделать?
Ответить с цитированием
  #4  
Старый 06.10.2013, 10:47
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

File - Save Project As... и File - Save As...
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #5  
Старый 13.10.2013, 03:13
Zet_iKs Zet_iKs вне форума
Прохожий
 
Регистрация: 06.10.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Спасибо! А как дальше? Расскажите вкратце по пунктам. Я в Delphi вообще не бум-бум. Коды еще кое-как получается, а вот в остальном проблемы(((
Ответить с цитированием
  #6  
Старый 13.10.2013, 03:50
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп: Побуду немного клавишником (пока маэстро на массу давит), а то всё на гитаре да на гитаре...

Подразумевается что у вас открыт новый проект, теперь его нужно сохранить на диске через пункт меню File - Save Project As... или сразу всё через File - Save All... Здесь можно задать имя проекта т.е. как он будет называться. По умолчанию это Project1.dpr, затем идёт модуль формы, по умолчанию это Unit1.pas. Всё. После по легенде (заданию) надо добавить новую форму File - New - Form , она появится, нужно будет задать ей имя (свойство Name в Object Inspector`е, по дефолту оно Form2) как Animals - это кличка такое будет, при любом действии обращаться к ней теперь надо именно так. Сохранить точно так же, только под ником Unit2. А опосля всего этого смело можно компонентов, прям по списку на форму эту накидывать, ну и т.д.

Вопрос: А звукиМу уже готовы?

З.Ы. Вот это особо порадовало
Цитата:
...При нажатии кнопки команды надписи должны отобразить звук, издаваемый животным и его пищу...
Звуки - понятно как, но отобразить пищу - энто как, что-то новенькое
Ответить с цитированием
  #7  
Старый 13.10.2013, 04:29
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Т.е. отображение звука вас не удивило? Тогда как эксперт в этой области скажите - звук какой животины я изобразил? Уауауауууууауууууу!
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #8  
Старый 13.10.2013, 04:45
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Оффтоп:

Цитата:
Сообщение от Страдалецъ
Т.е. отображение звука вас не удивило? Тогда как эксперт в этой области скажите - звук какой животины я изобразил? Уауауауууууауууууу!
Это у меня сейчас две миленьких моих спиногрызки так орут, отчего сижу и кукую пока очередь для их очередной развлекаловки до меня не дошла

Не, ну правда дебилизм какой-то, как надпись на кнопке может звук (и пищу) отобразить, так бы и написали - что орёт и что жрёт животинка энта, а то ишь как, едрёнкочерыжка, замутили составители

Последний раз редактировалось Alegun, 16.10.2013 в 20:43.
Ответить с цитированием
  #9  
Старый 16.10.2013, 03:01
Zet_iKs Zet_iKs вне форума
Прохожий
 
Регистрация: 06.10.2013
Сообщения: 4
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Отображение звука это на форме нужно написать "Мау" или "Гав", пищи - "Рыба" или "Кость".
Сделал все как сказали, но при запуске программы выдает ошибку в коде
Код:
 
uses    <-вот тут
  SysUtils, Classes;
полный код программы выше
Ответить с цитированием
  #10  
Старый 16.10.2013, 03:35
Аватар для Alegun
Alegun Alegun вне форума
LMD-DML
 
Регистрация: 12.07.2009
Адрес: Богородское
Сообщения: 3,025
Версия Delphi: D7E
Репутация: 1834
По умолчанию

Переместите секцию uses вверх по коду, прям до интерфейса
Ответить с цитированием
  #11  
Старый 16.10.2013, 18:46
Аватар для Freeman
Freeman Freeman вне форума
Местный
 
Регистрация: 05.10.2012
Адрес: Санкт-Петербург
Сообщения: 576
Версия Delphi: 6
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Страдалецъ
эксперт в этой области скажите - звук какой животины я изобразил? Уауауауууууауууууу!
Нарываюсь на офтопик, но такой звук обычно издает кот, перед тем как сблевануть. А когда кошку хочет -- с паузой посередине: "Уауауауууу! Уауууууу!"
__________________
Не стоит путать форумы с богадельнями. © Bargest
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter