Вниз
Скачать: 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.009 c
1-32877
XAU
2002-03-28 18:01
2002.04.11
тип Variant


3-32651
Brand
2002-03-19 16:33
2002.04.11
Работа с БД из DLL


1-32828
LiNkS
2002-03-28 18:39
2002.04.11
GIF в Delphi


1-32864
kat
2002-03-28 17:23
2002.04.11
Размер шрифта


1-32799
Crime134
2002-03-31 22:21
2002.04.11
Строки




   Наверх