Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.10;
Скачать: CL | DM;

Вниз

Господа, уже полтора часа мучаюсь, не могу понять   Найти похожие ветки 

 
Smok_er   (2002-05-31 15:36) [0]

Исходный код:

type TUserAg = class
Name: String;
Hits: Integer;
end;

....
if Log.UserAgentsList.IndexOf(LowerCase(RE.Match[13]))=-1 then
begin
UserAg.Hits:=1;
UserAg.Name:= RE.Match[13];
Log.UserAgentsList.AddObject(RE.Match[13],UserAg);
end
else
Inc(TUserAg(Log.UserAgentsList.Objects[Log.UserAgentsList.IndexOf(RE.Match[13])]).Hits);
....

for i:= 0 to Log.UserAgentsList.Count-1 do
begin
ListItem := frMain.lvReports.Items.Add;
ListItem.Caption := TUserAg(Log.UserAgentsList.Objects[i]).Name;
ListItem.SubItems.Add(IntToStr(TUserAg(Log.UserAgentsList.Objects[i]).Hits));
end;
....

Я в стринг лист вставляю объкт. Вставляется все нормально. Но когда дело касается вывода элементов в цикле, то выводится только самый последний.
Причем если сделать так:

for i:= 0 to Log.UserAgentsList.Count-1 do
begin
ListItem := frMain.lvReports.Items.Add;
ListItem.Caption := Log.UserAgentsList.Strings[i]; ListItem.SubItems.Add(IntToStr(TUserAg(Log.UserAgentsList.Objects[i]).Hits));
end;


то названия все-таки выводятся...

Понимаю, что возможно что-то напутал с классами, но сам не могу разобраться.
Может кто-то знаком с похожей ситуацией?


 
Игорь Шевченко ©   (2002-05-31 15:47) [1]

А как они выводятся в цикле можно посмотреть ?


 
NailS ©   (2002-05-31 15:47) [2]

А ты создаешь вообще объекты?
Может просто у тебя один объект у которого постоянно меняется имя и хиты?


 
MBo ©   (2002-05-31 15:47) [3]

не видно, где ты создаешь UserAg - и похоже, добавляешь единственный экземпляр объекта везде


 
Smok_er   (2002-05-31 15:59) [4]

Блин, ну я и болбес (извиняюсь за самокритику).
Да, как только написал

if Log.UserAgentsList.IndexOf(LowerCase(RE.Match[13]))=-1 then
begin
UserAg:= TUserAg.Create;
UserAg.Hits:=1;
UserAg.Name:= RE.Match[13];
Log.UserAgentsList.AddObject(RE.Match[13],UserAg);
end


то сразу все встало на свои места!
Кстати, а как потом все удалить из памяти?

Я хочу извиниться перед всеми, кто отвечал на мои вопросы. Я тут уже всех достал со своей дипломной, но надеюсь на понимание... Время идет, а дело продвигается не очень быстро! Но если бы не было этой конфы, то все вообще бы остановилось.
Еще раз всем огромное спасибо! Вы все мне ОЧЕНЬ сильно помогли!


 
MBo ©   (2002-05-31 16:03) [5]

удалить
for i:=...
Log.UserAgentsList.Objects[i]).Free;


 
Smok_er   (2002-05-31 16:09) [6]

спасибо!
А может кто-то знает, как отсортировать этот стринглист, к примеру по Hits?


 
Song ©   (2002-05-31 16:12) [7]

TStringList.CustomSort()


 
Kozhanov ©   (2002-05-31 16:13) [8]

>Smok_er
посмотри CustomSort



Страницы: 1 вся ветка

Текущий архив: 2002.06.10;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
14-30975
mimino
2002-05-06 21:13
2002.06.10
прошу простой помощи


1-30750
First_May
2002-05-30 14:11
2002.06.10
TSplitter


4-31035
mixVictor
2002-04-05 23:49
2002.06.10
Установка курсора


1-30852
XPatriot
2002-05-29 13:57
2002.06.10
Переменные


1-30767
EyeDiver
2002-05-30 17:13
2002.06.10
Создание компонентов в Runtime