Вниз
Скачать: CL | DM;

Указатели   Найти похожие ветки 

← →
Random   (2002-03-30 18:30) [0]

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


← →
MBo ©   (2002-03-30 18:34) [1]

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

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


← →
Random   (2002-03-30 19:03) [2]

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


← →
Anatoly Podgoretsky ©   (2002-03-30 19:26) [3]

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

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


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

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


← →
Random   (2002-03-30 19:41) [5]

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


← →
Anatoly Podgoretsky ©   (2002-03-30 19:54) [6]

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


← →
Random   (2002-03-30 19:57) [7]

спасибо :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-32783
BofA
2002-03-31 14:10
2002.04.11
Как влезть в контекстное меню Explorer a


6-32931
bg8
2002-01-23 18:38
2002.04.11
TCustomWinSocket


1-32867
Вик_тор
2002-03-29 12:42
2002.04.11
Мастера, есть такая задача, список повторяющихся фамилий,


3-32637
AndrewK
2002-03-19 12:54
2002.04.11
Работа с ADO


1-32751
Vlad011
2002-03-30 16:20
2002.04.11
Classes и Tfilestream




   Наверх