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

Delphi Sources



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

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.04.2014, 07:59
Аватар для morebeauty
morebeauty morebeauty вне форума
Начинающий
 
Регистрация: 21.06.2012
Сообщения: 106
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Поиск

Народ, подскажите, мне чего то не хватает мозгов.

Есть классы. Например

Код:
Tclass1 = class;
Tclass1 = class
private
fFieldA:string;
fFieldB:string;
Next:Tclass1;
public
constructor Create(fielda, fieldb: string);
end;

Tclass1list = class
private
fFirst:Tclass1;
function Search(index:olevariant):TClass1; //функция, которая ищет экземпляр Tclass1 по индексу или по полям fFieldA:string; fFieldB:string
public
property Cl[index: olevariant]:Tclass1 read Search; default;
end;

Tclass2 = class;
Tclass2 = class
private
fFieldC:string;
Next:Tclass2;
public
constructor Create(fieldC: string);
end;

Tclass2list = class
private
fFirst:Tclass2;
function Search(index:olevariant):TClass2; //функция, которая ищет экземпляр Tclass1 по индексу или по полю fFieldC:string;
public
property Cl[index: olevariant]:Tclass2 read Search; default;
end;

Таких классов еще несколько. В каждом есть поиск. Работает он одинаково, вычисляет тип переданной переменной index и если она числовая, то выдает экземпляр с нужным индексом, если текстовая, то ищет по нужным текстовым полям.
Вопрос, как можно вынести поиск в отдельный класс или обычную функцию, чтобы не описывать для каждого класса функцию поиска?
Хотелось бы изобразить в общем виде, типа:

Код:
function Search (СтрокаПоискаИлиИндекс: olevariant; СсылкаНаПервыйЭлементfFirst:КакойТипТутУказать; СписокПолейПоКоторымИскать:ВкакомВидеПередатьТожеНеЗнаю):ТипНужногоЭкземпляраКлассаТожеНеЗнаюКакВернуть;

Если это возможно осуществить, помогите.
Ответить с цитированием
 


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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