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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список списков, Не срабатывает список, содержащий список 
V
    Опции темы
Aehn
Дата 10.9.2008, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Конструируется список, в который я пытаюсь поместить другой список - список строк:
Код

ListBox1.Items.Objects[index]):=TStringList.Create;
TStringList(ListBox1.Items.Objects[index]).Add(nameA)


При нажатии на другую кнопку я пытюсь вывысти от определенного элемента созданного списка его список строк в другоц ListBox2:
Код

        for i:=0 to {TBt.aliases.Count-1}K do begin
        s:=TStringList(ListBox1.Items.Objects[index]).Names[i];
        ListBox2.AddItem(s,nil);

Но не получается, потому что переменная s содержит N количество пустых строк. Причем N равно количеству созданных строк в первой процедуре
PM MAIL   Вверх
pseud
Дата 10.9.2008, 18:10 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Экспёрт Тыдыщ
***


Профиль
Группа: Завсегдатай
Сообщений: 1175
Регистрация: 18.5.2007
Где: Минск, Беларусь

Репутация: 10
Всего: 40



а так?
Код

s := TStringList(ListBox1.Items.Objects[index]).Strings[i];


Добавлено через 4 минуты и 27 секунд
не забывай убирать мусор!
вот пример:
  на форме:
  - 2 кнопки;
  - ListBox с 3 строками "1", "2", "3"
Код

procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  j: Integer;
begin
  for i := 0 to ListBox1.Count - 1 do
  begin
    ListBox1.Items.Objects[i] := TStringList.Create;
    for j := 1 to 3 do
      TStringList(ListBox1.Items.Objects[i]).Add(ListBox1.Items[i] + IntToStr(j));
  end;
  Button1.Enabled := False;
  Button2.Enabled := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  i: Integer;
  j: Integer;
  sList: TStringList;
  s: string;
begin
  s := '';
  for i := 0 to ListBox1.Count - 1 do
  begin
    sList := TStringList(ListBox1.Items.Objects[i]);
    if sList <> nil then
    begin
      s := s + 'строка ' + IntToStr(i + 1) + ' = ';
      for j := 0 to sList.Count - 1 do
        s := s + sList.Strings[j] + ' ';
      s := s + #13#10;
    end;
  end;
  ShowMessage(s);
end;

procedure TForm1.FormDestroy(Sender: TObject);
var
  i: Integer;
  obj: TObject;
begin
  // не забываем убрать мусор
  try
    for i := 0 to ListBox1.Count - 1 do
    begin
      obj := ListBox1.Items.Objects[i];
      if obj <> nil then
      begin
        obj.Free;
        ListBox1.Items.Objects[i] := nil;
      end;
    end;
  except
  end;
end;




--------------------
Испытание чужого терпения можно считать успешным, если оно лопнуло...
PM MAIL   Вверх
Aehn
Дата 11.9.2008, 08:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Этого даже достаточно!
Код

s := TStringList(ListBox1.Items.Objects[index]).Strings[i];

И чего меня толкнуло использовать name вместо string?
Это же очевидно!
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.0916 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


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

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