Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 25
1

Создать класс принтер и написать его реализацию

24.05.2010, 19:49. Показов 2110. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Создать класс принтер и написать его реализацию. Результат всех методов должен отображаться на экране.
Свойства: - марка принтера
- год выпуска
- фирма-изготовитель
Методы: - вычисление срока эксплуатации (на данный момент).

Вопрос: Как это сделать? А то я только в pascal'e шарю((
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.05.2010, 19:49
Ответы с готовыми решениями:

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line
1. Создать класс Point (точка). На его основе создать классы ColoredPoint и Line. На основе класса...

Как сначала описать класс а потом написать его реализацию
Как в C# сначала описать класс а потом написать его реализацию(не используя interface) так, как это...

Создать абстрактный класс «Товар», на его основе создать класс «Автомобиль»
Вечер добрый, а может и не добрый. В изучении C# столкнулся с такой проблемой - как исключения. ...

Создать класс Point, на его основе создать класс Line
Здравствуйте, есть такая часть задачки: "Создать класс Point, на его основе создать класс Line....

4
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,162
Записей в блоге: 24
25.05.2010, 07:58 2
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
type TPrinter = class(TObject)
  public
    Year: Integer;
    Company: String;
    function Expluatation: integer;
end;
 
function TPrinter.Expluatation: Integer;
var r: Integer;
begin
  r:=CurrentYear - Year;
  write('Printer of ''' + Company + ''' was in use ' + Inttostr(r));
  Expluatation:=r;
end;
Примечания:
1. Должен быть подключен SysUtils, чтоб можно было текущее время узнавать.
2. Если используешь модули (т.е. файл имеет структуру unit-interface-implementation, как в Паскале), то тип должен объявляться в интерфейсе, а реалицазия всех методов в implementation.
3. Пример создания и использования:
Delphi
1
var p:TPrinter; begin p:=TPrinter.Create; p.Company:='Unknown'; p.Year:=2005; p.Expluatation; p.Destroy end;
1
150 / 150 / 3
Регистрация: 05.05.2010
Сообщений: 570
25.05.2010, 08:17 3
Mysterious Light, а пример проверялся? Думается, что не рабочий...

Я бы вот так реализовал:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
type
  TMPrinter = class(TObject)
  public
    Year: integer;
    Company: shortstring;
    function GetExpl: integer;
    property Expl: integer read GetExpl;
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
{ TMPrinter }
 
function TMPrinter.GetExpl: integer;
begin
  Result := CurrentYear-Year;
end;
Добавлено через 13 минут
Цитата Сообщение от harmless Посмотреть сообщение
Думается, что не рабочий...
Забираю слова обратно
1
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 25
25.05.2010, 08:58  [ТС] 4
Ну с годом разобрался)) Теперь возникла проблема записи в файл. На pascal я объявлял запись переменную и файл типа запись. Можно так в delphi сделать?
0
50 / 49 / 16
Регистрация: 12.03.2009
Сообщений: 133
25.05.2010, 09:25 5
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
type TPrinter = class(TObject)
 public
 Year: Integer;
 Company: String;
 function Expluatation: integer;
end;
function TPrinter.Expluatation: Integer;
var r: Integer;
begin
 r:=CurrentYear - Year;
 write('Printer of ''' + Company + ''' was in use ' + Inttostr(r));
 Expluatation:=r;
end;
Вообще-то если делать по уму, то нужно малость подправить этот код вот так

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
type TPrinter = class(TObject)
  private
    FYear: Integer;
    FCompany: String read;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    function Expluatation: integer;
    procedure SaveToFile;
    property Year: Integer read FYear write FYear;
    property Company: String read FCompany write FCompany;
  end;
 
procedure TPrinter.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;
 
destructor TPrinter.Destroy;
begin
  inherited Destroy;
end;
 
function TPrinter.Expluatation: Integer;
begin
   Result := CurrentYear - FYear;
end;
procedure TPrinter.SaveToFile
если дополнить код таким образом, то в инспекторе объектов будут отображаться свойсва Year и Company

Добавлено через 26 минут
Цитата Сообщение от GeneralMotors Посмотреть сообщение
Ну с годом разобрался)) Теперь возникла проблема записи в файл. На pascal я объявлял запись переменную и файл типа запись. Можно так в delphi сделать?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
uses
  SysUtils, Dialogs;
 
type
  TPrinter = class(TObject)
  private
    FYear: Integer;
    FCompany: String;
    FName: string;
  public
    constructor Create(AOwner: TComponent);
    destructor Destroy;
    function Expluatation: integer;
    procedure SaveToFile;
    property Year: Integer read FYear write FYear;
    property Company: String read FCompany write FCompany;
    property Name: string read FName write FName;
  end;
 
constructor TPrinter.Create(AOwner: TComponent);
begin
 
end;
 
destructor TPrinter.Destroy;
begin
 
end;
 
function TPrinter.Expluatation: Integer;
begin
   Result := CurrentYear - FYear;
end;
 
procedure TPrinter.SaveToFile;
var
  SD: TSaveDialog;
  F: TextFile;
begin
  try
    SD := TSaveDialog.Create(nil);
    if not SD.Execute then exit;
    AssignFile(F,SD.FileName);
    Rewrite(F);
    writeln(format('Принтер - %s',[FName]));
    writeln(format('Производитель - %s',[FCompany]));
    writeln(format('Год выпуска - %s',[FYear]));
    writeln(format('Срок службы - %d',[Expluatation]));
  finally
    FreeAndNil(SD);
    CloseFile(F);
  end;
end;
1
25.05.2010, 09:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.05.2010, 09:25
Помогаю со студенческими работами здесь

В picturebox создать лист размерами A4 с текстом и вывести его на принтер
в picturebox необходимо создать лист размерами A4 с текстом и затем вывести его на принтер, если...

Класс, полиморфизм (Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и вывести результат)
Задача. Написать класс, который хранит в себе некий номер ''nip'', проверит его на правильность и...

Создать класс Point (точка). На его основе создать классы ColoredPoint и Line
Необходимо: Создать класс Point (точка). На его основе создать классы ColoredPoint и Line...

Создать класс CPoint — точка. На его основе создать классы CcoloredPoint и CLine
Помогите доделать программу: Создать класс CPoint — точка. На его основе создать классы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru