Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Удалить запись из TList 
:(
    Опции темы
serezhka1986
Дата 25.1.2013, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 12.6.2009

Репутация: нет
Всего: 0



Добрый день!
У меня есть TList, например, такой:
2
6
12
5
198
23
11
45

Подскажите, пожалуйста, как мне удалить из этого TList-а запись, например, 23, но я заранее не знаю в какой позиции эта запись? Т.е., я знаю что 
в TList-е есть 23 и мне надо ее удалить.
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
gesper
Дата 25.1.2013, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



TList хранит указатели, а не числа. Вобще открой delphi введи имя переменно и нажми точку, тебе покажут все доступные процедуры, там из их названий все доступно понятно что для чего.

x:=MyList.IndexOf(23);
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
serezhka1986
Дата 25.1.2013, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 12.6.2009

Репутация: нет
Всего: 0



Приведу код:
Код

...

type
  // Определение класса клиента
  TCustomer = class
    private
      // Поля данных этого нового класса
      CustomerNumber : Integer;

    public
      // Свойства для чтения значений этих данных
      property Number : Integer
          read CustomerNumber;

      // Коструктрор
      constructor Create(const CustomerNumber : Integer);
  end;

...

private
  myList : TList;

...

implementation

{$R *.dfm}

constructor TCustomer.Create(const CustomerNumber : Integer);
begin
  // Сохранение переданных параметров
  self.CustomerNumber := CustomerNumber;
end;

procedure TForm1.FormActivate(Sender: TObject);
var
  customer : TCustomer;
  i:integer;
begin
  // Создание объекта TList для хранения набора объектов клиент
  myList := TList.Create;
  Memo1.Clear;

  myList.Add(TCustomer.Create(999));
  myList.Add(TCustomer.Create(25));
  myList.Add(TCustomer.Create(54));
  myList.Add(TCustomer.Create(7));
  myList.Add(TCustomer.Create(6));
  myList.Add(TCustomer.Create(78));
  myList.Add(TCustomer.Create(12));
  myList.Add(TCustomer.Create(2));

  for i := 0 to myList.Count-1 do
  begin
     Memo1.Lines.Add(IntToStr(TCustomer(myList[i]).Number));
  end;

end;

Вот из этого списка мне надо удалить myList[?].Number = 54. Еще раз повторюсь, я не знаю где именно находится 54...
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
northener
Дата 25.1.2013, 17:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(serezhka1986 @  25.1.2013,  17:01 Найти цитируемый пост)
Вот из этого списка мне надо удалить myList[?].Number = 54. Еще раз повторюсь, я не знаю где именно находится 54... 

Ищи перебором в цикле. Найдешь - удалишь.


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
serezhka1986
Дата 25.1.2013, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 215
Регистрация: 12.6.2009

Репутация: нет
Всего: 0



Цитата(northener @  25.1.2013,  17:10 Найти цитируемый пост)
Ищи перебором в цикле. Найдешь - удалишь.

Ну я так в принципе и решил делать... Думал может есть еще какие варианты...
--------------------
Для некоторых лучший способ написать что-нибудь осмысленное - это сесть жопой на клавиатуру... 
PM   Вверх
northener
Дата 25.1.2013, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1361
Регистрация: 2.9.2010

Репутация: 12
Всего: 20



Цитата(serezhka1986 @  25.1.2013,  17:15 Найти цитируемый пост)
Думал может есть еще какие варианты

Если бы они и были бы, это был бы тот же перебор в цикле. Как и все IndexOf...


--------------------
Но только лошади летают вдохновенно.
Иначе лошади разбились бы мгновенно!
PM MAIL   Вверх
gesper
Дата 25.1.2013, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


"Shарфик"
*


Профиль
Группа: Участник
Сообщений: 183
Регистрация: 23.2.2005

Репутация: 1
Всего: 2



Либо перебор, либо вместо Мемо использовать что то, где скрыто будет еще указатель на адрес памяти записан.
--------------------
...И приколется обломившийся и oбломится приколовшийся...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0671 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.