Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список TListView для очереди закачки 
V
    Опции темы
Alca
Дата 27.10.2009, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Как организовать список TListView для очереди закачки?

На главной форме лежит TListView с очередью ссылок.
Создаю объект TThread, через конструктор передаю индекс строки списка, 
с которой буду работать (т.е. по индексу могу вычислить урл, по которому буду качать). 
Далее из потока вывожу информацию о закачке в строку с соотв. индексом. 

В то время пока качается файл, возможны добавления, удаления, перемещения строк в TListView.
Как мне рационально синхронизировать данные в потоке и с данными в списке,
чтобы при изменении в TListView информация из потока выводилась в нужную строку списка?

Добавлено через 8 минут и 29 секунд
Если надо код, то могу выложить.


--------------------
PM WWW ICQ Skype Jabber   Вверх
Anikmar
Дата 27.10.2009, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цепляться не к индексу, а к полю Object или Tag (если оно там есть, не помню).

PM MAIL ICQ   Вверх
Alca
Дата 27.10.2009, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



за Tag айтема?

Добавлено через 1 минуту и 50 секунд
У айтема нет Tag-а


--------------------
PM WWW ICQ Skype Jabber   Вверх
Anikmar
Дата 27.10.2009, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Alca @  27.10.2009,  19:09 Найти цитируемый пост)
У айтема нет Tag-а 

Значит за Object
PM MAIL ICQ   Вверх
Alca
Дата 27.10.2009, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

Значит за Object

тож нет

Добавлено через 3 минуты и 49 секунд
Цитата

Цепляться не к индексу, а к полю Object или Tag

А как потом искать айтемы по тэгу? Циклить что-ли?


--------------------
PM WWW ICQ Skype Jabber   Вверх
Anikmar
Дата 27.10.2009, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(Alca @  27.10.2009,  19:13 Найти цитируемый пост)
А как потом искать айтемы по тэгу? Циклить что-ли? 

Ну да... А что их там десятки тысяч?

Добавлено через 4 минуты и 55 секунд
Цитата(Alca @  27.10.2009,  19:13 Найти цитируемый пост)
Цитата
Значит за Object
тож нет


Сейчас посмотрел - там это поле наывается Data.

Интересно, почему они в части компонентов Object делали, а в части Data. Видимо был глубокий смысл, которого я не понял...

PM MAIL ICQ   Вверх
Alca
Дата 27.10.2009, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

А что их там десятки тысяч?

Порядка 100.

Добавлено через 4 минуты и 31 секунду
И обновляются 3-4 записи в секунду


--------------------
PM WWW ICQ Skype Jabber   Вверх
Alca
Дата 27.10.2009, 22:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Попробую скрестить это:
Код

class PASCALIMPLEMENTATION TListItem : public Classes::TPersistent
{ 
    //...
    __property void * Data = {read=FData, write=SetData};
    //...
    TListItem* __fastcall FindData(int StartIndex, void * Value, bool Inclusive, bool Wrap);
    //...
}


Это сообщение отредактировал(а) Alca - 27.10.2009, 22:28


--------------------
PM WWW ICQ Skype Jabber   Вверх
Anikmar
Дата 27.10.2009, 22:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Может адрес итема держать где-то в своем объекте и не по индексу к нему доступаться, а по адресу? Или адреса итемов меняются при перестроении списка?
PM MAIL ICQ   Вверх
Alca
Дата 27.10.2009, 22:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата

Или адреса итемов меняются при перестроении списка?

Похоже, что да. Я так пробывал.


--------------------
PM WWW ICQ Skype Jabber   Вверх
Alca
Дата 28.10.2009, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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





--------------------
PM WWW ICQ Skype Jabber   Вверх
Alca
Дата 28.10.2009, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Решил проблему с помощью:
Код

class PASCALIMPLEMENTATION TListItem : public Classes::TPersistent
{ 
    //...
    __property void * Data = {read=FData, write=SetData};
    //...
    TListItem* __fastcall FindData(int StartIndex, void * Value, bool Inclusive, bool Wrap);
    //...
}

Anikmar, спасибо за идею.


--------------------
PM WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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