Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.07;
Скачать: CL | DM;

Вниз

Помогите разобраться с указателем на массив...   Найти похожие ветки 

 
любитель   (2003-03-26 09:29) [0]

Пытаюсь получить доступ к массиву через указатель:
var
A:array [1..10] of real;
p:^real;
i:integer;
...
p:=@A;
...
for i:=1 to 10 do
Form1.Canvas.TextOut(10,10+i,FloatToStr((p+i)^));

Компилятор пишет ошибку в последней строке:
Operator not applicable to this operand type

Вопрос простой, на разобраться не могу.
Спасибо заранее!


 
Smithson ©   (2003-03-26 09:47) [1]

p+i здесь нельзя, это не си. В DOS версии можно было делать Inc(P), в Win32 это тоже стремно.
Опиши P как ^array of real


 
Юрий Зотов ©   (2003-03-26 09:57) [2]

А почему в Win32 стремно?

p:=@A;
for i:=1 to 10 do
begin
with Canvas do TextOut(10, Font.Height * i, FloatToStr(p^));
Inc(p)
end;

Только зачем такие извраты? FloatToStr(A[i]) не годится?


 
MBo ©   (2003-03-26 10:01) [3]

здесь можно просто
Canvas.TextOut(10,10+i,FloatToStr(a[i]));
Если почему-то есть желание работать с указателями извращенным образом:
PReal(Integer(p)+(i-1)*sizeOf(real))^

или на каждом шаге Inc(p) - будет смещаться на размер базового типа и Canvas.TextOut(10,10+i,FloatToStr(p^));


 
любитель   (2003-03-26 10:19) [4]

Всем спасибо!!!


 
Smithson ©   (2003-03-26 10:41) [5]

Ну тормоз я, тормоз... :-))



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
1-19687
mod
2003-03-25 09:35
2003.04.07
Мемо - поле


7-19887
BJValentine
2003-02-12 17:58
2003.04.07
Вопрос по DLL


3-19502
yuniki
2003-03-19 12:51
2003.04.07
Как конвертировать таблицу из одной кодировки в другую


14-19872
Lex(unreg)
2003-03-21 20:44
2003.04.07
Как грузить Jpeg в Image???


1-19605
pavel_k
2003-03-28 19:11
2003.04.07
Цвет пикселя на состовляющие