Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.04.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
любитель   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.007 c
6-19745
bubus
2003-02-12 18:52
2003.04.07
ISQ


14-19870
SiJack
2003-03-21 16:11
2003.04.07
Люди нужен ли Java


3-19466
yurikon03
2003-03-19 10:31
2003.04.07
Перенос Базы


14-19753
i4Me
2003-03-20 19:14
2003.04.07
Микрофон2Stream


9-19405
RAVEN
2002-11-04 10:41
2003.04.07
Экспорт из 3DSMax 5.0 в Delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский