0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 100
1

Mетод search не является статическим для типа TOffender

26.01.2015, 19:59. Показов 2484. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть объект "преступник" и у него некоторые поля. Пытаюсь создать метод поиска по введённой строке. При компиляции такая ошибка: Mетод search не является статическим для типа TOffender.
Pascal
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
{$mode objfpc}
uses crt;
const N=2;
type TOffender=class
fam:string;
name:string;
clichka:string;
rost:integer;
 
constructor Create(fam0:string;name0:string;clichka0:string;rost0:integer);
procedure search(p:TOffender;st:string);
 
end;
 
procedure TOffender.search(p:TOffender;st:string);
begin
if (p.fam=st)or(p.name=st)or(p.clichka=st) then
 writeln(p);
end;
 
constructor TOffender.Create(fam0:string;name0:string;clichka0:string;rost0:integer);
begin
 fam:=fam0;
 name:=name0;
 clichka:=clichka0;
 rost:=rost0;
end;
 
var 
a:array[1..N] of TOffender;
i:integer;
begin
for i:=1 to N do begin
 a[i]:=TOffender.Create('Иванов','Иван','Вано',170);
 writeln(a[i].fam,' ',a[i].name,' ',a[i].clichka,' ',a[i].rost);
end;
TOffender.search(a[1],'Иван');
 
end.
Помогите исправить код, возможно надо создать отдельный объект для работы со списком?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2015, 19:59
Ответы с готовыми решениями:

Ошибка "Mетод init не является статическим для типа zvezda"
Здравствуйте начал учиться работать с классом , вот простая программа , но при выполнении ошибка ...

IEnumerable со статическим классом в качестве аргумента типа
Всем доброго дня! Такой вопрос. Есть статический класс, и нужно создать переменную типа IEnumerable...

Базовой датой для VBA-типа Date является 30 декабря 1899
VBA использует тип Date для хранения даты и времени. (Последовательные даты сохраняют дату как...

Mетод Монте-Карло
Други, помогите. Нужно на C# реализовать такую гадость: "Интеграл от функции f(x) в пределах от...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32830 / 21168 / 8147
Регистрация: 22.10.2011
Сообщений: 36,429
Записей в блоге: 8
26.01.2015, 20:28 2
Добавь в 11-ой и в 15 строках class в заголовке метода, будет тебе статический:
Pascal
11
12
13
14
15
16
17
18
19
class procedure search(p:TOffender;st:string);
 
end;
 
class procedure TOffender.search(p:TOffender;st:string);
begin
if (p.fam=st)or(p.name=st)or(p.clichka=st) then
 writeln(p);
end;
Но если ты думаешь, что Writeln(p) тебе напечатает содержимое полей - то это не так, запусти и посмотри...
1
0 / 0 / 0
Регистрация: 11.02.2014
Сообщений: 100
26.01.2015, 20:39  [ТС] 3
Благодарю, и правда просто вывело название проги=) вывел через p.fam,p.name и так далее, спасибо за помощь.
0
26.01.2015, 20:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2015, 20:39
Помогаю со студенческими работами здесь

Как удалить Piese Search из Google Chrome? Аналогичный Get Search
Аналогичный Get Search.

Пропадает фильтр по дополнительным полям JA K2 Filter and Search Search 1.0.4
Доброго времени суток уважаемые форумчане. Возникла проблема с пропадающим фильтром по...

Класс со статическим методом для сортировки массива
Есть массив данных. Вывести различные списки вроде бы получается. Как создать класс с сортировкой...

Сделать список публичным, статическим и только для чтения
у меня в классе есть список, я хочу чтобы он был публичным, статическим и не изменяемым (совсем),...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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