|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
26.04.2009, 15:36 | #1 |
Форумчанин
Регистрация: 12.10.2008
Сообщений: 131
|
AddObject
Здравствуйте.
Помогите исправить ошибку. Ошибка показана ниже в тексте. В TStringList я помещаю строку и в качестве объекта тоже строку. Не получается извлечь строку, которая была помещена в качестве объекта. procedure TForm1.FormCreate(Sender: TObject); var t: TStringList; begin t := TStringList.Create; StringGrid1.Cells[0,0] := 'Предметы'; StringGrid1.Cells[1,0] := 'Баллы'; t.AddObject('Физика', TObject('5')); t.AddObject('Алегбра', TObject('3')); t.AddObject('Химия', TObject('4')); t.Sort; StringGrid1.Cells[0,1] := t.Strings[0]; StringGrid1.Cells[1,1] := String(t.Objects[0]); //ошибка, что делать end; |
26.04.2009, 15:48 | #2 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
А здесь не надо помещать строку, баллы - это числа.
Поэтому проблему (в вашем случае) можно решить очень просто: t.AddObject('Физика', TObject(5)); StringGrid1.Cells[1,1] := IntToStr(Integer(t.Objects[0])); |
26.04.2009, 20:06 | #3 |
Форумчанин
Регистрация: 12.10.2008
Сообщений: 131
|
За ответ больше спасибо. Как то про это не подумал. Но все таки возможно ли при помощи AddObject поместить в TStringList строку, а затем ее извлечь.
|
29.04.2009, 17:38 | #4 |
Форумчанин
Регистрация: 04.04.2009
Сообщений: 438
|
Да, можно. Только необходимо помнить, что t.Objects - это список (коллекция) ссылок, не более того. В случае Integer Delphi умеет конвертировать Integer в Pointer (и наоборот), поэтому предыдущий пример с баллами типа Integer работает.
Если нужна строка, то наиболее корректное решение, создать примитивный объект, который содержит только строку и им оперировать. Код:
Последний раз редактировалось Скандербег; 29.04.2009 в 19:15. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как прочитать данные, добавленные в Combobox методом AddObject | SNUPY | Общие вопросы Delphi | 2 | 19.03.2009 20:58 |