Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

свойство objects у компанентов

347
23 марта 2008 года
Maniak
319 / / 05.11.2005
Народ подскажите как записать какиенибудь данные в свойство objects, а патом извлечь их...
например в ListBox1.items.objects - как записать туду переменную например типа string, а патом извлечь ее оттуда...
1.8K
24 марта 2008 года
rSolanov
106 / / 04.05.2005
Цитата: Maniak
Народ подскажите как записать какиенибудь данные в свойство objects, а патом извлечь их...
например в ListBox1.items.objects - как записать туду переменную например типа string, а патом извлечь ее оттуда...


В хэлпе IDE Delphi сказано, что objects-это указатель на объект класса TObject. Поэтому данными для добавления в этот контейнер могут быть только указатели на объекты класса TObject и его потомков.
Вот copy-paste из хэлпа:

Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  I: Integer;
  ListItem: TListItem;
  NewColumn: TListColumn;
begin
  // Create a ListView item for each image in the ImageList
  with ListView1 do
  begin
    SmallImages := ImageList1;
    LargeImages := ImageList1;
    for I := 0 to ImageList1.Count - 1 do
    begin
      ListItem := Items.Add;
      Listitem.Caption := 'Image' + IntToStr(I);

      ListItem.ImageIndex := I;
    end;
    // Create two columns to show during viewing as vsReport
    NewColumn := Columns.Add;
    NewColumn.Caption := 'Column 1';
    NewColumn := Columns.Add;
    NewColumn.Caption := 'Column 2';
    // Add View styles and constants to the Combo Box
    ComboBox1.Items.AddObject('vsIcon', TObject(vsIcon));
    ComboBox1.Items.AddObject('vsList', TObject(vsList));
    ComboBox1.Items.AddObject('vsReport', TObject(vsReport));

    ComboBox1.Items.AddObject('vsSmallIcon', TObject(vsSmallIcon));
    // Display first item in the Combo Box
    ComboBox1.ItemIndex := 0;
  end;
end;

procedure TForm1.ComboBox1Click(Sender: TObject);
begin
  with ComboBox1 do
    ListView1.ViewStyle := TViewStyle(Items.Objects[ItemIndex]);
end;

286
24 марта 2008 года
misha_turist
572 / / 28.11.2005
Цитата: rSolanov
В хэлпе IDE Delphi сказано, что objects-это указатель на объект класса TObject. Поэтому данными для добавления в этот контейнер могут быть только указатели на объекты класса TObject и его потомков.


Не только - можно использовать как просто указатель, а можно и как Integer, word и другое длиной 16 бит. "Integer(Items.Objects[ItemIndex])".

347
26 марта 2008 года
Maniak
319 / / 05.11.2005
что то я нифига не понял... там стринг хранить можна?
может есть пример попанятнее?
286
26 марта 2008 года
misha_turist
572 / / 28.11.2005
Цитата: Maniak
что то я нифига не понял... там стринг хранить можна?
может есть пример попанятнее?


понимаешь, TObject - это у казатель на объек, УКАЗАТЕЛЬ, то есть по сути переменная типа pointer, и как следсттвие она может и просто на данные указывать и как integer, word использоваться, вот и всё.

токо, не забывай быделенную тобой память под даннае перед Delete-м эллемента освобождать.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог