Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Pointer + Integer


Страницы:   1 2

Максим В. ©   (2008-07-04 10:35:00) 

Совсем забыл Delphi. У меня есть ListView, в который надо добавить запись и данные (Data):

with ListView1.Items.Add do
begin
 Caption := '...'
 ...
 Data := число
end;


Я хочу в Data занести число (Integer) и потом его в нужный момент из нужного Item'a считать.

Как это сделать?


McSimm   (2008-07-04 13:30:00) [21]

я просто никак проверить не могу


McSimm   (2008-07-04 13:30:00) [22]


> Leonid Troyanovsky ©   (04.07.08 13:27) [13]
>  with ListBox1 do
>    begin
>      AddItem('xxx', TObject(-1));
>      Caption := Format('%p', [Items.Objects[Count-1]]);
>    end;


И это не выводит ошибку Out of bounds ?

Раньше выводило


Поросенок Винни-Пух   (2008-07-04 13:28:00) [23]

не надо в меня тыкать обджекстами.
эт оффтоп.


Leonid Troyanovsky   (2008-07-04 13:27:00) [24]


> Поросенок Винни-Пух ©   (04.07.08 13:22) [11]

> ну или на худой конец


 with ListBox1 do
   begin
     AddItem('xxx', TObject(-1));
     Caption := Format('%p', [Items.Objects[Count-1]]);
   end;

--
Regards, LVT.


McSimm   (2008-07-04 13:26:00) [25]

а ноль ?
:)


Поросенок Винни-Пух   (2008-07-04 13:22:00) [26]

ну или на худой конец

if not Assigned(p) then
-1
else
Integer(p)


McSimm   (2008-07-04 13:20:00) [27]

Это понятно.

Была проблема, помнится, при попытках хранить так Integer с приведением типа в Items.Object.


Поросенок Винни-Пух   (2008-07-04 13:14:00) [28]

procedure TForm1.Button1Click(Sender: TObject);
var p : Pointer;
begin
p := Pointer(-1);
ShowMessage(IntToStr(Integer(p)));
end;


McSimm   (2008-07-04 13:13:00) [29]

Подзабыл видать.
Спутал с Combo/ListBox


Поросенок Винни-Пух   (2008-07-04 13:09:00) [30]

Пробовал. Храню с удовольствием.


McSimm   (2008-07-04 13:05:00) [31]


> зачем же так жоско?
> Data := Pointer(213);


Попробуйте так значение -1 хранить


DrPass   (2008-07-04 10:44:00) [32]


> Ega23 ©   (04.07.08 10:42) [4]
>
> > зачем же так жоско?
>
>
> Чтобы знал, что на любую структуру можно указатель забить,
>  не только на Integer

Ага, а потом он так и будет делать для любой структуры, в том числе и для Integer, и при этом еще и память освобождать не будет :)


Ega23   (2008-07-04 10:42:00) [33]


> зачем же так жоско?


Чтобы знал, что на любую структуру можно указатель забить, не только на Integer


Поросенок Винни-Пух   (2008-07-04 10:41:00) [34]

зачем же так жоско?

Data := Pointer(213);


Поросенок Винни-Пух   (2008-07-04 10:39:00) [35]

ой ой ой .....


Ega23   (2008-07-04 10:38:00) [36]

var
 p : PInteger;
begin
 New(p);
 p^:=213;
 .....Data := p;
end;


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо