Показать сообщение отдельно
  #1  
Старый 28.03.2013, 18:10
Igor22 Igor22 вне форума
Прохожий
 
Регистрация: 28.03.2013
Сообщения: 6
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Удаление из массива по названию элемента

Добрый день,
у меня такая проблема есть программа написанная по принципам ооп(структура динамическая очередь упорядоченных массивов) в ней есть 3 класса(1 "стринговый" класс с 2 свойствами,2 класс на базе массива с 1св. и 3 на базе очереди тоже с 1 свт.)- собственно сама проблема:не совсем понимаю как правильно реализовать поиск и удаление элемента по названию из массива (не по индексу,название естественно string'вое)

Вот проблемный кусок кода(если надо могу выложить весь код класса массива)
Код:
function TSection.FindNews(_NewsName: string):string;
var
 i:byte;
begin
  for i:=1 to GetCount do
    if NewsArray[i].GetTitleName = _NewsName Then
    begin
      Result :=i;
      Exit;
    end;
  Result := 0;
end;


function TSection.DeleteNews(_NewsName:string): boolean;    
var
  i,tmp: Byte;
begin
  Result := False;
  if count <> 0 then
  begin
    tmp := FindNews(_NewsName:string);
    if tmp <> 0 then 
    begin    
      for i:=tmp to Count-1 do NewsArray[i] := NewsArray[i+1];
      NewsArray[Count] := nil;
      Dec(Count);     
      Result := True;
    end;
  end;
 end;
Ответить с цитированием