Главная страница
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.017 c
7-31017
lexxvlad
2002-03-15 06:17
2002.06.10
Прочитать данные из com порта


14-30995
Сатир
2002-05-07 21:38
2002.06.10
WinSocket


1-30839
MasterA
2002-05-29 10:29
2002.06.10
Кодировки


1-30749
[BAD]Angel
2002-05-23 16:09
2002.06.10
Помогите с TryIcon!


7-31031
Fredericco
2002-03-15 18:40
2002.06.10
Как работать с CreateFile() и др. я вроде бы разобрался. Но как проверить?