Форум: "Начинающим";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];
ВнизВопрос по ООП Найти похожие ветки
← →
Igit (2008-02-07 22:34) [0]Здравствуйте. Написал объект, аналог TList только для моей структуры.
есть структура
{
Содержание книги
}
THTMLContentItem = record
link: string;
name: string;
end;
PHTMLContentItem = ^THTMLContentItem;
объект, для работы с содержанием.THTMLContentList = class
private
FList: TList; // хранилище данных
protected
function GetItems(Idx: integer): THTMLContentItem;
procedure SetItems(Idx: integer; const value: THTMLContentItem);
public
constructor Create;
destructor Destroy; override;
function Add(Item: THTMLContentItem): Integer;
procedure Delete(Idx: Integer);
function Count: integer;
procedure Exchange(idx1, idx2: integer);
property Items[idx: integer]: THTMLContentItem read GetItems write SetItems; default;
end;
все прекрасно работает. Вот цикл в котором заполняется этот объект из ListView:
var CL: THTMLContentList;
i: Integer;
item: THTMLContentItem;
begin
CL := THTMLContentList.Create;
for i := 0 to ListView1.Items.Count - 1 do
begin
item.name := ListView1.Items.Item[i].Caption;
item.link := ListView1.Items.Item[i].SubItems.Strings[0];
CL.Add(item);
end;
ShowMessage(CL.Items[2].name);
CL.Free;
end;
Все работает. Теперь сам вопрос:
как нужно сделать, чтобы была допустипа запись
CL.Items[2].name := "Глава1";
А то компилятор выдает ошибку
[DCC Error] uProject.pas(382): E2064 Left side cannot be assigned to
С Уважением.
← →
Anatoly Podgoretsky © (2008-02-07 22:39) [1]> Igit (07.02.2008 22:34:00) [0]
Надо создать индексное свойство ItemName и если необходимо, то и ItemLink
← →
ketmar © (2008-02-08 05:17) [2]>[0] Igit (2008-02-07 22:34:00)
логично. property не является полноценным left value. извращаться можно, но лучше см. [1]
---
Understanding is not required. Only obedience.
← →
Виктор007 © (2008-02-08 11:26) [3]Понятно. Спасибо. Сейчас именно так и сделаю.
А можно подробнее про "извращаться"? Дело в том что с классами разбираюсь самостоятельно, и выходит очень медленно. Поэтому меня интересуют всякие приемы, которые помогут больше понять о возможностях ООП подхода.
← →
ketmar © (2008-02-08 11:45) [4]>[3] Виктор007 (2008-02-08 11:26:00)
именно потому и не дам, что извращение. начинающему оно не надо напрочь, только мозг забьёт ненужной информацией. а когда станешь «продолжающим» — сам сможешь. %-)
---
Understanding is not required. Only obedience.
← →
newbie2 (2008-02-08 15:42) [5]
> Виктор007
посмотри TStringList, ты практически его по новой пишешь
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.02;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.044 c