Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.006 c
3-30736
Dorosh
2002-05-17 11:33
2002.06.10
RxMemoryData.Filter


14-30966
Doom
2002-05-05 09:06
2002.06.10
Христос Воскрес


7-31018
Сергей Е
2002-03-16 20:17
2002.06.10
Прием массива через LPT


1-30782
allrussia
2002-05-30 04:37
2002.06.10
DiskSize, DiskFree - Integer не позволяет


4-31042
anaxemon
2002-04-08 08:21
2002.06.10
консольный режим





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский