Главная страница
    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.007 c
6-30937
Kuzmich
2002-03-28 16:01
2002.06.10
Как работать с БД из Веб-сервиса?


1-30795
Грифон
2002-05-28 19:00
2002.06.10
компонента для рисования 3-х мерных графиков


1-30805
Dummi
2002-05-31 08:45
2002.06.10
Преобразование типов


6-30958
Gloomy
2002-03-28 15:04
2002.06.10
Коллеги, не откажите в помощи… pls!!!


1-30892
daimon_rom
2002-05-30 04:50
2002.06.10
Как целиком распечатать StringGrid ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский