Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: CL | DM;

Вниз

Странный метод   Найти похожие ветки 

 
зодиак   (2010-02-03 13:54) [0]

Разъясните мне пожалуйста, в чем тайный смысл метода FindRecord в Db.pas, и дальнейший эго вызовы.

function FindRecord(Restart, GoForward: Boolean): Boolean; virtual;

...

function TDataSet.FindRecord(Restart, GoForward: Boolean): Boolean;
begin
 Result := False;
end;

function TDataSet.FindFirst: Boolean;
begin
 Result := FindRecord(True, True);
end;

function TDataSet.FindLast: Boolean;
begin
 Result := FindRecord(True, False);
end;

function TDataSet.FindNext: Boolean;
begin
 Result := FindRecord(False, True);
end;

function TDataSet.FindPrior: Boolean;
begin
 Result := FindRecord(False, False);
end;


 
Сергей М. ©   (2010-02-03 13:57) [1]

Ну как в чем ?

В поиске записи, разумеется ..


 
зодиак   (2010-02-03 13:57) [2]

дальнейший эго вызовы =  дальнейшие его вызовы
Сорри.


 
TUser ©   (2010-02-03 13:58) [3]


> virtual;

Это значит, что у потомка может вызываться при таком вызове его собственный метод. В этом, наверное, вся тайна.


 
зодиак   (2010-02-03 13:58) [4]


> Сергей М. ©   (03.02.10 13:57) [1]

Дык он же ее не находит. НИКОГДА.


 
oldman ©   (2010-02-03 14:00) [5]


> зодиак   (03.02.10 13:58) [4]
> Дык он же ее не находит. НИКОГДА.


Находит. Но никому не говорит.


 
Сергей М. ©   (2010-02-03 14:00) [6]


> он же ее не находит. НИКОГДА.
>


А как он может найти, если он попросту не знает что где и как конкретно искать ?
Об этом знают конкретные наследники этого класса, перекрывшие метод FindRecord ..


 
зодиак   (2010-02-03 14:02) [7]


> TUser ©   (03.02.10 13:58) [3]

А если потомка нет? И вызывается, например, FindLast, которая паблик


 
Сергей М. ©   (2010-02-03 14:05) [8]


> если потомка нет?


А нет потомка - нет и смысла использования TDataSet.
На то он и TDataSet, чтобы предоставить некий унифицированный интерфейс, абстрагированный от конкретных реализаций.


 
зодиак   (2010-02-03 14:14) [9]


> Сергей М. ©   (03.02.10 14:05) [8]

Ясно, спасибо.


 
Dimka Maslov ©   (2010-02-03 17:56) [10]

А могли бы этот метод объявить абстрактным и при его неперекрытии в потомках генерировалось бы исключение типа "абстракт эррор"


 
tesseract ©   (2010-02-03 22:06) [11]


> при его неперекрытии в потомках генерировалось бы исключение
> типа "абстракт эррор"


Что сильно бы радовало всех его потомков :-) А то завели моду всякие XML датасеты без поиска делать.


 
xayam ©   (2010-02-03 22:10) [12]


> tesseract ©   (03.02.10 22:06) [11]
> Что сильно бы радовало всех его потомков :-) А то завели
> моду всякие XML датасеты без поиска делать.

заглушки еще никто не отменял. Хотя я согласен: xml-датасет должен быть с поиском! :)



Страницы: 1 вся ветка

Текущий архив: 2010.08.27;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.066 c
2-1265657143
AlexDan
2010-02-08 22:25
2010.08.27
Три memo и один scrollbars..


2-1269514776
ComeGetSome
2010-03-25 13:59
2010.08.27
Интерфейс Delphi


15-1267433491
Prizrak
2010-03-01 11:51
2010.08.27
Delphi утилита для извлечения функций из любой dll


15-1275913323
user123
2010-06-07 16:22
2010.08.27
Нужны данные о принтерах и картриджах (в виде таблиц)


15-1265314234
Kerk
2010-02-04 23:10
2010.08.27
Задачка