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

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

Указатели [D5]


Random ©   (2002-03-30 18:30:00) 

Учусь работать с указателями. Пожалуйста, подскажите, как создать переменную, которая, в зависимости от обстоятельств указывала бы на запись или массив. Как ее описать, и к ней обращаться(считывать и записывать)
Большое спасибо.


Random   (2002-03-30 19:57:00) [1]

спасибо :)


Anatoly Podgoretsky   (2002-03-30 19:54:00) [2]

Нельзя нужно явное приведение, вот если бы не Left:=Data[i].Left, а x := Data[i].Left то можно, но это будет еще большее извращение, может функцией оформишь или еще лучше вообще подход изменишь, явно что то не в порядке в консерватории.


Random   (2002-03-30 19:41:00) [3]

А нельзя строчку Left:=Data[i].Left; оставить без изменений, а в if/case менять свойства data? Если да, то как?


Дима2   (2002-03-30 19:30:00) [4]

Или if или case. Полностью с вами согласен.


Anatoly Podgoretsky   (2002-03-30 19:26:00) [5]

Странного хочешь, но

case что то of
0: TA(Data[i].Left);
1: TB(Data[i].Left);


Random   (2002-03-30 19:03:00) [6]

Что-то очень сложно :)
Объясните, если не трудно на моем примере:
у меня есть массив A:array of TControl и массив B:Array of Record(left,top:integer;end;)
и выражение Left:=Data[i].Left;
Мне нужно, чтобы в одном случае data указывала на массив A, а в другом на B.
Спасибо.


MBo   (2002-03-30 18:34:00) [7]

type rec=record
a,b:integer;
end;
prec=^rec;
var p:pointer;

p:=...
prec(p)^.a:=3;


Наверх

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