Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.11;
Скачать: 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 вся ветка

Текущий архив: 2002.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
6-32918
Лёша
2002-01-27 03:05
2002.04.11
Как изменить настройки у TWebBrowser?


4-33002
Demn
2002-02-07 12:16
2002.04.11
Process ID


3-32633
KaPaT
2002-03-18 20:40
2002.04.11
Помогите с легким вопросом!


3-32683
Stratos
2002-03-21 09:27
2002.04.11
Interbase: явная транзакция


3-32635
Dimonka
2002-03-19 12:40
2002.04.11
Вопрос по EhLib